ModemManager Package modem is not showing

Hi All

Issue : The modem is not showing on modem manager option
Board : Banana BPI-R4
Modem : Quectel RM551
Vendor=2c7c ProdID=0122

As I know the modem is supporting ECM mode only (right now)

root@OpenWrt:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.44 xhci-hcd xHCI Host Controller
Bus 001 Device 002: ID 2109:2822 VIA Labs, Inc.          USB2.0 Hub
Bus 001 Device 003: ID 2109:8822 VIA Labs, Inc.          USB Billboard Device
Bus 002 Device 001: ID 1d6b:0003 Linux 6.6.44 xhci-hcd xHCI Host Controller
Bus 002 Device 002: ID 2109:0822 VIA Labs, Inc.          USB3.1 Hub
Bus 002 Device 003: ID 2c7c:0122 Quectel RM551E-GL


root@OpenWrt:~# mmcli -L
No modems were found


root@OpenWrt:~# dmesg | grep -i usb
[    4.974466] usbcore: registered new interface driver usbfs
[    4.979977] usbcore: registered new interface driver hub
[    4.985318] usbcore: registered new device driver usb
[    5.003149] xhci-mtk 11200000.usb: supply vbus not found, using dummy regulat                             or
[    5.010534] xhci-mtk 11200000.usb: supply vusb33 not found, using dummy regul                             ator
[    5.018470] xhci-mtk 11200000.usb: xHCI Host Controller
[    5.023751] xhci-mtk 11200000.usb: new USB bus registered, assigned bus numbe                             r 1
[    5.034190] xhci-mtk 11200000.usb: hcc params 0x01403f99 hci version 0x110 qu                             irks 0x0000000000200010
[    5.043348] xhci-mtk 11200000.usb: irq 116, io mem 0x11200000
[    5.049155] xhci-mtk 11200000.usb: xHCI Host Controller
[    5.054455] xhci-mtk 11200000.usb: new USB bus registered, assigned bus numbe                             r 2
[    5.061844] xhci-mtk 11200000.usb: Host supports USB 3.2 Enhanced SuperSpeed
[    5.069189] hub 1-0:1.0: USB hub found
[    5.077057] usb usb2: We don't know the algorithms for LPM for this host, dis                             abling LPM.
[    5.085332] hub 2-0:1.0: USB hub found
[    5.460971] usb 2-1: new SuperSpeed USB device number 2 using xhci-mtk
[    5.493698] hub 2-1:1.0: USB hub found
[    5.640814] usb 1-1: new high-speed USB device number 2 using xhci-mtk
[    5.823042] hub 1-1:1.0: USB hub found
[    6.175218] usb 2-1.1: new SuperSpeed USB device number 3 using xhci-mtk
[    6.215505] usb 2-1.1: LPM exit latency is zeroed, disabling LPM.
[    6.233714] usb 2-1.1: config 1 has an invalid interface number: 10 but max i                             s 5
[    6.241103] usb 2-1.1: config 1 has an invalid interface number: 11 but max i                             s 5
[    6.248487] usb 2-1.1: config 1 has an invalid interface number: 11 but max i                             s 5
[    6.255871] usb 2-1.1: config 1 has no interface number 4
[    6.261260] usb 2-1.1: config 1 has no interface number 5
[    6.520818] usb 1-1.5: new high-speed USB device number 3 using xhci-mtk
[    9.008087] usbcore: registered new interface driver cdc_acm
[    9.013765] cdc_acm: USB Abstract Control Model driver for USB modems and ISD                             N adapters
[    9.022678] usbcore: registered new interface driver cdc_wdm
[    9.066088] usbcore: registered new interface driver usbserial_generic
[    9.072706] usbserial: USB Serial support registered for generic
[    9.091457] usbcore: registered new interface driver cdc_eem
[    9.111236] cdc_ether 2-1.1:1.10 usb0: register 'cdc_ether' at usb-11200000.u                             sb-1.1, CDC Ethernet Device, 82:53:59:10:6a:75
[    9.122512] usbcore: registered new interface driver cdc_ether
[    9.129444] usbcore: registered new interface driver cdc_ncm
[    9.180179] usbcore: registered new interface driver qmi_wwan
[    9.187289] usbcore: registered new interface driver rndis_host
[    9.197933] usbcore: registered new interface driver cdc_mbim
[    9.205278] usbcore: registered new interface driver option
[    9.210931] usbserial: USB Serial support registered for GSM modem (1-port)
[    9.220142] usbcore: registered new interface driver qcserial
[    9.225977] usbserial: USB Serial support registered for Qualcomm USB modem

root@OpenWrt:~# dmesg | grep -i modem
[    9.013765] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    9.210931] usbserial: USB Serial support registered for GSM modem (1-port)
[    9.225977] usbserial: USB Serial support registered for Qualcomm USB modem

