Example on establishing data connection by AT!SCACT via MBPL R20 driver

Here is an example to establish data connection by AT!SCACT via MBPL R20 driver:
Module: WP7609
FW: R13
MBPL: R20
PC Environment: Ubuntu 18

  1. need to install the MBPL R20 driver for qmi_wwan and qcserial (MBPL_Drivers_USB_R20_ENG1-src.tar.gz)

  2. avoid the Ubuntu changing the network name:
    ln -s /dev/null /etc/systemd/network/99-default.link

  3. sudo apt-get install libqmi-utils

  4. sudo apt-get install udhcpc

  5. now insert the USB to PC

sudo chmod 777 /sys/class/net/wwan0/qmi/raw_ip
sudo echo Y > /sys/class/net/wwan0/qmi/raw_ip

  1. sudo qmicli --device=/dev/cdc-wdm0 --wds-noop --client-no-release-cid

  2. AT!SCACT=1,1 returns OK

  3. sudo udhcpc -i wwan0
    ( do not use “dhclient wwan0”, it is not working)

I have also made a document to summarize how to establish data connection by connection manager in MBPL R20 SDK.

Example on establishing data connection by MBPL R20.docx (165.1 KB)

If anyone is interested in the background - here’s a PoC patch for dhclient I wrote a few years ago: https://mail.gnome.org/archives/networkmanager-list/2015-December/msg00044.html

jyijyi, How do you handle the carrier disconnecting you after 24 hours? The SCACT works for 24 hours using Sprint but then they disconnect us. My code has to send another SCACT before the 24 hour period.

You can monitor the unsolicited message +CGREG
when disconnect network, send at!scact again

If you are using sample application connection manager, you should receive a disconnect callback function, you can then restart the data connection there.

i can see your eth2 is having the same IP address (10.112.74.239) as the MC7455 module

1 Like

RC7630 couldn’t get IP address under embedded LINUX.

Please check if my udhcpd setting is correct.

  • Test condition

    embedded linux
    kernel : 5.10.168
    model : RC7630

======================================================

root@NVTEVM:~/BSP_Driver$ microcom -s 115200 -d 10 /dev/ttyUSB2
AT+CGDCONT=1,“IP”,“cmhk”
OK

+CREG: 0

+CGREG: 0

+CEREG: 0

+CREG: 2

+CGREG: 2

+CEREG: 2

+CREG: 5,“FFFE”,“140327”,7

+CGREG: 5,“FFFE”,“140327”,7

+CEREG: 5,“1904”,“140327”,7
AT+CGACT=1,1
OK

+CREG: 5,“FFFE”,“140333”,7

+CGREG: 5,“FFFE”,“140333”,7

+CEREG: 5,“1904”,“140333”,7
AT+CGPADDR=1
+CGPADDR: 1,10.112.95.59

OK

+CREG: 5,“FFFE”,“140327”,7

+CGREG: 5,“FFFE”,“140327”,7

+CEREG: 5,“1904”,“140327”,7
login[720]: root login on ‘pts/1’

root@NVTEVM:~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr FA:8A:9C:C7:0F:B5
inet addr:192.168.171.141 Bcast:192.168.171.255 Mask:255.255.255.0
inet6 addr: fe80::f88a:9cff:fec7:fb5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6268171 errors:0 dropped:235210 overruns:0 frame:0
TX packets:2878 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:611324336 (583.0 MiB) TX bytes:267069 (260.8 KiB)
Interrupt:27

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

teql0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wwan0 Link encap:Ethernet HWaddr EA:0C:92:19:6E:B4
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@NVTEVM:~$ ifconfig
eth0 Link encap:Ethernet HWaddr FA:8A:9C:C7:0F:B5
inet addr:192.168.171.141 Bcast:192.168.171.255 Mask:255.255.255.0
inet6 addr: fe80::f88a:9cff:fec7:fb5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6275326 errors:0 dropped:235425 overruns:0 frame:0
TX packets:2899 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:612081484 (583.7 MiB) TX bytes:270385 (264.0 KiB)
Interrupt:27

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@NVTEVM:~$ udhcpd -I wwan0
root@NVTEVM:~$ ifconfig
eth0 Link encap:Ethernet HWaddr FA:8A:9C:C7:0F:B5
inet addr:192.168.171.141 Bcast:192.168.171.255 Mask:255.255.255.0
inet6 addr: fe80::f88a:9cff:fec7:fb5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6281335 errors:0 dropped:235625 overruns:0 frame:0
TX packets:2953 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:612698013 (584.3 MiB) TX bytes:275063 (268.6 KiB)
Interrupt:27

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

I don’t see you typing AT!SCACT by following the instruction above:

BTW, did you install the MBPL USB driver “MBPL_DRIVERS_R40_ENG3-usb-pcie-src.tar”?
https://source.sierrawireless.com/resources/airprime/software/mbpl/mbpl-software-latest/#sthash.ZXRwiiKx.dpbs

Lastly, from the instruction above, we should use “udhcpc” instead of “udhcpd”.

yes, i install driver of MBPL_DRIVERS_R40_ENG3-usb-pcie-src.tar

i will try!

thank you