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.mccullo...@accelerated.com,   Ph: 0410 560 763
<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)
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 516ed78..9c6e0b1 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -2836,6 +2836,7 @@ set_lock_status (MMIfaceModem *self,
     /* We don't care about SIM-PIN2/SIM-PUK2 since the device is
      * operational without it. */
     if (lock == MM_MODEM_LOCK_NONE ||
+        lock == MM_MODEM_LOCK_UNKNOWN ||
         lock == MM_MODEM_LOCK_SIM_PIN2 ||
         lock == MM_MODEM_LOCK_SIM_PUK2) {
         /* Notify transition from INITIALIZING/LOCKED to DISABLED */
_______________________________________________
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel

Reply via email to