Reliability with Quectel modem

Peter Naulls peter at chocky.org
Thu Sep 3 13:52:15 UTC 2020


On 9/2/20 11:30 AM, Bjørn Mork wrote:

>>
>> now replug, and nothing in kernel logs.
> 
> This sounds like an issue related to your USB host, and not the modem.
> The USB core will report the "new .... speed USB device number ..."
> messages when a device is connected.  If you don't see this, then there
> is no device connected.  That is, the port is either powered down or
> logically disconnected from the bus.

Quite right; I'm chasing up USB driver issues separately.   However, there's
another issue which is definitely in libqmi.  I pulled the latest git this morning:


./src/qmicli/qmicli --device=/dev/cdc-wdm1 -p --dms-get-model
[/dev/cdc-wdm1] Device model retrieved:
	Model: 'EΞE_S%P+Ç'


  ./src/qmicli/qmicli -v --device=/dev/cdc-wdm1 --dms-get-model -p
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] Opening device with flags 
'proxy, auto'...
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] created endpoint
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent message...
<<<<<< RAW:
<<<<<<   length = 28
<<<<<<   data   = 
01:1B:00:00:00:00:00:01:00:FF:10:00:01:0D:00:2F:64:65:76:2F:63:64:63:2D:77:64:6D:31

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent generic request (translated)...
<<<<<< QMUX:
<<<<<<   length  = 27
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 16
<<<<<<   message     = "Internal Proxy Open" (0xFF00)
<<<<<< TLV:
<<<<<<   type       = "Device Path" (0x01)
<<<<<<   length     = 13
<<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:64:6D:31
<<<<<<   translated = /dev/cdc-wdm1

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received message...
<<<<<< RAW:
<<<<<<   length = 19
<<<<<<   data   = 01:12:00:80:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received generic response 
(translated)...
<<<<<< QMUX:
<<<<<<   length  = 18
<<<<<<   flags   = 0x80
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "response"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 7
<<<<<<   message     = "Internal Proxy Open" (0xFF00)
<<<<<< TLV:
<<<<<<   type       = "Result" (0x02)
<<<<<<   length     = 4
<<<<<<   value      = 00:00:00:00
<<<<<<   translated = SUCCESS

[03 Sep 2020, 09:49:12] [Debug] QMI Device at '/dev/cdc-wdm1' ready
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] Assuming service 'dms' is 
supported...
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] Allocating new client ID...
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:04:00:01:01:00:02

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent generic request (translated)...
<<<<<< QMUX:
<<<<<<   length  = 15
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Allocate CID" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Service" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 02
<<<<<<   translated = dms

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received message...
<<<<<< RAW:
<<<<<<   length = 24
<<<<<<   data   = 
01:17:00:80:00:00:01:02:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:05

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received generic response 
(translated)...
<<<<<< QMUX:
<<<<<<   length  = 23
<<<<<<   flags   = 0x80
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "response"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 12
<<<<<<   message     = "Allocate CID" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Result" (0x02)
<<<<<<   length     = 4
<<<<<<   value      = 00:00:00:00
<<<<<<   translated = SUCCESS
<<<<<< TLV:
<<<<<<   type       = "Allocation Info" (0x01)
<<<<<<   length     = 2
<<<<<<   value      = 02:05
<<<<<<   translated = [ service = 'dms' cid = '5' ]

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] Registered 'dms' (version 
unknown) client with ID '5'
[03 Sep 2020, 09:49:12] [Debug] Asynchronously getting model...
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent message...
<<<<<< RAW:
<<<<<<   length = 13
<<<<<<   data   = 01:0C:00:00:02:05:00:01:00:22:00:00:00

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent generic request (translated)...
<<<<<< QMUX:
<<<<<<   length  = 12
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 5
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 0
<<<<<<   message     = "Get Model" (0x0022)

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received message...
<<<<<< RAW:
<<<<<<   length = 31
<<<<<<   data   = 
01:1E:00:80:02:05:02:01:00:22:00:12:00:02:04:00:00:00:00:00:01:08:00:45:4D:31:32:2D:41:57:09

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received generic response 
(translated)...
<<<<<< QMUX:
<<<<<<   length  = 30
<<<<<<   flags   = 0x80
<<<<<<   service = "dms"
<<<<<<   client  = 5
<<<<<< QMI:
<<<<<<   flags       = "response"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 18
<<<<<<   message     = "Get Model" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Result" (0x02)
<<<<<<   length     = 4
<<<<<<   value      = 00:00:00:00
<<<<<<   translated = SUCCESS
<<<<<< TLV:
<<<<<<   type       = "Model" (0x01)
<<<<<<   length     = 8
<<<<<<   value      = 45:4D:31:32:2D:41:57:09
<<<<<<   translated = EΞE_S%P+Ç

[/dev/cdc-wdm1] Device model retrieved:
	Model: 'EΞE_S%P+Ç'
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] Releasing 'dms' client with 
flags 'release-cid'...
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] Unregistered 'dms' client with 
ID '5'
[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent message...
<<<<<< RAW:
<<<<<<   length = 17
<<<<<<   data   = 01:10:00:00:00:00:00:03:23:00:05:00:01:02:00:02:05

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] sent generic request (translated)...
<<<<<< QMUX:
<<<<<<   length  = 16
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 3
<<<<<<   tlv_length  = 5
<<<<<<   message     = "Release CID" (0x0023)
<<<<<< TLV:
<<<<<<   type       = "Release Info" (0x01)
<<<<<<   length     = 2
<<<<<<   value      = 02:05
<<<<<<   translated = [ service = 'dms' cid = '5' ]

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received message...
<<<<<< RAW:
<<<<<<   length = 24
<<<<<<   data   = 
01:17:00:80:00:00:01:03:23:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:05

[03 Sep 2020, 09:49:12] [Debug] [/dev/cdc-wdm1] received generic response 
(translated)...
<<<<<< QMUX:
<<<<<<   length  = 23
<<<<<<   flags   = 0x80
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "response"
<<<<<<   transaction = 3
<<<<<<   tlv_length  = 12
<<<<<<   message     = "Release CID" (0x0023)
<<<<<< TLV:
<<<<<<   type       = "Result" (0x02)
<<<<<<   length     = 4
<<<<<<   value      = 00:00:00:00
<<<<<<   translated = SUCCESS
<<<<<< TLV:
<<<<<<   type       = "Release Info" (0x01)
<<<<<<   length     = 2
<<<<<<   value      = 02:05
<<<<<<   translated = [ service = 'dms' cid = '5' ]


I realized after doing this, that it's using qmi-proxy running on Ubuntu which 
is at version 1.24.8, however the bug is seen on OpenWrt where I built latest
release.

Other values seem accurate and complete for the modem.

Thanks again.




More information about the libqmi-devel mailing list