Bug 100980

Summary: ublox: add wait time before checking PIN status after unlock
Product: ModemManager Reporter: Aleksander Morgado <aleksander>
Component: pluginsAssignee: ModemManager bug user <modemmanager>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium    
Version: git master   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Aleksander Morgado 2017-05-09 21:14:26 UTC
We're sending the PIN correctly, but the modem is still replying that
SIM-PIN is needed if we query it right away after sending the PIN:

<debug> [1493975621.397922] [../../git/src/mm-port-serial-at.c:459]
debug_log(): (ttyACM0): --> 'AT+CPIN="8770"<CR>'
<debug> [1493975621.484268] [../../git/src/mm-port-serial-at.c:459]
debug_log(): (ttyACM0): <-- '<CR><LF>OK<CR><LF>'
<debug> [1493975621.485273] [../../git/src/mm-broadband-modem.c:1339]
modem_load_unlock_required(): checking if unlock required...
<debug> [1493975621.485618] [../../git/src/mm-port-serial.c:1250]
mm_port_serial_open(): (ttyACM0) device open count is 2 (open)
<debug> [1493975621.486500] [../../git/src/mm-port-serial.c:1307]
_close_internal(): (ttyACM0) device open count is 1 (close)
<debug> [1493975621.486979] [../../git/src/mm-port-serial-at.c:459]
debug_log(): (ttyACM0): --> 'AT+CPIN?<CR>'
<debug> [1493975621.513303] [../../git/src/mm-port-serial-at.c:459]
debug_log(): (ttyACM0): <-- '<CR><LF>+CPIN: SIM PIN<CR><LF>'
<debug> [1493975621.515441] [../../git/src/mm-port-serial-at.c:459]
debug_log(): (ttyACM0): <-- '<CR><LF>OK<CR><LF>'
<debug> [1493975621.517437] [../../git/src/mm-port-serial.c:1307]
_close_internal(): (ttyACM0) device open count is 0 (close)
<debug> [1493975621.517703] [../../git/src/mm-port-serial.c:1323]
_close_internal(): (ttyACM0) closing serial port...
<debug> [1493975621.523061] [../../git/src/mm-port-serial.c:1371]
_close_internal(): (ttyACM0) serial port closed

This means we would need to introduce an arbitrary timeout after
sending SIM-PIN before we re-check whether it is required or not.

The best way to do this is actually by subclassing the send_pin() and send_puk() methods in the MMBaseSim object, and introducing the wait time *after* having sent the SIM-PIN and before returning from the async methods saying that the operation is finished.
Comment 1 GitLab Migration User 2018-06-10 09:05:24 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/66.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.