USB Devices :point_down::thinking:

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

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0122 Rev= 5.15
S:  Manufacturer=Quectel
S:  Product=RM551E-GL
S:  SerialNumber=ea9b91f5
C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
A:  FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=88(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
I:  If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E:  Ad=87(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms


One of friends advised me to put this command on start-up where it shows the modem but no network ...

echo "2c7c 0122 ff" > /sys/bus/usb-serial/drivers/option1/new_id

root@OpenWrt:~# mmcli -m 0
  --------------------------------
  General  |                 path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: aa00824507ba2f8ceff07ff6c46e55299a1e3511
  --------------------------------
  Hardware |         manufacturer: Quectel
           |                model: RM551E-GL
           |    firmware revision: RM551EGL00AAR01A01M8G_BETA_20240624A
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte
           |         equipment id: 354484224291243
  --------------------------------
  System   |               device: /sys/devices/platform/soc/11200000.usb/usb2/2                          -1/2-1.1
           |              physdev: /sys/devices/platform/soc/11200000.usb/usb2/2                          -1/2-1.1
           |              drivers: option1, cdc_ether
           |               plugin: quectel
           |         primary port: ttyUSB2
           |                ports: ttyUSB2 (at), ttyUSB3 (at), usb0 (net)
  --------------------------------
  Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-                          puk2 (10)
           |                state: enabled
           |          power state: on
           |       signal quality: 0% (recent)
  --------------------------------
  Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none
           |              current: allowed: 2g, 3g, 4g; preferred: none
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |                 imei: 354484224291243
           |         registration: idle
           | packet service state: detached
  --------------------------------
  3GPP EPS | ue mode of operation: csps-1
  --------------------------------
  SIM      |     primary sim path: /org/freedesktop/ModemManager1/SIM/0



Packages installed on my system

luci modemmanager luci-proto-modemmanager mbim-utils qmi-utils uqmi qcsuper libmbim libqmi libqrtr-glib kmod-mhi-net kmod-mhi-wwan-ctrl kmod-usb-serial-wwan kmod-usb-net-qmi-wwan usb-modeswitch kmod-usb-acm kmod-usb-dwc3 kmod-usb-net-rndis avrdude kmod-usb-dwc3 kmod-usb-cdns3 socat htop ttyd luci-app-mwan3 kmod-mhi-wwan-mbim luci-app-mwan3 luci-proto-qmi luci-app-sqm sqm-scripts kmod-usb-serial-qualcomm luci-proto-mbim kmod-usb-serial-option umbim lm-sensors luci-app-smartdns smartdns usbutils luci-app-irqbalance irqbalance kmod-mtk-t7xx wget-ssl git git-http bash kmod-usb-core kmod-usb-net-cdc-eem luci-app-ttyd pciutils taskset mc

assuming I don't have this quectel module, it seems really strange to me that it only supports ECM mode

Do you have the possibility to check via "picocom" what other features it supports?

can you install "picocom" and check what the outputs of the following AT commands are?

picocom /dev/ttyUSB2
AT
ATI
AT+QCFG=?

also watch:

https://openwrt.org/docs/guide-user/network/wan/wwan/at_commands#picocom

ps: have you tried asking on the forum below what other modes it supports?

2 Likes

Hi my friend

if I used this command (Script on startup) yes .... without it I can't



Quectel said the modem is working fine on m.2 & USB boards


What I think the..this script let OpenWrt system detect the modem RM551 ... where as USB but not as ECM for network
echo "2c7c 0122 ff" > /sys/bus/usb-serial/drivers/option1/new_id

To be honest i'm not sure where is the gap

you can try to run (and post the output):

picocom /dev/ttyUSB2

and inside picocom the following AT commands:

AT
ATI
AT+QCFG=?

ps: you may need to remove the "modemmanager" package if you encounter any issues with picocom

ps: in ECM mode the modemmanager package is useless as the lte module behaves in "hostless" mode (see below)

root@OpenWrt:~# picocom /dev/ttyUSB2
picocom v3.1

port is        : /dev/ttyUSB2
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

ATI
Quectel
RM551E-GL
Revision: RM551EGL00AAR01A01M8G_BETA_20240624A

AT+QCFG=?
+QCFG: "rrc",(0-5)
+QCFG: "hsdpacat",(6,8,10-24)
+QCFG: "hsupacat",(5,6)
+QCFG: "pdp/duplicatechk",(0,1)
+QCFG: "risignaltype",("respective","physical")
+QCFG: "lte/bandprior",(1-43),(1-43),(1-43)

As I know
AT+QCFG="usbnet",0 < QMI/PPP/Default
AT+QCFG="usbnet",1 < ECM
AT+QCFG="usbnet",2 < MBIM

I suppose if you give the AT command:

AT+QCFG="usbnet",2

from error I assume you can confirm (thanks)

assuming you want to put the module in MBIM mode

The modem doesn't support MBIM

it will say OK but it will not give connection or network

root@OpenWrt:~# socat - /dev/ttyUSB2,crnl
AT+QCFG="usbnet",2

OK

after giving the command did you reboot the router?

yup .... nothing

What I believe maybe is wrong or right ....

  • Need to adjust this script to let it use ecm for modemmanager
    echo "2c7c 0122 ff" > /sys/bus/usb-serial/drivers/option1/new_id

Where is mention here option driver and cdc_ether

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

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0122 Rev= 5.15
S:  Manufacturer=Quectel
S:  Product=RM551E-GL
S:  SerialNumber=ea9b91f5
C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
A:  FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=88(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
I:  If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E:  Ad=87(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms```

  Hardware |         manufacturer: Quectel
           |                model: RM551E-GL
           |    firmware revision: RM551EGL00AAR01A01M8G_BETA_20240624A
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte
           |         equipment id: 354484224291243
  --------------------------------
  System   |               device: /sys/devices/platform/soc/11200000.usb/usb2/2                          -1/2-1.1
           |              physdev: /sys/devices/platform/soc/11200000.usb/usb2/2                          -1/2-1.1
           |              drivers: option1, cdc_ether
           |               plugin: quectel
           |         primary port: ttyUSB2
           |                ports: ttyUSB2 (at), ttyUSB3 (at), usb0 (net)

it was an attempt it cost nothing...

I'm sorry I can't help you further.. :sweat_smile:

1 Like