Modem not resetting.

Paul Gildea gildeap at tcd.ie
Tue May 19 12:38:25 UTC 2020


Thanks Paul! I'll test it out, did you have any way of reliably reproducing
this behavior? I'm having trouble with it, I'm only seeing it rarely.

--
Paul

On Tue, 28 Apr 2020 at 23:10, Paul Bartell <p.bartell at tempered.io> wrote:

>
> On Apr 28, 2020, at 3:54 AM, Paul Gildea <gildeap at tcd.ie> wrote:
>
> Hi, I see an issue when resetting modems, both with Telit and Sierra. It
> happens quite rarely but renders the modem unusable. I tell the modem to go
> offline and then to reset, most of the time this works, it's a standard
> thing. Occasionally it will say that it is a success but never actually
> reload, no matter how many times you issue the commands after this the
> modem won't reset, and it also can not come back online (invalid transition
> I assume). Here is the verbose output if that helps in any way, any test
> you thinkI can run while I have a modem in this state? (Telit LNM960A18)
>
>
> I’ve run into this before with MDM 9207 modems from Telit and Quectel, but
> only when the AT&T MBN (carrier profile) is activated. Other carriers
> profiles did not exhibit this behavior.
>
> I worked around the problem by skipping the “offline" mode step and just
> sending a dms_set_operating_mode message with QMI_DMS_OPERATING_MODE_RESET.
> See an implementation here:
>
>
> https://github.com/temperednetworks/ModemManager/blob/752027d19f77e65b1d4568de49cf2599c49d4e9e/plugins/quectel/mm-broadband-modem-qmi-quectel.c#L198
>
> I’m hesitant to upstream this because I know that some older qualcomm
> chipsets return InvalidTransition when setting the operating mode
> to QMI_DMS_OPERATING_MODE_RESET without first setting it
> to QMI_DMS_OPERATING_MODE_OFFLINE.
>
>
>  qmicli -v -p -d /dev/cdc-wdm3 --dms-get-operating-mode
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] Opening device with flags
> 'proxy, auto'...
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] loaded driver of cdc-wdm
> port: qmi_wwan
> [28 Apr 2020, 10:43:51] -Warning ** [/dev/cdc-wdm3] requested auto mode
> but no MBIM QMUX support available
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] created endpoint
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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:33
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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:33
> <<<<<<   translated = /dev/cdc-wdm3
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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
>
> [28 Apr 2020, 10:43:51] [Debug] QMI Device at '/dev/cdc-wdm3' ready
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] Assuming service 'dms' is
> supported...
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] Allocating new client ID...
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] sent message...
> <<<<<< RAW:
> <<<<<<   length = 16
> <<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:04:00:01:01:00:02
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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:02
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] 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:02
> <<<<<<   translated = [ service = 'dms' cid = '2' ]
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] Registered 'dms' (version
> unknown) client with ID '2'
> [28 Apr 2020, 10:43:51] [Debug] Asynchronously getting operating mode...
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] sent message...
> <<<<<< RAW:
> <<<<<<   length = 13
> <<<<<<   data   = 01:0C:00:00:02:02:00:01:00:2D:00:00:00
>
> [28 Apr 2020, 10:43:51] [Debug] [/dev/cdc-wdm3] sent generic request
> (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 12
> <<<<<<   flags   = 0x00
> <<<<<<   service = "dms"
> <<<<<<   client  = 2
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 0
> <<<<<<   message     = "Get Operating Mode" (0x002D)
>
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] received message...
> <<<<<< RAW:
> <<<<<<   length = 24
> <<<<<<   data   =
> 01:17:00:80:02:02:02:01:00:2D:00:0B:00:02:04:00:00:00:00:00:01:01:00:03
>
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] received generic response
> (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 23
> <<<<<<   flags   = 0x80
> <<<<<<   service = "dms"
> <<<<<<   client  = 2
> <<<<<< QMI:
> <<<<<<   flags       = "response"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 11
> <<<<<<   message     = "Get Operating Mode" (0x002D)
> <<<<<< TLV:
> <<<<<<   type       = "Result" (0x02)
> <<<<<<   length     = 4
> <<<<<<   value      = 00:00:00:00
> <<<<<<   translated = SUCCESS
> <<<<<< TLV:
> <<<<<<   type       = "Mode" (0x01)
> <<<<<<   length     = 1
> <<<<<<   value      = 03
> <<<<<<   translated = offline
>
> [/dev/cdc-wdm3] Operating mode retrieved:
>         Mode: 'offline'
>         Reason: 'unknown'
>         HW restricted: 'no'
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] Releasing 'dms' client
> with flags 'release-cid'...
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] Unregistered 'dms' client
> with ID '2'
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] sent message...
> <<<<<< RAW:
> <<<<<<   length = 17
> <<<<<<   data   = 01:10:00:00:00:00:00:03:23:00:05:00:01:02:00:02:02
>
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] 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:02
> <<<<<<   translated = [ service = 'dms' cid = '2' ]
>
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] 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:02
>
> [28 Apr 2020, 10:43:55] [Debug] [/dev/cdc-wdm3] 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:02
> <<<<<<   translated = [ service = 'dms' cid = '2' ]
>
> [28 Apr 2020, 10:43:55] [Debug] Client released
> [28 Apr 2020, 10:43:55] [Debug] Closed
>
> *RESET:*
>
> qmicli -v -p -d /dev/cdc-wdm3 --dms-set-operating-mode="reset"
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] Opening device with flags
> 'proxy, auto'...
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] loaded driver of cdc-wdm
> port: qmi_wwan
> [28 Apr 2020, 10:44:09] -Warning ** [/dev/cdc-wdm3] requested auto mode
> but no MBIM QMUX support available
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] created endpoint
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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:33
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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:33
> <<<<<<   translated = /dev/cdc-wdm3
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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
>
> [28 Apr 2020, 10:44:09] [Debug] QMI Device at '/dev/cdc-wdm3' ready
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] Assuming service 'dms' is
> supported...
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] Allocating new client ID...
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] sent message...
> <<<<<< RAW:
> <<<<<<   length = 16
> <<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:04:00:01:01:00:02
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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:02
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] 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:02
> <<<<<<   translated = [ service = 'dms' cid = '2' ]
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] Registered 'dms' (version
> unknown) client with ID '2'
> [28 Apr 2020, 10:44:09] [Debug] Asynchronously setting operating mode...
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] sent message...
> <<<<<< RAW:
> <<<<<<   length = 17
> <<<<<<   data   = 01:10:00:00:02:02:00:01:00:2E:00:04:00:01:01:00:04
>
> [28 Apr 2020, 10:44:09] [Debug] [/dev/cdc-wdm3] sent generic request
> (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 16
> <<<<<<   flags   = 0x00
> <<<<<<   service = "dms"
> <<<<<<   client  = 2
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 4
> <<<<<<   message     = "Set Operating Mode" (0x002E)
> <<<<<< TLV:
> <<<<<<   type       = "Mode" (0x01)
> <<<<<<   length     = 1
> <<<<<<   value      = 04
> <<<<<<   translated = reset
>
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] received message...
> <<<<<< RAW:
> <<<<<<   length = 20
> <<<<<<   data   =
> 01:13:00:80:02:02:02:01:00:2E:00:07:00:02:04:00:00:00:00:00
>
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] received generic response
> (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 19
> <<<<<<   flags   = 0x80
> <<<<<<   service = "dms"
> <<<<<<   client  = 2
> <<<<<< QMI:
> <<<<<<   flags       = "response"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 7
> <<<<<<   message     = "Set Operating Mode" (0x002E)
> <<<<<< TLV:
> <<<<<<   type       = "Result" (0x02)
> <<<<<<   length     = 4
> <<<<<<   value      = 00:00:00:00
> <<<<<<   translated = SUCCESS
>
> [/dev/cdc-wdm3] Operating mode set successfully
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] Releasing 'dms' client
> with flags 'release-cid'...
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] Unregistered 'dms' client
> with ID '2'
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] sent message...
> <<<<<< RAW:
> <<<<<<   length = 17
> <<<<<<   data   = 01:10:00:00:00:00:00:03:23:00:05:00:01:02:00:02:02
>
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] 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:02
> <<<<<<   translated = [ service = 'dms' cid = '2' ]
>
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] 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:02
>
> [28 Apr 2020, 10:44:13] [Debug] [/dev/cdc-wdm3] 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:02
> <<<<<<   translated = [ service = 'dms' cid = '2' ]
>
> [28 Apr 2020, 10:44:13] [Debug] Client released
> [28 Apr 2020, 10:44:13] [Debug] Closed
>
> Regards,
>
> --
> Paul
> _______________________________________________
> libqmi-devel mailing list
> libqmi-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libqmi-devel
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20200519/140bc213/attachment-0001.htm>


More information about the libqmi-devel mailing list