Hey, >> Could you please test showing the failed case where, upon boot, >> --uim-get-card-status shows one single SIM instead of two? >> > My apologies if this wasn't clear. The above case is the "failing" case. > --uim-get-card-status shows two SIMs, it doesn't, however, show the ICCID for > that card, which makes it appear from software as if that SIM card is not > installed.
Oh, I see. Then the issue has nothing to do with my assumption :) > I know there are "SIM Detect" lines on the SIM cards, however, we leave them > both floating because we do not know if a SIM will be installed or not during > production. We also do not have SIM slots that physically short that pin to > ground if a SIM is inserted. If the modem reports a second SIM is available, even if it does not read its ICCID, I would assume that the modem is doing some kind of SIM probing of some sort on the secondary slot too. But then I'm not sure; I believe I haven't seen before a case where SIM detect isn't being actively used. > Get Slot Status: > root@EDG4600:~# qmicli -p -d /dev/lte/qmi_b --uim-get-slot-status > [/dev/lte/qmi_b] Successfully got slots status > [/dev/lte/qmi_b] 2 physical slots found: > Physical slot 1: > Card status: present > Slot status: inactive > ICCID: unknown Ok, present but ICCID unknown, as you said. You're actively querying the modem with qmicli, so I would rule out a timing issue (e.g. I don't think the SIM is taking too much to initialize or something like that). > Physical slot 2: > Card status: present > Slot status: active > Logical slot: 1 > ICCID: 89011703278374634023 > > root@EDG4600:~# qmicli -p -d /dev/lte/qmi_b --uim-get-card-status > [/dev/lte/qmi_b] Successfully got card status > Provisioning applications: > Primary GW: slot '1', application '1' > Primary 1X: session doesn't exist > Secondary GW: session doesn't exist > Secondary 1X: session doesn't exist > Slot [1]: > Card state: 'present' > UPIN state: 'not-initialized' > UPIN retries: '0' > UPUK retries: '0' > Application [1]: > Application type: 'usim (2)' > Application state: 'ready' > Application ID: > A0:00:00:00:87:10:02:FF:FF:FF:FF:89:03:02:00:00 > Personalization state: 'ready' > UPIN replaces PIN1: 'no' > PIN1 state: 'disabled' > PIN1 retries: '3' > PUK1 retries: '10' > PIN2 state: 'enabled-not-verified' > PIN2 retries: '3' > PUK2 retries: '10' > Application [2]: > Application type: 'isim (5)' > Application state: 'detected' > Application ID: > A0:00:00:00:87:10:04:FF:FF:FF:FF:89:03:02:00:00 > Personalization state: 'unknown' > UPIN replaces PIN1: 'no' > PIN1 state: 'disabled' > PIN1 retries: '3' > PUK1 retries: '10' > PIN2 state: 'not-initialized' > PIN2 retries: '0' > PUK2 retries: '0' > Slot [2]: > Card state: 'absent' > UPIN state: 'not-initialized' > UPIN retries: '0' > UPUK retries: '0' > > *** Switch primary to slot 1 > A potentially unrelated issue is that it appears MM restarts when switching > slots on a modem that needs to switch profiles as a result: > Apr 7 10:56:07 EDG4600 ModemManager[15523]: <info> ModemManager (version > 1.16.2) starting in system bus... > > I have not looked into this, only just noticed as I switched the slot... > Oh that looks like a segfault. If you could get a backtrace and MM debug log after running with "gdb --args /usr/sbin/ModemManager debug" (then "r" for run, wait for it to crash, and "bt" for backtrace). you'll need to make sure the system-started MM is stopped before doing that also (e.g. "sudo systemctl stop ModemManager if using systemd") > After changing SIM slots only slot info 1 is shown. If the profile doesn't > switch, then the ICCID for both SIM's will be shown (which is the example I shared previously of --uim-get-card-status): > root@EDG4600:~# qmicli -p -d /dev/lte/qmi_b --uim-get-card-status > [/dev/lte/qmi_b] Successfully got card status > Provisioning applications: > Primary GW: slot '1', application '1' > Primary 1X: session doesn't exist > Secondary GW: session doesn't exist > Secondary 1X: session doesn't exist > Slot [1]: > Card state: 'present' > UPIN state: 'not-initialized' > UPIN retries: '0' > UPUK retries: '0' > Application [1]: > Application type: 'usim (2)' > Application state: 'ready' > Application ID: > A0:00:00:00:87:10:02:FF:86:FF:FF:89:FF:FF:FF:FF > Personalization state: 'ready' > UPIN replaces PIN1: 'no' > PIN1 state: 'disabled' > PIN1 retries: '3' > PUK1 retries: '3' > PIN2 state: 'enabled-not-verified' > PIN2 retries: '3' > PUK2 retries: '3' > Slot [2]: > Card state: 'absent' > UPIN state: 'not-initialized' > UPIN retries: '0' > UPUK retries: '0' > root@EDG4600:~# qmicli -p -d /dev/lte/qmi_b --uim-get-slot-status > [/dev/lte/qmi_b] Successfully got slots status > [/dev/lte/qmi_b] 2 physical slots found: > Physical slot 1: > Card status: present > Slot status: active > Logical slot: 1 > ICCID: 89860000502000180722 > Physical slot 2: > Card status: present > Slot status: inactive > ICCID: unknown > > An EM7511 with dual SIM shows the ICCID for both SIM's on bootup: Are you using the latest EM7455 firmware available? Maybe this is an issue already solved by a newer firmware. -- Aleksander https://aleksander.es _______________________________________________ ModemManager-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
