RE: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Amol Lad
The problem is coming in QMI also but logs are a bit different:

root@AprisaLTE:/# mmcli -i 1 --change-pin=1234 --pin=
error: couldn't change PIN code in the SIM: 'Timeout was reached'

Logs are below:

debug 2021-11-08T15:20:38+00:00 :  [1636384838.121620] [modem0/sim1] 
changing PIN...
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Sent message...
<< RAW:
<<   length = 32
<<   data   = 
01:1F:00:00:0B:02:00:0F:00:28:00:13:00:02:0B:00:01:04:30:30:30:30:04:31:32:33:34:01:02:00:06:00
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Sent generic request 
(translated)...
<< QMUX:
<<   length  = 31
<<   flags   = 0x00
<<   service = "uim"
<<   client  = 2
<< QMI:
<<   flags   = "none"
<<   transaction = 15
<<   tlv_length  = 19
<<   message = "Change PIN" (0x0028)
<< TLV:
<<   type   = "Info" (0x02)
<<   length = 11
<<   value  = 01:04:30:30:30:30:04:31:32:33:34
<<   translated = [ pin_id = 'pin1' old_pin = '' new_pin = '1234' ]
<< TLV:
<<   type   = "Session" (0x01)
<<   length = 2
<<   value  = 06:00
<<   translated = [ session_type = 'card-slot-1' application_identifier = 
'{}' ]
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Received message...
<< RAW:
<<   length = 93
<<   data   = 
01:5C:00:80:0B:02:02:0F:00:28:00:50:00:02:04:00:00:00:00:00:13:02:00:63:C3:11:41:00:40:35:C7:A6:4F:93:0A:F0:9C:F1:13:65:9B:8C:E1:51:51:38:71:7A:0D:11:DC:04:4F:A0:29:01:07:13:0C:01:3F:19:A8:0E:95:29:0C:15:73:6F:10:9A:72:76:F1:5E:86:5D:77:CF:AC:00:00:00:00:00:00:00:00:00:00:00:00
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Received generic response 
(translated)...
<< QMUX:
<<   length  = 92
<<   flags   = 0x80
<<   service = "uim"
<<   client  = 2
<< QMI:
<<   flags   = "response"
<<   transaction = 15
<<   tlv_length  = 80
<<   message = "Change PIN" (0x0028)
<< TLV:
<<   type   = "Result" (0x02)
<<   length = 4
<<   value  = 00:00:00:00
<<   translated = SUCCESS
<< TLV:
<<   type   = "Card Result" (0x13)
<<   length = 2
<<   value  = 63:C3
<<   translated = [ sw1 = '99' sw2 = '195' ]
<< TLV:
<<   type   = 0x11
<<   length = 65
<<   value  = 
40:35:C7:A6:4F:93:0A:F0:9C:F1:13:65:9B:8C:E1:51:51:38:71:7A:0D:11:DC:04:4F:A0:29:01:07:13:0C:01:3F:19:A8:0E:95:29:0C:15:73:6F:10:9A:72:76:F1:5E:86:5D:77:CF:AC:00:00:00:00:00:00:00:00:00:00:00:00
debug 2021-11-08T15:20:38+00:00 :  [1636384838.204934] [modem0] loading 
unlock required (UIM)...
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Sent message...
<< RAW:
<<   length = 13
<<   data   = 01:0C:00:00:0B:02:00:10:00:2F:00:00:00
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Sent generic request 
(translated)...
<< QMUX:
<<   length  = 12
<<   flags   = 0x00
<<   service = "uim"
<<   client  = 2
<< QMI:
<<   flags   = "none"
<<   transaction = 16
<<   tlv_length  = 0
<<   message = "Get Card Status" (0x002F)
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Received message...
<< RAW:
<<   length = 86
<<   data   = 
01:55:00:80:0B:02:02:10:00:2F:00:49:00:02:04:00:00:00:00:00:16:05:00:01:00:00:00:00:15:02:00:01:00:11:02:00:01:00:10:2D:00:00:00:FF:FF:FF:FF:FF:FF:01:01:00:00:00:00:01:02:04:00:0B:00:00:10:A0:00:00:00:87:10:02:FF:45:FF:01:89:06:03:00:00:00:02:03:0A:01:03:0A
debug 2021-11-08T15:20:38+00:00 : [/dev/cdc-wdm0] Received generic response 
(translated)...
<< QMUX:
<<   length  = 85
<<   flags   = 0x80
<<   service = "uim"
<<   client  = 2
<< QMI:
<<   flags   = "response"
<<   transaction = 16
<<   tlv_length  = 73
<<   message = "Get Card Status" (0x002F)
<< TLV:
<<   type   = "Result" (0x02)
<<   length = 4
<<   value  = 00:00:00:00
<<   translated = SUCCESS
<< TLV:
<<   type   = 0x16
<<   length = 5
<<   value  = 01:00:00:00:00
<< TLV:
<<   type   = 0x15
<<   length = 2
<<   value  = 01:00
<< TLV:
<<   type   = 0x11
<<   length = 2
<<   value  = 01:00
<< TLV:
<<   type   = "Card Status" (0x10)
<<   length = 45
<<   value  = 
00:00:FF:FF:FF:FF:FF:FF:01:01:00:00:00:00:01:02:04:00:0B:00:00:10:A0:00:00:00:87:10:02:FF:45:FF:01:89:06:03:00:00:00:02:03:0A:01:03:0A
<<   translated = [ index_gw_primary = '0' index_1x_primary
debug 2021-11-08T15:20:38+00:00 :  [1636384838.237310] [modem0] GW 
primary session index: 0
debug 2021-11-08T15:20:38+00:00 :  [1636384838.237362] [modem0] GW 
primary application index: 0
debug 2021-11-08T15:20:38+00:00 :  [1636384838.237416] [modem0] couldn't 
check if unlock required: QMI operation failed: Personalization check in 
progress
debug 2021-11-08T15:20:38+00:00 :  [1636384838.237459] [modem0] retrying 
(1) unlock required check
debug 

Re: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Aleksander Morgado
Hey,

>
> I've tried to fix it. Below is for review and if OK then I'll submit MR.
>
> I think, we cannot make assumption that modem will be unlocked after sim pin 
> change. Hence, we should not wait for unlock?
>

The mm_iface_modem_update_lock_info() is not "waiting for unlock",
that method is reloading the current lock information status, and I
think that is definitely what we should be doing. The problem now is
what happens with this issue we're seeing; the modem returning Failure
unconditionally if we attempt to reload the lock status. I'm not sure
how to best workaround it, truth be told. Just wondering, have you
tried this very same sequence with the EM7455 running in QMI mode
instead of MBIM mode? Does the issue also happen there?


> diff --git a/src/mm-base-sim.c b/src/mm-base-sim.c
> index 59af3a88..8a181970 100644
> --- a/src/mm-base-sim.c
> +++ b/src/mm-base-sim.c
> @@ -201,20 +201,17 @@ handle_change_pin_ready (MMBaseSim *self,
>   GAsyncResult *res,
>   HandleChangePinContext *ctx)
>  {
> -MMModemLock known_lock = MM_MODEM_LOCK_UNKNOWN;
> +MM_BASE_SIM_GET_CLASS (self)->change_pin_finish (self, res, 
> >save_error);
>
> -if (!MM_BASE_SIM_GET_CLASS (self)->change_pin_finish (self, res, 
> >save_error)) {
> -if (g_error_matches (ctx->save_error,
> - MM_MOBILE_EQUIPMENT_ERROR,
> - MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK))
> -known_lock = MM_MODEM_LOCK_SIM_PUK;
> +if (ctx->save_error) {
> +g_dbus_method_invocation_return_gerror (ctx->invocation, 
> ctx->save_error);
> +reprobe_if_puk_discovered (ctx->self, ctx->save_error);
> +g_clear_error (>save_error);
> +} else {
> +mm_gdbus_sim_complete_change_pin (MM_GDBUS_SIM (ctx->self), 
> ctx->invocation);
>  }
>
> -mm_iface_modem_update_lock_info (
> -MM_IFACE_MODEM (self->priv->modem),
> -known_lock,
> -(GAsyncReadyCallback)after_change_update_lock_info_ready,
> -ctx);
> +handle_change_pin_context_free (ctx);
>  }
>
> Thanks
> Amol
>
> -Original Message-
> From: Aleksander Morgado 
> Sent: Monday, 8 November 2021 5:25 PM
> To: Amol Lad 
> Cc: ModemManager (development) 
> Subject: Re: SIM Card PIN Change Timeout (MM 1.18.2)
>
> Hey,
>
> On Mon, Nov 8, 2021 at 11:36 AM Amol Lad  wrote:
> >
> > # mmcli -i 1 --change-pin= --pin=1234
> > error: couldn't change PIN code in the SIM: 'Timeout was reached'
> >
> > # mmcli -m 0 --command=AT+CPIN?
> > response: '+CPIN: SIM PIN'
> >
> > So looks like modem is 'really' locked. Btw, which part of debug log showed 
> > modem went in searching?
> >
>
> Oh, interesting. Then I wouldn't know what to say :)
>
> Here's the debug log that lead me to think the modem was unlocked already:
>
> debug 2021-11-06T06:46:28+00:00 : [/dev/cdc-wdm0] Received message...
> <<<<<< RAW:
> <<<<<<   length = 50
> <<<<<<   data   =
> 01:31:00:80:03:04:04:02:00:24:00:25:00:01:06:00:02:02:02:02:01:08:11:01:00:00:12:05:00:94:01:2D:00:00:22:05:00:01:02:00:00:00:29:05:00:94:01:2D:00:00
> debug 2021-11-06T06:46:28+00:00 : [/dev/cdc-wdm0] Received generic indication 
> (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 49
> <<<<<<   flags   = 0x80
> <<<<<<   service = "nas"
> <<<<<<   client  = 4
> <<<<<< QMI:
> <<<<<<   flags   = "indication"
> <<<<<<   transaction = 2
> <<<<<<   tlv_length  = 37
> <<<<<<   message = "Serving System" (0x0024)
> <<<<<< TLV:
> <<<<<<   type   = "Serving System" (0x01)
> <<<<<<   length = 6
> <<<<<<   value  = 02:02:02:02:01:08
> <<<<<<   translated = [ registration_state =
> 'not-registered-searching' cs_attach_state = 'detached'
> ps_attach_state = 'detached' selected_network = '3gpp'
> radio_interfaces = '{ [0] = 'lte '}' ]
> <<<<<< TLV:
> <<<<<<   type   = "Data Service Capability" (0x11)
> <<<<<<   length = 1
> <<<<<<   value  = 00
> <<<<<<   translated = {}
> <<<<<< TLV:
> <<<<<<   type   = "Current PLMN" (0x12)
> <<<<<<   length = 5
>

RE: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Amol Lad
I've tried to fix it. Below is for review and if OK then I'll submit MR.

I think, we cannot make assumption that modem will be unlocked after sim pin 
change. Hence, we should not wait for unlock?

diff --git a/src/mm-base-sim.c b/src/mm-base-sim.c
index 59af3a88..8a181970 100644
--- a/src/mm-base-sim.c
+++ b/src/mm-base-sim.c
@@ -201,20 +201,17 @@ handle_change_pin_ready (MMBaseSim *self,
  GAsyncResult *res,
  HandleChangePinContext *ctx)
 {
-MMModemLock known_lock = MM_MODEM_LOCK_UNKNOWN;
+MM_BASE_SIM_GET_CLASS (self)->change_pin_finish (self, res, 
>save_error);

-if (!MM_BASE_SIM_GET_CLASS (self)->change_pin_finish (self, res, 
>save_error)) {
-if (g_error_matches (ctx->save_error,
- MM_MOBILE_EQUIPMENT_ERROR,
- MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK))
-known_lock = MM_MODEM_LOCK_SIM_PUK;
+if (ctx->save_error) {
+g_dbus_method_invocation_return_gerror (ctx->invocation, 
ctx->save_error);
+reprobe_if_puk_discovered (ctx->self, ctx->save_error);
+g_clear_error (>save_error);
+} else {
+mm_gdbus_sim_complete_change_pin (MM_GDBUS_SIM (ctx->self), 
ctx->invocation);
 }

-mm_iface_modem_update_lock_info (
-MM_IFACE_MODEM (self->priv->modem),
-known_lock,
-(GAsyncReadyCallback)after_change_update_lock_info_ready,
-ctx);
+handle_change_pin_context_free (ctx);
 }

Thanks
Amol

-Original Message-
From: Aleksander Morgado  
Sent: Monday, 8 November 2021 5:25 PM
To: Amol Lad 
Cc: ModemManager (development) 
Subject: Re: SIM Card PIN Change Timeout (MM 1.18.2)

Hey,

On Mon, Nov 8, 2021 at 11:36 AM Amol Lad  wrote:
>
> # mmcli -i 1 --change-pin= --pin=1234
> error: couldn't change PIN code in the SIM: 'Timeout was reached'
>
> # mmcli -m 0 --command=AT+CPIN?
> response: '+CPIN: SIM PIN'
>
> So looks like modem is 'really' locked. Btw, which part of debug log showed 
> modem went in searching?
>

Oh, interesting. Then I wouldn't know what to say :)

Here's the debug log that lead me to think the modem was unlocked already:

debug 2021-11-06T06:46:28+00:00 : [/dev/cdc-wdm0] Received message...
<<<<<< RAW:
<<<<<<   length = 50
<<<<<<   data   =
01:31:00:80:03:04:04:02:00:24:00:25:00:01:06:00:02:02:02:02:01:08:11:01:00:00:12:05:00:94:01:2D:00:00:22:05:00:01:02:00:00:00:29:05:00:94:01:2D:00:00
debug 2021-11-06T06:46:28+00:00 : [/dev/cdc-wdm0] Received generic indication 
(translated)...
<<<<<< QMUX:
<<<<<<   length  = 49
<<<<<<   flags   = 0x80
<<<<<<   service = "nas"
<<<<<<   client  = 4
<<<<<< QMI:
<<<<<<   flags   = "indication"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 37
<<<<<<   message = "Serving System" (0x0024)
<<<<<< TLV:
<<<<<<   type   = "Serving System" (0x01)
<<<<<<   length = 6
<<<<<<   value  = 02:02:02:02:01:08
<<<<<<   translated = [ registration_state =
'not-registered-searching' cs_attach_state = 'detached'
ps_attach_state = 'detached' selected_network = '3gpp'
radio_interfaces = '{ [0] = 'lte '}' ]
<<<<<< TLV:
<<<<<<   type   = "Data Service Capability" (0x11)
<<<<<<   length = 1
<<<<<<   value  = 00
<<<<<<   translated = {}
<<<<<< TLV:
<<<<<<   type   = "Current PLMN" (0x12)
<<<<<<   length = 5
<<<<<<   value  = 94:01:2D:00:00
<<<<<<   translated = [ mcc = '404' mnc = '45' description = '' ]

--
Aleksander
https://aleksander.es


Re: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Aleksander Morgado
Hey,

On Mon, Nov 8, 2021 at 11:36 AM Amol Lad  wrote:
>
> # mmcli -i 1 --change-pin= --pin=1234
> error: couldn't change PIN code in the SIM: 'Timeout was reached'
>
> # mmcli -m 0 --command=AT+CPIN?
> response: '+CPIN: SIM PIN'
>
> So looks like modem is 'really' locked. Btw, which part of debug log showed 
> modem went in searching?
>

Oh, interesting. Then I wouldn't know what to say :)

Here's the debug log that lead me to think the modem was unlocked already:

debug 2021-11-06T06:46:28+00:00 : [/dev/cdc-wdm0] Received message...
<< RAW:
<<   length = 50
<<   data   =
01:31:00:80:03:04:04:02:00:24:00:25:00:01:06:00:02:02:02:02:01:08:11:01:00:00:12:05:00:94:01:2D:00:00:22:05:00:01:02:00:00:00:29:05:00:94:01:2D:00:00
debug 2021-11-06T06:46:28+00:00 : [/dev/cdc-wdm0] Received generic
indication (translated)...
<< QMUX:
<<   length  = 49
<<   flags   = 0x80
<<   service = "nas"
<<   client  = 4
<< QMI:
<<   flags   = "indication"
<<   transaction = 2
<<   tlv_length  = 37
<<   message = "Serving System" (0x0024)
<< TLV:
<<   type   = "Serving System" (0x01)
<<   length = 6
<<   value  = 02:02:02:02:01:08
<<   translated = [ registration_state =
'not-registered-searching' cs_attach_state = 'detached'
ps_attach_state = 'detached' selected_network = '3gpp'
radio_interfaces = '{ [0] = 'lte '}' ]
<< TLV:
<<   type   = "Data Service Capability" (0x11)
<<   length = 1
<<   value  = 00
<<   translated = {}
<< TLV:
<<   type   = "Current PLMN" (0x12)
<<   length = 5
<<   value  = 94:01:2D:00:00
<<   translated = [ mcc = '404' mnc = '45' description = '' ]

-- 
Aleksander
https://aleksander.es


RE: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Amol Lad
# mmcli -i 1 --change-pin= --pin=1234
error: couldn't change PIN code in the SIM: 'Timeout was reached'

# mmcli -m 0 --command=AT+CPIN?
response: '+CPIN: SIM PIN'

So looks like modem is 'really' locked. Btw, which part of debug log showed 
modem went in searching?

-Original Message-
From: Aleksander Morgado  
Sent: Monday, 8 November 2021 3:51 PM
To: Amol Lad 
Cc: ModemManager (development) 
Subject: Re: SIM Card PIN Change Timeout (MM 1.18.2)

Hey,

> Same problem is observed with Telit LN920 also so I don't this it's a 
> firmware error.

They're both Qualcomm modules, it may be an issue in the generic Qualcomm 
firmware implementation. I wouldn't think manufacturers touch the MBIM protocol 
handling much.

> Also, please note that modem is still "locked" after changing the SIM-PIN 
> while locked. Please see below. So it seems changing SIM-PIN when modem is 
> locked does not unlock the modem but PIN is successfully changed.
>
> # mmcli -m 0
>   -
>   General  |  path: /org/freedesktop/ModemManager1/Modem/0
>| device id: a4c570e8767a7f8ff295ad3ddf51293b18b8103a
>   -
>   Hardware |  manufacturer: Telit Wireless Solutions
>| model: LN920
>| firmware revision: SDX12.LE.1.0-00085-NBOOT.NEFS.
>|carrier config: default
>|  h/w revision: LN920A12-WW
>| supported: gsm-umts, lte
>|   current: gsm-umts, lte
>|  equipment id: 354175759991310
>   -
>   System   |device: 
> /sys/devices/platform/soc/soc:internal-regs/f10f.usb3/usb2/2-1
>|   drivers: cdc_mbim, option1
>|plugin: telit
>|  primary port: cdc-wdm0
>| ports: cdc-wdm0 (mbim), ttyUSB0 (ignored), ttyUSB1 
> (gps),
>|ttyUSB2 (at), ttyUSB3 (at), ttyUSB4 
> (ignored), wwan0 (net)
>   -
>   Status   |  lock: sim-pin
>|unlock retries: sim-pin (3)
>| state: locked

I would say that the "locked" report here after you changed the SIM-PIN is 
wrong. We're still saying "locked" because we failed to process the "Subscriber 
Ready Status" query correctly (as the modem kept returning "Failure"), but the 
modem switched to "Searching"
state, at least per the MBIM indications in your original debug log.


--
Aleksander
https://aleksander.es


Re: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Aleksander Morgado
Hey,

> Same problem is observed with Telit LN920 also so I don't this it's a 
> firmware error.

They're both Qualcomm modules, it may be an issue in the generic
Qualcomm firmware implementation. I wouldn't think manufacturers touch
the MBIM protocol handling much.

> Also, please note that modem is still "locked" after changing the SIM-PIN 
> while locked. Please see below. So it seems changing SIM-PIN when modem is 
> locked does not unlock the modem but PIN is successfully changed.
>
> # mmcli -m 0
>   -
>   General  |  path: /org/freedesktop/ModemManager1/Modem/0
>| device id: a4c570e8767a7f8ff295ad3ddf51293b18b8103a
>   -
>   Hardware |  manufacturer: Telit Wireless Solutions
>| model: LN920
>| firmware revision: SDX12.LE.1.0-00085-NBOOT.NEFS.
>|carrier config: default
>|  h/w revision: LN920A12-WW
>| supported: gsm-umts, lte
>|   current: gsm-umts, lte
>|  equipment id: 354175759991310
>   -
>   System   |device: 
> /sys/devices/platform/soc/soc:internal-regs/f10f.usb3/usb2/2-1
>|   drivers: cdc_mbim, option1
>|plugin: telit
>|  primary port: cdc-wdm0
>| ports: cdc-wdm0 (mbim), ttyUSB0 (ignored), ttyUSB1 
> (gps),
>|ttyUSB2 (at), ttyUSB3 (at), ttyUSB4 
> (ignored), wwan0 (net)
>   -
>   Status   |  lock: sim-pin
>|unlock retries: sim-pin (3)
>| state: locked

I would say that the "locked" report here after you changed the
SIM-PIN is wrong. We're still saying "locked" because we failed to
process the "Subscriber Ready Status" query correctly (as the modem
kept returning "Failure"), but the modem switched to "Searching"
state, at least per the MBIM indications in your original debug log.


-- 
Aleksander
https://aleksander.es


RE: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Amol Lad
rred: none
   |   current: allowed: 4g; preferred: none
  -
  Bands| supported: utran-1, utran-3, utran-4, utran-6, utran-5, 
utran-8,
   |utran-9, utran-2, eutran-1, eutran-2, eutran-3, 
eutran-4, eutran-5,
   |eutran-7, eutran-8, eutran-12, eutran-13, 
eutran-14, eutran-17,
   |eutran-18, eutran-19, eutran-20, eutran-25, 
eutran-26, eutran-28,
   |eutran-29, eutran-30, eutran-38, eutran-39, 
eutran-40, eutran-41,
   |eutran-42, eutran-43, eutran-48, eutran-66, 
eutran-71, utran-19
   |   current: eutran-1, eutran-2, eutran-3, eutran-4, 
eutran-5, eutran-7,
   |eutran-8, eutran-12, eutran-13, eutran-14, 
eutran-17, eutran-18,
   |eutran-19, eutran-20, eutran-25, eutran-26, 
eutran-28, eutran-29,
   |eutran-30, eutran-38, eutran-39, eutran-40, 
eutran-41, eutran-42,
   |eutran-43, eutran-48, eutran-66, eutran-71
  -
  IP   | supported: ipv4, ipv6, ipv4v6
  -
  3GPP | enabled locks: sim, fixed-dialing
  -
  SIM  |  primary sim path: /org/freedesktop/ModemManager1/SIM/1
   |sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0
   |slot 2: /org/freedesktop/ModemManager1/SIM/1 
(active)

-Original Message-
From: Aleksander Morgado  
Sent: Monday, 8 November 2021 3:04 PM
To: Amol Lad 
Cc: ModemManager (development) 
Subject: Re: SIM Card PIN Change Timeout (MM 1.18.2)

Hey,

>
>
> If we attempt to change SIM Card PIN when the SIM is in locked state then 
> "Timeout is reached" error is reported BUT the PIN is actually changed. Below 
> are some details.
>
>
>
> # mmcli -m 0
>
>   -
>
>   General  |  path: /org/freedesktop/ModemManager1/Modem/0
>
>| device id: 02c606168e3d349049dd25edafba09756e8ca26d
>
>   -
>
>   Hardware |  manufacturer: Sierra Wireless, Incorporated
>
>| model: Sierra Wireless EM7455 Qualcomm(r) 
> Snapdragon(tm) X7 LTE-A
>
>| firmware revision: SWI9X30C_02.24.05.06
>
>|carrier config: default
>
>|  h/w revision: EM7455
>
>| supported: gsm-umts, lte
>
>|   current: gsm-umts, lte
>
>|  equipment id: 359073061147272
>
>   -
>
>   System   |device: 
> /sys/devices/platform/soc/soc:internal-regs/f10f.usb3/usb2/2-1
>
>|   drivers: qcserial, cdc_mbim
>
>|plugin: sierra
>
>|  primary port: cdc-wdm0
>
>| ports: cdc-wdm0 (mbim), ttyUSB0 (qcdm), ttyUSB1 
> (gps),
>
>|ttyUSB2 (at), wwan0 (net)
>
>   -
>
>   Status   | state: locked
>
>|   power state: on
>
>|signal quality: 0% (cached)
>
>   -
>
>   Modes| supported: allowed: 3g; preferred: none
>
>|allowed: 4g; preferred: none
>
>|allowed: 3g, 4g; preferred: 4g
>
>|allowed: 3g, 4g; preferred: 3g
>
>|   current: allowed: 4g; preferred: none
>
>   -
>
>   Bands| supported: utran-1, utran-3, utran-4, utran-5, utran-8, 
> utran-2,
>
>|eutran-1, eutran-2, eutran-3, eutran-4, 
> eutran-5, eutran-7, eutran-8,
>
>|eutran-12, eutran-13, eutran-20, eutran-25, 
> eutran-26, eutran-29,
>
>|eutran-30, eutran-41
>
>|   current: eutran-1, eutran-2, eutran-3, eutran-4, 
> eutran-5, eutran-7,
>
>|eutran-8, eutran-12, eutran-13, eutran-20, 
> eutran-25, eutran-26,
>
>|eutran-29, eutran-30, eutran-41
>
>   -
>
>   IP   | supported: ipv4, ipv6, ipv4v6
>
>   -
>
>   3GPP | enabled locks: sim, fixed-dialing
>
>   -
>
>   SIM  |  primary sim path: /org/freedesktop/ModemManager1/SIM/0
>
>
>
> # mmcli -i 0 --change-pin=1234 --pin=
>
> error: couldn't change PI

Re: SIM Card PIN Change Timeout (MM 1.18.2)

2021-11-08 Thread Aleksander Morgado
Hey,

>
>
> If we attempt to change SIM Card PIN when the SIM is in locked state then 
> "Timeout is reached" error is reported BUT the PIN is actually changed. Below 
> are some details.
>
>
>
> # mmcli -m 0
>
>   -
>
>   General  |  path: /org/freedesktop/ModemManager1/Modem/0
>
>| device id: 02c606168e3d349049dd25edafba09756e8ca26d
>
>   -
>
>   Hardware |  manufacturer: Sierra Wireless, Incorporated
>
>| model: Sierra Wireless EM7455 Qualcomm(r) 
> Snapdragon(tm) X7 LTE-A
>
>| firmware revision: SWI9X30C_02.24.05.06
>
>|carrier config: default
>
>|  h/w revision: EM7455
>
>| supported: gsm-umts, lte
>
>|   current: gsm-umts, lte
>
>|  equipment id: 359073061147272
>
>   -
>
>   System   |device: 
> /sys/devices/platform/soc/soc:internal-regs/f10f.usb3/usb2/2-1
>
>|   drivers: qcserial, cdc_mbim
>
>|plugin: sierra
>
>|  primary port: cdc-wdm0
>
>| ports: cdc-wdm0 (mbim), ttyUSB0 (qcdm), ttyUSB1 
> (gps),
>
>|ttyUSB2 (at), wwan0 (net)
>
>   -
>
>   Status   | state: locked
>
>|   power state: on
>
>|signal quality: 0% (cached)
>
>   -
>
>   Modes| supported: allowed: 3g; preferred: none
>
>|allowed: 4g; preferred: none
>
>|allowed: 3g, 4g; preferred: 4g
>
>|allowed: 3g, 4g; preferred: 3g
>
>|   current: allowed: 4g; preferred: none
>
>   -
>
>   Bands| supported: utran-1, utran-3, utran-4, utran-5, utran-8, 
> utran-2,
>
>|eutran-1, eutran-2, eutran-3, eutran-4, 
> eutran-5, eutran-7, eutran-8,
>
>|eutran-12, eutran-13, eutran-20, eutran-25, 
> eutran-26, eutran-29,
>
>|eutran-30, eutran-41
>
>|   current: eutran-1, eutran-2, eutran-3, eutran-4, 
> eutran-5, eutran-7,
>
>|eutran-8, eutran-12, eutran-13, eutran-20, 
> eutran-25, eutran-26,
>
>|eutran-29, eutran-30, eutran-41
>
>   -
>
>   IP   | supported: ipv4, ipv6, ipv4v6
>
>   -
>
>   3GPP | enabled locks: sim, fixed-dialing
>
>   -
>
>   SIM  |  primary sim path: /org/freedesktop/ModemManager1/SIM/0
>
>
>
> # mmcli -i 0 --change-pin=1234 --pin=
>
> error: couldn't change PIN code in the SIM: 'Timeout was reached'
>
>
>
> 
>
> Below are the MM logs when "-change-pin" operation was in progress:
>
> debug 2021-11-06T06:46:22+00:00 :  [1636181182.916042] [modem0/sim0] 
> changing PIN...
> debug 2021-11-06T06:46:22+00:00 : [/dev/cdc-wdm0] Sent message...
> << RAW:
> <<   length = 88
> <<   data   = 
> 03:00:00:00:58:00:00:00:15:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:04:00:00:00:01:00:00:00:28:00:00:00:02:00:00:00:03:00:00:00:18:00:00:00:08:00:00:00:20:00:00:00:08:00:00:00:30:00:30:00:30:00:30:00:31:00:32:00:33:00:34:00
> debug 2021-11-06T06:46:22+00:00 : [/dev/cdc-wdm0] Sent message (translated)...
> << Header:
> <<   length  = 88
> <<   type= command (0x0003)
> <<   transaction = 21
> << Fragment header:
> <<   total   = 1
> <<   current = 0
> << Contents:
> <<   service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
> <<   cid = 'pin' (0x0004)
> <<   type= 'set' (0x0001)
> << Fields:
> <<   PinType = 'pin1'
> <<   PinOperation = 'change'
> <<   Pin = ''
> <<   NewPin = '1234'
> debug 2021-11-06T06:46:22+00:00 : [/dev/cdc-wdm0] Received message...
> >> RAW:
> >>   length = 60
> >>   data   = 
> >> 03:00:00:80:3C:00:00:00:15:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:04:00:00:00:00:00:00:00:0C:00:00:00:03:00:00:00:01:00:00:00:03:00:00:00
> debug 2021-11-06T06:46:22+00:00 : [/dev/cdc-wdm0] Received message 
> (translated)...
> >> Header:
> >>   length  = 60
> >>   type= command-done (0x8003)
> >>   transaction = 21
> >> Fragment header:
> >>   total   = 1
> >>   current = 0
> >> Contents:
> >>   status error = 'None' (0x)
> >>   service  = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
> >>   cid  = 'pin' (0x0004)
> >> Fields:
> >>   PinType = 'pin2'
> >>   PinState = 'locked'
> >>   RemainingAttempts = '3'
> debug