EC25-AF + Raspberri Pi + Bell Canada Network -- Getting priviate IP

Hi,

We are trying to build an IoT solution that uses mobile internet on Rapberri Pi using Quectel EC25-AF USB modems. With Bell SIM inserted, the modem is able to correctly get mobile internet when connected on a Windows laptop. However, on Raspberri Pi, the modem is getting a priviate IP address of 169.254.170.74. The driver for EC25 is built into Rasbian OS so what could be the issue?

Here is some information from the system:

$ ifconfig wwan0
wwan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.170.74 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::5586:6c85:cb59:ffa1 prefixlen 64 scopeid 0x20
ether f2:ac:dd:ad:9f:48 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 130 bytes 21636 (21.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

$ mmcli -m 0

General | dbus path: /org/freedesktop/ModemManager1/Modem/0
| device id: 13035a72ddca43cf9f3e21e58f33220ad457490c

Hardware | manufacturer: QUALCOMM INCORPORATED
| model: QUECTEL Mobile Broadband Module
| revision: EC25AFFDR07A09M4G
| h/w revision: 10000
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 864839041998085

System | device: /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3
| drivers: option1, qmi_wwan
| plugin: Quectel
| primary port: cdc-wdm0
| ports: ttyUSB0 (qcdm), ttyUSB2 (at), cdc-wdm0 (qmi), wwan0 (net),
| ttyUSB3 (at)

Numbers | own: 16473209130

Status | lock: sim-pin2
| unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)
| state: disabled
| power state: on
| signal quality: 0% (cached)

Modes | supported: allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 3g, 4g; preferred: 3g
| allowed: 3g, 4g; preferred: 4g
| current: allowed: 3g, 4g; preferred: 4g

Bands | supported: utran-4, utran-5, utran-2, eutran-2, eutran-4, eutran-5,
| eutran-12, eutran-13, eutran-14, eutran-66, eutran-71
| current: utran-4, utran-5, utran-2, eutran-2, eutran-4, eutran-5,
| eutran-12, eutran-13, eutran-14, eutran-66, eutran-71

IP | supported: ipv4, ipv6, ipv4v6

3GPP | imei: 864839041998085

3GPP EPS | ue mode of operation: csps-2

SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0

$ lsusb
Bus 001 Device 007: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 004: ID 0483:5750 STMicroelectronics
Bus 001 Device 005: ID 2009:7638
Bus 001 Device 006: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

EC25 on Windows laptop:

c:>ipconfig
Mobile Broadband adapter Cellular 4:

Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 10.192.142.34
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Default Gateway . . . . . . . . . : 10.192.142.33

Please suggest how can I get a working internet connection on Raspberri Pi? Help would be greatly appreciated.

Below is my example, please refer to it.
root@ubuntu:/mnt/hgfs# mmcli -m 0 -e
successfully enabled the modem
root@ubuntu:/mnt/hgfs# mmcli -m 0

General | dbus path: /org/freedesktop/ModemManager1/Modem/0
| device id: 9cb14927bc4ca3e9548c978fa3fef4950ef44aa6

Hardware | manufacturer: QUALCOMM INCORPORATED
| model: QUECTEL Mobile Broadband Module
| revision: EC25EFAR06A08M4G
| h/w revision: 10000
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 864430010001091

System | device: /sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1
| drivers: qmi_wwan, option1
| plugin: Quectel
| primary port: cdc-wdm0
| ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), wws35u1i4 (net),
| ttyUSB2 (at), ttyUSB3 (at)

Status | lock: sim-pin2
| unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
| state: registered
| power state: on
| access tech: lte
| signal quality: 42% (recent)

Modes | supported: allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 4g; preferred: 4g
| allowed: 2g, 4g; preferred: 2g
| allowed: 3g, 4g; preferred: 3g
| allowed: 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 2g
| current: allowed: 2g, 3g, 4g; preferred: 4g

Bands | supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,
| eutran-5, eutran-7, eutran-8, eutran-20, eutran-38, eutran-40,
| eutran-41
| current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,
| eutran-5, eutran-7, eutran-8, eutran-20, eutran-38, eutran-40,
| eutran-41

IP | supported: ipv4, ipv6, ipv4v6

3GPP | imei: 864430010001091
| operator id: 46000
| operator name: CMCC
| registration: home

3GPP EPS | ue mode of operation: csps-2

SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0

root@ubuntu:/mnt/hgfs# mmcli -b 0
error: couldn’t find bearer at ‘/org/freedesktop/ModemManager1/Bearer/0’: ‘not found in any modem’
root@ubuntu:/mnt/hgfs# cd …
root@ubuntu:/mnt# cd …
root@ubuntu:/# mmcli -m 0 --simple-connect=“apn=cmnet”
successfully connected the modem
root@ubuntu:/# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.190.139 netmask 255.255.255.0 broadcast 192.168.190.255
inet6 fe80::d:db43:10e6:a440 prefixlen 64 scopeid 0x20
ether 00:0c:29:7d:b0:f9 txqueuelen 1000 (Ethernet)
RX packets 1200 bytes 1279260 (1.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 636 bytes 69610 (69.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 288 bytes 24626 (24.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 288 bytes 24626 (24.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@ubuntu:/# mmcli -b 0

General | dbus path: /org/freedesktop/ModemManager1/Bearer/0
| type: default

Status | connected: yes
| suspended: no
| interface: wws35u1i4
| ip timeout: 20

Properties | apn: cmnet
| roaming: allowed

IPv4 configuration | method: static
| address: 10.241.136.45
| prefix: 30
| gateway: 10.241.136.46
| dns: 211.138.180.2, 211.138.180.3
| mtu: 1500

Statistics | duration: 329

root@ubuntu:/# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.190.139 netmask 255.255.255.0 broadcast 192.168.190.255
inet6 fe80::d:db43:10e6:a440 prefixlen 64 scopeid 0x20
ether 00:0c:29:7d:b0:f9 txqueuelen 1000 (Ethernet)
RX packets 1251 bytes 1285033 (1.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 695 bytes 74898 (74.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 321 bytes 27423 (27.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 321 bytes 27423 (27.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wws35u1i4: flags=4240<POINTOPOINT,NOARP,MULTICAST> mtu 1500
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@ubuntu:/# ifconfig wws35u1i4 10.241.136.45
root@ubuntu:/# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.190.139 netmask 255.255.255.0 broadcast 192.168.190.255
inet6 fe80::d:db43:10e6:a440 prefixlen 64 scopeid 0x20
ether 00:0c:29:7d:b0:f9 txqueuelen 1000 (Ethernet)
RX packets 1253 bytes 1285300 (1.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 697 bytes 75072 (75.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 333 bytes 28395 (28.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 333 bytes 28395 (28.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wws35u1i4: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.241.136.45 netmask 255.255.255.255 destination 10.241.136.45
inet6 fe80::b1a1:6bc:c482:2668 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1 bytes 48 (48.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@ubuntu:/# ping -I wws35u1i4 www.baidu.com
PING www.a.shifen.com (14.215.177.38) from 10.241.136.45 wws35u1i4: 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=49 time=255 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=49 time=68.8 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=49 time=84.8 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=49 time=64.7 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=5 ttl=49 time=80.7 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=6 ttl=49 time=106 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=7 ttl=49 time=77.2 ms