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)

RC7620 and Linux driver
Cannot build MBPL R21 from provided source
Cannot find the MBPL source code and doc
How to get the WP7607 device to work on Linux?
Ppp connection over nmcli
RC7620 cannot connect to the network
Slow for MC7455 to register in Windows 10 network upon dial-up
Problem connecting to LTE on from Ubuntu 20.04 in Canada on EM7455 module
Setting up EM9291 Module
EM9291 how to enable QMI mode?
Does FX30 support IP Passthrough or Bridge configurations?
Call failed error while connecting the cellular network
Em7455 AT!USBCUSTOM=1,1,0000400F (RNDIS)
RC7611 Performance Issue
[Raspberry Pi(Debian) x RC7630] Automatic Execution of AT Commands After RC7630 Boot-Up
How to setup EM7565 on linux - qmi?
How to install MBPL in fedora?
MC 7455 Raspberry Pi
FX30 Cat-M - no network service - legato and ppp connect OK
How to install MBPL in fedora?
Driver make error
EM7565 Ping hangs after 5-6 times
EM7565 Ping hangs after 5-6 times
EM9190: Data Connection without MBIM
MC7455 USB device disconnects immediately
Debian process has hundreds of processes
MC7430 doesn't reconnect after outage in MBIM mode
EM7565 trouble connecting wit AT SCACT: no internet connection, although attached to mobile network. NetworkManager/ModemManager works fine though?
EM7565 trouble connecting wit AT SCACT: no internet connection, although attached to mobile network. NetworkManager/ModemManager works fine though?
Rc7630 couldn't get IP address under ubunut Linux(RC7630)
MC7430: Unable to activate data connection after driver update
EM7421 on RedHat
Can't Connect to internet connection
EM9190: Data Connection without MBIM
RC7620 does not connect in QMI Mode
QMI interface unresponsive for first command
Why "QMI protocol error (14)"
MC7455 - Connection sequence to LTE network
MC7455 - Connection sequence to LTE network
Qmicli unable to communicate from raspberry pi to em7565 dev board via usb
Network not getting registered
Airprime EM7355 LTE module Debian Linux Support
Setting up data session using EM7565 through pcie Interface
Sierra MC7411 +CME ERROR: no network service
MC7455 doesn't get address with dhcp
MC7455 doesn't get address with dhcp

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_v2.docx (137.3 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