EM05 Modem - Firmware

We have couple of EM05 and EM06 Modems in our India office.
These EM0x modems which are M.2 connection are not working on x86 systems with Ubuntu22.04 OS.

We are not able to get the wwan interface.
If you see in mmcli output, Primary port is pointing to a serial device instead of cdc-wdm device.
When we change the usbnet to 0 , for that moment we see Primary port is cdc-wdm and we get wwan interface to use.

Would like to know is there any known issues w,r.t Quectel-EM0x model modems.
Are there any new firmware for the same.
Can you please let us know how to address this issue.

root@VM2ATOMx86:~# mmcli -L

/org/freedesktop/ModemManager1/Modem/1 [Quectel] EM05
root@VM2ATOMx86:~# mmcli -m 1

General | path: /org/freedesktop/ModemManager1/Modem/1

| device id: 96fca56fa5b35b2248307edd0e6d1ed83ca06bda

Hardware | manufacturer: Quectel

| model: EM05
| firmware revision: EM05CEFCR06A04M1G_ND
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 866929062689578

System | device: /sys/devices/pci0000:00/0000:00:15.0/usb1/1-1

| drivers: cdc_mbim, option
| plugin: quectel
| primary port: ttyUSB2
| ports: ttyUSB0 (qcdm), ttyUSB1 (gps), ttyUSB2 (at), ttyUSB3 (at),
| wwan0 (ignored)

Status | unlock retries: sim-pin (3), sim-puk (10)

| state: connected
| 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: 866929062689578

| operator id: 40440
| operator name: IND airtel airtel
| registration: home
| packet service state: attached

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

SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0

Bearer | paths: /org/freedesktop/ModemManager1/Bearer/0

Thanks
Venugopal

Uninstall or disable ModemManager, reboot and show the output of cat /sys/kernel/debug/usb/devices

Please find the output:

root@VM2ATOMx86:~# cat /sys/kernel/debug/usb/devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 5.15
S: Manufacturer=Linux 5.15.0-76-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:15.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2c7c ProdID=0125 Rev= 3.18
S: Manufacturer=Android
S: Product=Android
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E: Ad=89(I) Atr=03(Int.) MxPS= 8 Ivl=32ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=413c ProdID=2107 Rev= 1.04
S: Manufacturer=DELL
S: Product=Dell USB Entry Keyboard
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms

T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=03 Dev#= 4 Spd=480 MxCh= 4
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=05e3 ProdID=0608 Rev=60.90
S: Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev= 5.15
S: Manufacturer=Linux 5.15.0-76-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:15.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
root@VM2ATOMx86:~#

Well, looks like an old EM05 in QMI mode ("usbnet",0).
You should have the interface to use, check with ls -l /dev/cdc*
If interface is there, you can use qmicli to talk with the modem.
Alternatively you can switch the modem to MBIM ("usbnet",2) and use mbimcli.

Thanks @jfrog for your quick response.

root@VM2ATOMx86:~# ls -l /dev/cdc*
crw------- 1 root root 180, 0 Feb 8 14:34 /dev/cdc-wdm0

we tried setting (“usbnet”, 2), but the setting is not persisted.
Across reboot or when ModemManager service restarts, it is switching.
Do you have any new Firmware to address this issue,

That’s weird as it should stay in MBIM once switched.
I hope Quectel will be able to provide you the upgrade, I guess it will be R08Axxxxx, your R06A04 looks a bit outdated.

Can you please send the new Firmware.
Thanks