Reliability with Quectel modem
Peter Naulls
peter at chocky.org
Wed Sep 2 14:51:17 UTC 2020
I'm having problems making my modem work consistently - or at all. I'm
probably missing some details here, so let me know.
I'm using OpenWrt with some patching to kernel version 5.4.61. I also
have modemmanager 1.14.2 and libqmi - 1.26.4 just to make sure.
Using notes here of course:
https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle
Here's the modem:
[ 18.092483] cdc_mbim 1-1:1.4: cdc-wdm0: USB WDM device
[ 18.093511] cdc_mbim 1-1:1.4 wwan0: register 'cdc_mbim' at
usb-xhci-hcd.0.auto-1, CDC MBIM, da:cc:29:38:ce:91
[ 18.096839] usbcore: registered new interface driver cdc_mbim
[ 18.110303] usbcore: registered new interface driver option
[ 18.112545] usbserial: USB Serial support registered for GSM modem (1-port)
[ 18.118073] option 1-1:1.0: GSM modem (1-port) converter detected
[ 18.124997] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 18.131131] option 1-1:1.1: GSM modem (1-port) converter detected
[ 18.138228] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 18.144050] option 1-1:1.2: GSM modem (1-port) converter detected
[ 18.150743] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 18.157075] option 1-1:1.3: GSM modem (1-port) converter detected
[ 18.163824] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
[ 18.175164] usbcore: registered new interface driver qcserial
[ 18.176273] usbserial: USB Serial support registered for Qualcomm USB modem
[ 18.182307] kmodloader: done loading kernel modules from /etc/modules.d/*
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2c7c ProdID=0512 Rev= 3.18
S: Manufacturer=Quectel
S: Product=EM12-AW
S: SerialNumber=0123456789ABCDEF
C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
A: FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
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= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E: Ad=88(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
I: If#= 5 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
The command on the wiki page:
uqmi -d /dev/cdc-wdm0 --get-data-status
This will hang until ctrl-C
^C"Failed to connect to service"
The modem *can* be made to connect, with judicious use of cycling the OpenWrt
device and the modem itself, but I haven't figure out the magic just yet.
I've also had it work correctly on Ubuntu too, without too much fuss, but it's
still unreliable there.
The second problem is that if it's unplugged, and then replugged, it doesn't
come back:
(unplug)
[ 18.092483] cdc_mbim 1-1:1.4: cdc-wdm0: USB WDM device
[ 18.093511] cdc_mbim 1-1:1.4 wwan0: register 'cdc_mbim' at
usb-xhci-hcd.0.auto-1, CDC MBIM, da:cc:29:38:ce:91
[ 18.096839] usbcore: registered new interface driver cdc_mbim
[ 18.110303] usbcore: registered new interface driver option
[ 18.112545] usbserial: USB Serial support registered for GSM modem (1-port)
[ 18.118073] option 1-1:1.0: GSM modem (1-port) converter detected
[ 18.124997] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 18.131131] option 1-1:1.1: GSM modem (1-port) converter detected
[ 18.138228] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 18.144050] option 1-1:1.2: GSM modem (1-port) converter detected
[ 18.150743] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 18.157075] option 1-1:1.3: GSM modem (1-port) converter detected
[ 18.163824] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
[ 18.175164] usbcore: registered new interface driver qcserial
[ 18.176273] usbserial: USB Serial support registered for Qualcomm USB modem
[ 18.182307] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 23.477751] br-lan: port 1(eth0) entered blocking state
[ 23.477800] br-lan: port 1(eth0) entered disabled state
[ 23.482349] device eth0 entered promiscuous mode
[ 23.509663] ess_edma c080000.edma: eth1: GMAC Link is down
[ 24.561824] br-lan: port 1(eth0) entered blocking state
[ 24.561884] br-lan: port 1(eth0) entered forwarding state
[ 24.566356] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 489.115828] usb 1-1: USB disconnect, device number 2
[ 489.116219] option1 ttyUSB0: GSM modem (1-port) converter now disconnected
from ttyUSB0
[ 489.120091] option 1-1:1.0: device disconnected
[ 489.128439] option1 ttyUSB1: GSM modem (1-port) converter now disconnected
from ttyUSB1
[ 489.132457] option 1-1:1.1: device disconnected
now replug, and nothing in kernel logs.
Let me know where I need to start looking, what versions to try, etc.
Thanks!
More information about the libqmi-devel
mailing list