diff options
author | Pavan Holla <pholla@chromium.org> | 2021-04-12 15:58:09 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-04-12 21:03:57 +0000 |
commit | b978a7045fe26f31f88acb9a1a2300cbcdfcac78 (patch) | |
tree | 6a65625a1e9d46c7ff197dd5b1a470a9aaf5d50f /cli/mmcli.c | |
parent | b766ded3ca58cee202bd4567dd5530f04dc2290d (diff) |
shared-qmi: Remove iteration over slots at startup
MM used to iterate over each SIM slot to load IMSI, operator name etc.
However, switching slots at start up caused a few issues in the real
world.
a) Sierra Wireless' AUTO-SIM feature, the hidden SIM slot switching
is actually triggering a full modem reset (because the firmware
detects a new SIM for a different operator, and automatically resets
itself to load the firmware+carrier config associated to that other
operator).
b) The IMSI on slot 2 is reported to be the same as slot 1.
This is solved by adding a 1000ms delay before reading IMSI
on slot 2, after GET_CARD_STATUS indicates the sim is ready. The
delay means a 2s startup penalty when both slots are loaded.
c) 2/5 developers have encountered a fw bug where the modem
incorrectly reports that the SIM on slot 1 has vanished
after the sequence of slot switches. This makes the modem
unusable.
d) If the eSIM daemon changes slots and opens a channel to the eUICC,
MM will detect a hotswap, and break the channel during reprobe.
e) SIMs from a certain large operator in the US take over 20s to be
ready. Thus, switching to such a SIM for just loading IMSI may not be
worth it.
This change does not affect detection of sims in all slots. We still
expose the iccid and presence of all sims. However, properties like
IMSI and operator_name will not be exposed for the inactive slot.
Diffstat (limited to 'cli/mmcli.c')
0 files changed, 0 insertions, 0 deletions