incorrect 'locked' status

David McCullough david.mccullough at accelerated.com
Tue Oct 18 06:19:15 UTC 2016


Hi All,

I have had a problem here on the MC7304 using Vodfone SIMs (AU).

ModemManager is flagging the device as locked (PIN lock) even though there
is no lock on the SIM.

I ran it with DEBUG (just the PIN / locked transition is attached).

Fairly recent clone of ModemManager,  src/mm-iface-modem.c has not changed.

The attached patch lets the modem connect fine but I figure it is probably
not correct.

Basically the new state (lock) is set to MM_MODEM_LOCK_UNKNOWN and the old
state (old_lock) is also set to MM_MODEM_LOCK_UNKNOWN.  For this condition
the code transitions to the "locked" state.

Let me know if you need and more info or debug,

Cheers,
Davidm


-- 
David McCullough,  david.mccullough at accelerated.com,   Ph: 0410 560 763
-------------- next part --------------
<debug> [1476737537.254666] [mm-broadband-modem-qmi.c:3267] load_power_state(): Getting device operating mode...
[/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 13
<<<<<<   data   = 01:0C:00:00:02:03:00:08:00:2D:00:00:00
[/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 12
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 3
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 8
<<<<<<   tlv_length  = 0
<<<<<<   message     = "Get Operating Mode" (0x002D)
[/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 24
>>>>>>   data   = 01:17:00:80:02:03:02:08:00:2D:00:0B:00:02:04:00:00:00:00:00:01:01:00:00
[/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 23
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 3
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 8
>>>>>>   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      = 00
>>>>>>   translated = online
<debug> [1476737537.287534] [mm-broadband-modem-qmi.c:1836] load_unlock_required_context_step(): loading unlock required (DMS)...
[/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 13
<<<<<<   data   = 01:0C:00:00:02:03:00:09:00:2B:00:00:00
[/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 12
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 3
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 9
<<<<<<   tlv_length  = 0
<<<<<<   message     = "UIM Get PIN Status" (0x002B)
[/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 32
>>>>>>   data   = 01:1F:00:80:02:03:02:09:00:2B:00:13:00:02:04:00:00:00:00:00:12:03:00:00:00:00:11:03:00:03:03:0A
[/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 31
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 3
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 9
>>>>>>   tlv_length  = 19
>>>>>>   message     = "UIM Get PIN Status" (0x002B)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "PIN2 Status" (0x12)
>>>>>>   length     = 3
>>>>>>   value      = 00:00:00
>>>>>>   translated = [ current_status = 'not-initialized' verify_retries_left = '0' unblock_retries_left = '0' ]
>>>>>> TLV:
>>>>>>   type       = "PIN1 Status" (0x11)
>>>>>>   length     = 3
>>>>>>   value      = 03:03:0A
>>>>>>   translated = [ current_status = 'disabled' verify_retries_left = '3' unblock_retries_left = '10' ]
<debug> [1476737537.317433] [mm-broadband-modem-qmi.c:2063] modem_load_unlock_retries(): loading unlock retries...
[/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 13
<<<<<<   data   = 01:0C:00:00:02:03:00:0A:00:2B:00:00:00
[/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 12
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 3
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 10
<<<<<<   tlv_length  = 0
<<<<<<   message     = "UIM Get PIN Status" (0x002B)
[/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 32
>>>>>>   data   = 01:1F:00:80:02:03:02:0A:00:2B:00:13:00:02:04:00:00:00:00:00:12:03:00:00:00:00:11:03:00:03:03:0A
[/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 31
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 3
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 10
>>>>>>   tlv_length  = 19
>>>>>>   message     = "UIM Get PIN Status" (0x002B)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "PIN2 Status" (0x12)
>>>>>>   length     = 3
>>>>>>   value      = 00:00:00
>>>>>>   translated = [ current_status = 'not-initialized' verify_retries_left = '0' unblock_retries_left = '0' ]
>>>>>> TLV:
>>>>>>   type       = "PIN1 Status" (0x11)
>>>>>>   length     = 3
>>>>>>   value      = 03:03:0A
>>>>>>   translated = [ current_status = 'disabled' verify_retries_left = '3' unblock_retries_left = '10' ]
<info>  [1476737537.350245] [mm-iface-modem.c:1437] __iface_modem_update_state_internal(): Modem: state changed (unknown -> locked)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pin-lock-unknown.patch
Type: text/x-diff
Size: 538 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20161018/59bc2c7b/attachment-0001.patch>


More information about the ModemManager-devel mailing list