Loading qmi_wwan driver instead of cdc_ether driver

I have two identical boards with identical software running on them.

One board comes up fine i.e.
kenwave@kenwave:~$ ifconfig -a
wwan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.225.23 netmask 255.255.255.0 broadcast 192.168.225.255
root@kenwave:/etc# mmcli -m 0

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

Hardware | manufacturer: Quectel
| model: EC25
| firmware revision: EC25AFAR05A07M4G
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 860858060870748

System | device: /sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3
| drivers: option1, cdc_ether

But other board loads has issue with IP address
kenwave@kenwave:~$ ifconfig -a

wwan0: flags=128 mtu 1500
ether 16:3d:17:35:14:f8 txqueuelen 1000 (Ethernet)

kenwave@kenwave:~$ mmcli -m 0

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

Hardware | manufacturer: Quectel
| model: EC25
| firmware revision: EC25AFAR05A07M4G
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 860858060888435

System | device: /sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3
| drivers: option1, qmi_wwan_q

Am I missing any configuration on other board?

Here is info for workingone:
kenwave@kenwave:~$ ifconfig -a
wwan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.225.23 netmask 255.255.255.0 broadcast 192.168.225.255
inet6 fe80::7260:5deb:3513:b98a prefixlen 64 scopeid 0x20
ether 0e:bf:88:d1:93:ad txqueuelen 1000 (Ethernet)
RX packets 83 bytes 3664 (3.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 84 bytes 5255 (5.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@kenwave:/etc# mmcli -m 0

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

Hardware | manufacturer: Quectel
| model: EC25
| firmware revision: EC25AFAR05A07M4G
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 860858060870748

System | device: /sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3
| drivers: option1, cdc_ether
| plugin: quectel
| primary port: ttyUSB2
| ports: ttyUSB0 (qcdm), ttyUSB1 (gps), ttyUSB2 (at), ttyUSB3 (at),
| wwan0 (net)

Numbers | own: 16472296722

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

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

IP | supported: ipv4, ipv6, ipv4v6

3GPP | imei: 860858060870748
| operator id: 302610
| operator name: Bell
| registration: home

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

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

root@kenwave:/sys/bus/usb/drivers# lsusb
Bus 001 Device 007: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem

root@kenwave:/sys/bus/usb/drivers# lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/2p, 480M
|__ Port 2: Dev 5, If 3, Class=Application Specific Interface, Driver=, 480M
|__ Port 2: Dev 5, If 1, Class=Vendor Specific Class, Driver=, 480M
|__ Port 2: Dev 5, If 2, Class=Vendor Specific Class, Driver=, 480M
|__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 480M
|__ Port 1: Dev 6, If 0, Class=Vendor Specific Class, Driver=brcmfmac, 480M
|__ Port 3: Dev 7, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 1, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 3, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 4, Class=Communications, Driver=cdc_ether, 480M
|__ Port 3: Dev 7, If 5, Class=CDC Data, Driver=cdc_ether, 480M

root@kenwave:/sys/bus/usb/drivers# mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [Quectel] EC25

Here is info for not working one:
kenwave@kenwave:~$ ifconfig -a

wwan0: flags=128 mtu 1500
ether 16:3d:17:35:14:f8 txqueuelen 1000 (Ethernet)
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

kenwave@kenwave:~$ mmcli -m 0

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

Hardware | manufacturer: Quectel
| model: EC25
| firmware revision: EC25AFAR05A07M4G
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 860858060888435

System | device: /sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3
| drivers: option1, qmi_wwan_q
| plugin: quectel
| primary port: ttyUSB2
| ports: ttyUSB0 (qcdm), ttyUSB1 (gps), ttyUSB2 (at), ttyUSB3 (at),
| wwan0 (net)

Numbers | own: 19053018418

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

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

IP | supported: ipv4, ipv6, ipv4v6

3GPP | imei: 860858060888435
| operator id: 302610
| operator name: Bell
| registration: home

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

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

kenwave@kenwave:~$ lsusb
Bus 001 Device 007: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem

kenwave@kenwave:/sys/bus/usb/drivers$ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/2p, 480M
|__ Port 2: Dev 5, If 3, Class=Application Specific Interface, Driver=, 480M
|__ Port 2: Dev 5, If 1, Class=Vendor Specific Class, Driver=, 480M
|__ Port 2: Dev 5, If 2, Class=Vendor Specific Class, Driver=, 480M
|__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 480M
|__ Port 1: Dev 6, If 0, Class=Vendor Specific Class, Driver=brcmfmac, 480M
|__ Port 3: Dev 7, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 1, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 3, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 3: Dev 7, If 4, Class=Vendor Specific Class, Driver=qmi_wwan_q, 480M

kenwave@kenwave:/sys/bus/usb/drivers$ mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [Quectel] EC25

Please check the AT command

AT+QCFG=“usnbet”

AT+QCFG=“usnbet”,0 → qmi_wwan

AT+QCFG=“usnbet”,1 —> cdc_ether

AT+QCFG=”USBNET”
+QCFG: “usbnet”,0

AT+QGMR?
EC25AFAR05A07M4G_30.002.30.002

How should I change it to AT+QCFG=“usnbet”,1 —> cdc_ether

  1. Stop The ModemManager
    sudo systemctl stop ModemManager

  2. Send AT

echo -ne “at+qcfg="usbnet",1\r\n” | busybox microcom -t 5 /dev/ttyUSB2

  1. restart the ModemManager

sudo systemctl start ModemManager

It worked. Thanks a lot

If you set the modem to ECM mode(working with cdc_ether) , the mmcli could not manager the interface.

If you insist on trying the ModemManager.
It is better to try the rmnet(qmi_wwan).

And notice that , if you insist on the ModemManager, please don’t try the quectel driver qmi_wwan_q. You must try the qmi_wwan.