Re: Detecting Dual SIM on EM7455

2021-04-08 Thread Jack Broderick
Hey Alexsdander,

On Thu, Apr 8, 2021 at 3:28 AM Aleksander Morgado 
wrote:

> Hey Jack
>
> >>> > 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]:   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")
> >
> > ModemManager[18089]:   [base-manager] port ttyUSB2 released by
> device
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> > ModemManager[18089]:   [base-manager] port ttyUSB3 released by
> device
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> > ModemManager[18089]:   [base-manager] port ttyUSB4 released by
> device
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> > ModemManager[18089]:   [base-manager] port wwan1 released by
> device
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> > ModemManager[18089]:   [base-manager] port cdc-wdm1 released by
> device
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> > ModemManager[18089]:   [device
> /sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1]
> creating modem with plugin 'sierra' and '2' ports
> > ModemManager[18089]:   [modem1/sim2] couldn't wait for SIM to be
> ready: failed waiting for SIM readiness
> > ModemManager[18089]:   [modem1/sim2] couldn't load IMSI: Couldn't
> peek QMI port
> > ModemManager[18089]:   [modem2] couldn't start initialization:
> Couldn't query file info: Error when getting information for file
> “/dev/cdc-wdm2”: No such file or directory
> > ModemManager[18089]:   [modem2] couldn't initialize: 'Modem is
> unusable, cannot fully initialize'
> > ModemManager[18089]:   [modem1/sim2] couldn't load operator
> identifier: Couldn't peek QMI port
> > ModemManager[18089]:   [modem1/sim2] couldn't load operator name:
> Couldn't peek QMI port
> > ModemManager[18089]:   [modem1/sim2] couldn't load list of
> emergency numbers: No AT port available to run command
> >
> > Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
> > 0x76f38e9c in mm_gdbus_modem_get_unlock_required () from
> /usr/lib/libmm-glib.so.0
> > (gdb) bt
> > #0  0x76f38e9c in mm_gdbus_modem_get_unlock_required () from
> /usr/lib/libmm-glib.so.0
> > #1  0x0007071c in ?? ()
> > Backtrace stopped: previous frame identical to this frame (corrupt
> stack?)
> >
>
> Thanks for that! This totally looks like
> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/351
> and it's already fixed in git master and cherry-picked for the next
> 1.16.4 soon.
>
Great, thanks!

>
> --
> Aleksander
> https://aleksander.es
>
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Detecting Dual SIM on EM7455

2021-04-08 Thread Aleksander Morgado
Hey Jack

>>> > 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]:   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")
>
> ModemManager[18089]:   [base-manager] port ttyUSB2 released by device 
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> ModemManager[18089]:   [base-manager] port ttyUSB3 released by device 
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> ModemManager[18089]:   [base-manager] port ttyUSB4 released by device 
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> ModemManager[18089]:   [base-manager] port wwan1 released by device 
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> ModemManager[18089]:   [base-manager] port cdc-wdm1 released by device 
> '/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
> ModemManager[18089]:   [device 
> /sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1] 
> creating modem with plugin 'sierra' and '2' ports
> ModemManager[18089]:   [modem1/sim2] couldn't wait for SIM to be ready: 
> failed waiting for SIM readiness
> ModemManager[18089]:   [modem1/sim2] couldn't load IMSI: Couldn't peek 
> QMI port
> ModemManager[18089]:   [modem2] couldn't start initialization: Couldn't 
> query file info: Error when getting information for file “/dev/cdc-wdm2”: No 
> such file or directory
> ModemManager[18089]:   [modem2] couldn't initialize: 'Modem is 
> unusable, cannot fully initialize'
> ModemManager[18089]:   [modem1/sim2] couldn't load operator identifier: 
> Couldn't peek QMI port
> ModemManager[18089]:   [modem1/sim2] couldn't load operator name: 
> Couldn't peek QMI port
> ModemManager[18089]:   [modem1/sim2] couldn't load list of emergency 
> numbers: No AT port available to run command
>
> Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
> 0x76f38e9c in mm_gdbus_modem_get_unlock_required () from 
> /usr/lib/libmm-glib.so.0
> (gdb) bt
> #0  0x76f38e9c in mm_gdbus_modem_get_unlock_required () from 
> /usr/lib/libmm-glib.so.0
> #1  0x0007071c in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>

Thanks for that! This totally looks like
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/351
and it's already fixed in git master and cherry-picked for the next
1.16.4 soon.

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Detecting Dual SIM on EM7455

2021-04-08 Thread Aleksander Morgado
Hey Jack,

>> >> 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.
>
> Yeah it's not ideal but the hardware SIM detect line always reports "SIM 
> Present" regardless of whether the SIM is there. Ideally it would probe the 
> non-active SIM slot as well.
>>
>>
>> > 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]:   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")
>
>
> I'll look into that. We don't bundle gdb or gdbserver in our OpenWRT version 
> but I will build those packages and see what I can get out of it.
>>
>>
>> > 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:
>> 

Re: Detecting Dual SIM on EM7455

2021-04-07 Thread Jack Broderick
Update on gdb:

On Wed, Apr 7, 2021 at 9:23 PM Jack Broderick 
wrote:

> Hello,
>
> On Wed, Apr 7, 2021 at 4:10 PM Aleksander Morgado <
> aleksan...@aleksander.es> wrote:
>
>> 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.
>>
> Yeah it's not ideal but the hardware SIM detect line always reports "SIM
> Present" regardless of whether the SIM is there. Ideally it would probe the
> non-active SIM slot as well.
>
>>
>> > 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]:   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")
>>
> ModemManager[18089]:   [base-manager] port ttyUSB2 released by
device
'/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
ModemManager[18089]:   [base-manager] port ttyUSB3 released by device
'/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
ModemManager[18089]:   [base-manager] port ttyUSB4 released by device
'/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
ModemManager[18089]:   [base-manager] port wwan1 released by device
'/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
ModemManager[18089]:   [base-manager] port cdc-wdm1 released by
device
'/sys/devices/soc0/soc/210.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1'
ModemManager[18089]:   [device

Re: Detecting Dual SIM on EM7455

2021-04-07 Thread Jack Broderick
Hello,

On Wed, Apr 7, 2021 at 4:10 PM Aleksander Morgado 
wrote:

> 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.
>
Yeah it's not ideal but the hardware SIM detect line always reports "SIM
Present" regardless of whether the SIM is there. Ideally it would probe the
non-active SIM slot as well.

>
> > 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]:   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")
>

I'll look into that. We don't bundle gdb or gdbserver in our OpenWRT
version but I will build those packages and see what I can get out of it.

>
> > 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 

Re: Detecting Dual SIM on EM7455

2021-04-07 Thread Aleksander Morgado
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]:   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: 8986502000180722
>   Physical slot 2:
>  Card status: 

Re: Detecting Dual SIM on EM7455

2021-04-07 Thread Jack Broderick
On Wed, Apr 7, 2021 at 5:31 AM Aleksander Morgado 
wrote:

> Hey,
>
> >> > I have recently upgraded to 1.16.2 on OpenWRT in order to utilize the
> extended SIM features. We integrate both the EM7511 and EM/MC7455. We have
> identified that on boot, the EM7511 will detect both SIM's installed, with
> the EM7455, however, it requires switching between the slots to detect. We
> previously identified this issue when using just qmicli in order to read
> the SIM slots.
> >> >
> >> > We resolved this issue by "toggling" the SIM slot on boot so qmicli
> would pick up both slots.
> >>
> >> You're saying that you need to switch SIM on boot, e.g. to the
> >> secondary SIM, so that the modem ends up reporting that 2 SIMs are
> >> active? If that's the case, I have a theory.
> >
> >
> > The idea isn't necessarily that both need to be active, it's that we
> would like to see the information for both SIM's that are installed at all
> times.
> >>
> >>
> >> > It is a bit of a hack, but it works. This becomes an issue, when
> using AT!IMPREF="AUTO-SIM", and using two SIM's that use different
> profiles. For example, if SIM1=AT and SIM2=GENERIC, when switching SIM's
> the modem appears to reboot. It is not just a reprobe by ModemManager, the
> usb device detaches and re-attaches.
> >>
> >> That is actually expected when using AUTO-SIM, as the "active" SIM
> >> mandates which carrier config is loaded in the device. If you're
> >> switching SIMs actively, the modem will reset itself to boot with the
> >> new carrier config automatically selected.
> >
> >
> > Okay, that makes sense, ideally we would be able to still "see" what is
> in the other SIM slot after this reset.
> >>
> >>
> >> >
> >> > The interesting thing is, with the EM7511, both SIM's are reported by
> both mmcli and qmicli without needing to "toggle". I am curious if this
> issue has been seen in any other testing.
> >> >
> >> > EM7455 After Boot, with modem on SIM1 before reboot:
> >> >   ---
> >> >   SIM  |primary sim path:
> /org/freedesktop/ModemManager1/SIM/0
> >> >|  sim slot paths: slot 1:
> /org/freedesktop/ModemManager1/SIM/0 (active)
> >> >|  slot 2: none
> >> >
> >> > After running mmcli -m 0 --set-primary-sim-slot=2
> >> >
> >> >   ---
> >> >   SIM  |primary sim path:
> /org/freedesktop/ModemManager1/SIM/2
> >> >|  sim slot paths: slot 1:
> /org/freedesktop/ModemManager1/SIM/1
> >> >|  slot 2:
> /org/freedesktop/ModemManager1/SIM/2 (active)
> >> >
> >> > The modem did not reset because AT!IMPREF="GENERIC" was set, the
> modem did re-enumerate in modemanager, however.
> >> >
> >>
> >> Could you run this qmicli command on the EM7455 after boot?
> >> $ qmicli -d /dev/cdc-wdm0 -p --uim-get-card-status
> >> $ qmicli -d /dev/cdc-wdm0 -p --uim-get-slot-status
> >
> >
> > root@test:~# qmicli -d /dev/cdc-wdm1 -p --uim-get-card-status
> > [/dev/cdc-wdm1] 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:06:19: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: '10'
> > 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:07:03:00:00
> > Personalization state: 'unknown'
> > UPIN replaces PIN1: 'no'
> > PIN1 state: 'not-initialized'
> > PIN1 retries: '0'
> > PUK1 retries: '0'
> > 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'
> > root@test:~# qmicli -d /dev/cdc-wdm1 -p --uim-get-slot-status
> > [/dev/cdc-wdm1] Successfully got slots status
> > [/dev/cdc-wdm1] 2 physical slots found:
> >   Physical slot 1:
> >  Card status: present
> >  Slot status: inactive
> >ICCID: unknown
> >   Physical slot 2:
> >  Card status: present
> >  Slot status: active
> > Logical slot: 1
> >ICCID: 8901260882270113639
> >
> > This is after reboot where Slot 2 as the active slot before reboot (I
> had just rebooted with that SIM active while debugging).
>
> 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. 

Re: Detecting Dual SIM on EM7455

2021-04-07 Thread Aleksander Morgado
Hey,

>> > I have recently upgraded to 1.16.2 on OpenWRT in order to utilize the 
>> > extended SIM features. We integrate both the EM7511 and EM/MC7455. We have 
>> > identified that on boot, the EM7511 will detect both SIM's installed, with 
>> > the EM7455, however, it requires switching between the slots to detect. We 
>> > previously identified this issue when using just qmicli in order to read 
>> > the SIM slots.
>> >
>> > We resolved this issue by "toggling" the SIM slot on boot so qmicli would 
>> > pick up both slots.
>>
>> You're saying that you need to switch SIM on boot, e.g. to the
>> secondary SIM, so that the modem ends up reporting that 2 SIMs are
>> active? If that's the case, I have a theory.
>
>
> The idea isn't necessarily that both need to be active, it's that we would 
> like to see the information for both SIM's that are installed at all times.
>>
>>
>> > It is a bit of a hack, but it works. This becomes an issue, when using 
>> > AT!IMPREF="AUTO-SIM", and using two SIM's that use different profiles. For 
>> > example, if SIM1=AT and SIM2=GENERIC, when switching SIM's the modem 
>> > appears to reboot. It is not just a reprobe by ModemManager, the usb 
>> > device detaches and re-attaches.
>>
>> That is actually expected when using AUTO-SIM, as the "active" SIM
>> mandates which carrier config is loaded in the device. If you're
>> switching SIMs actively, the modem will reset itself to boot with the
>> new carrier config automatically selected.
>
>
> Okay, that makes sense, ideally we would be able to still "see" what is in 
> the other SIM slot after this reset.
>>
>>
>> >
>> > The interesting thing is, with the EM7511, both SIM's are reported by both 
>> > mmcli and qmicli without needing to "toggle". I am curious if this issue 
>> > has been seen in any other testing.
>> >
>> > EM7455 After Boot, with modem on SIM1 before reboot:
>> >   ---
>> >   SIM  |primary sim path: /org/freedesktop/ModemManager1/SIM/0
>> >|  sim slot paths: slot 1: 
>> > /org/freedesktop/ModemManager1/SIM/0 (active)
>> >|  slot 2: none
>> >
>> > After running mmcli -m 0 --set-primary-sim-slot=2
>> >
>> >   ---
>> >   SIM  |primary sim path: /org/freedesktop/ModemManager1/SIM/2
>> >|  sim slot paths: slot 1: 
>> > /org/freedesktop/ModemManager1/SIM/1
>> >|  slot 2: 
>> > /org/freedesktop/ModemManager1/SIM/2 (active)
>> >
>> > The modem did not reset because AT!IMPREF="GENERIC" was set, the modem did 
>> > re-enumerate in modemanager, however.
>> >
>>
>> Could you run this qmicli command on the EM7455 after boot?
>> $ qmicli -d /dev/cdc-wdm0 -p --uim-get-card-status
>> $ qmicli -d /dev/cdc-wdm0 -p --uim-get-slot-status
>
>
> root@test:~# qmicli -d /dev/cdc-wdm1 -p --uim-get-card-status
> [/dev/cdc-wdm1] 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:06:19: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: '10'
> 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:07:03:00:00
> Personalization state: 'unknown'
> UPIN replaces PIN1: 'no'
> PIN1 state: 'not-initialized'
> PIN1 retries: '0'
> PUK1 retries: '0'
> 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'
> root@test:~# qmicli -d /dev/cdc-wdm1 -p --uim-get-slot-status
> [/dev/cdc-wdm1] Successfully got slots status
> [/dev/cdc-wdm1] 2 physical slots found:
>   Physical slot 1:
>  Card status: present
>  Slot status: inactive
>ICCID: unknown
>   Physical slot 2:
>  Card status: present
>  Slot status: active
> Logical slot: 1
>ICCID: 8901260882270113639
>
> This is after reboot where Slot 2 as the active slot before reboot (I had 
> just rebooted with that SIM active while debugging).

Could you please test showing the failed case where, upon boot,
--uim-get-card-status shows one single SIM instead of two?

>>
>>
>> My assumption is that you're seeing one single SIM reported because
>> --uim-get-slot-status reports one single SIM. BUT, does
>> --uim-get-card-status report 2 SIMs? ModemManager currently ignores
>> the 2nd SIM in --uim-get-card-status, 

Re: Detecting Dual SIM on EM7455

2021-04-06 Thread Jack Broderick
Hello,

On Tue, Apr 6, 2021 at 5:51 PM Aleksander Morgado 
wrote:

> Hey,
>
> On Tue, Apr 6, 2021 at 11:33 PM Jack Broderick
>  wrote:
> >
> > Hello,
> >
> > I have recently upgraded to 1.16.2 on OpenWRT in order to utilize the
> extended SIM features. We integrate both the EM7511 and EM/MC7455. We have
> identified that on boot, the EM7511 will detect both SIM's installed, with
> the EM7455, however, it requires switching between the slots to detect. We
> previously identified this issue when using just qmicli in order to read
> the SIM slots.
> >
> > We resolved this issue by "toggling" the SIM slot on boot so qmicli
> would pick up both slots.
>
> You're saying that you need to switch SIM on boot, e.g. to the
> secondary SIM, so that the modem ends up reporting that 2 SIMs are
> active? If that's the case, I have a theory.
>

The idea isn't necessarily that both need to be active, it's that we would
like to see the information for both SIM's that are installed at all times.

>
> > It is a bit of a hack, but it works. This becomes an issue, when using
> AT!IMPREF="AUTO-SIM", and using two SIM's that use different profiles. For
> example, if SIM1=AT and SIM2=GENERIC, when switching SIM's the modem
> appears to reboot. It is not just a reprobe by ModemManager, the usb device
> detaches and re-attaches.
>
> That is actually expected when using AUTO-SIM, as the "active" SIM
> mandates which carrier config is loaded in the device. If you're
> switching SIMs actively, the modem will reset itself to boot with the
> new carrier config automatically selected.
>

Okay, that makes sense, ideally we would be able to still "see" what is in
the other SIM slot after this reset.

>
> >
> > The interesting thing is, with the EM7511, both SIM's are reported by
> both mmcli and qmicli without needing to "toggle". I am curious if this
> issue has been seen in any other testing.
> >
> > EM7455 After Boot, with modem on SIM1 before reboot:
> >   ---
> >   SIM  |primary sim path:
> /org/freedesktop/ModemManager1/SIM/0
> >|  sim slot paths: slot 1:
> /org/freedesktop/ModemManager1/SIM/0 (active)
> >|  slot 2: none
> >
> > After running mmcli -m 0 --set-primary-sim-slot=2
> >
> >   ---
> >   SIM  |primary sim path:
> /org/freedesktop/ModemManager1/SIM/2
> >|  sim slot paths: slot 1:
> /org/freedesktop/ModemManager1/SIM/1
> >|  slot 2:
> /org/freedesktop/ModemManager1/SIM/2 (active)
> >
> > The modem did not reset because AT!IMPREF="GENERIC" was set, the modem
> did re-enumerate in modemanager, however.
> >
>
> Could you run this qmicli command on the EM7455 after boot?
> $ qmicli -d /dev/cdc-wdm0 -p --uim-get-card-status
> $ qmicli -d /dev/cdc-wdm0 -p --uim-get-slot-status
>

root@test:~# qmicli -d /dev/cdc-wdm1 -p --uim-get-card-status
[/dev/cdc-wdm1] 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:06:19: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: '10'
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:07:03:00:00
Personalization state: 'unknown'
UPIN replaces PIN1: 'no'
PIN1 state: 'not-initialized'
PIN1 retries: '0'
PUK1 retries: '0'
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'
root@test:~# qmicli -d /dev/cdc-wdm1 -p --uim-get-slot-status
[/dev/cdc-wdm1] Successfully got slots status
[/dev/cdc-wdm1] 2 physical slots found:
  Physical slot 1:
 Card status: present
 Slot status: inactive
   ICCID: unknown
  Physical slot 2:
 Card status: present
 Slot status: active
Logical slot: 1
   ICCID: 8901260882270113639

This is after reboot where Slot 2 as the active slot before reboot (I had
just rebooted with that SIM active while debugging).

>
> My assumption is that you're seeing one single SIM reported because
> --uim-get-slot-status reports one single SIM. BUT, does
> --uim-get-card-status report 2 SIMs? ModemManager currently ignores
> the 2nd SIM in --uim-get-card-status, because in this case both SIMs
> are really active (unlike the slot status case). Right now MM doesn't
> support the Dual SIM Dual Active case, although it shouldn't be very
> difficult to support that (e.g. selecting 

Re: Detecting Dual SIM on EM7455

2021-04-06 Thread Aleksander Morgado
Hey,

On Tue, Apr 6, 2021 at 11:33 PM Jack Broderick
 wrote:
>
> Hello,
>
> I have recently upgraded to 1.16.2 on OpenWRT in order to utilize the 
> extended SIM features. We integrate both the EM7511 and EM/MC7455. We have 
> identified that on boot, the EM7511 will detect both SIM's installed, with 
> the EM7455, however, it requires switching between the slots to detect. We 
> previously identified this issue when using just qmicli in order to read the 
> SIM slots.
>
> We resolved this issue by "toggling" the SIM slot on boot so qmicli would 
> pick up both slots.

You're saying that you need to switch SIM on boot, e.g. to the
secondary SIM, so that the modem ends up reporting that 2 SIMs are
active? If that's the case, I have a theory.

> It is a bit of a hack, but it works. This becomes an issue, when using 
> AT!IMPREF="AUTO-SIM", and using two SIM's that use different profiles. For 
> example, if SIM1=AT and SIM2=GENERIC, when switching SIM's the modem 
> appears to reboot. It is not just a reprobe by ModemManager, the usb device 
> detaches and re-attaches.

That is actually expected when using AUTO-SIM, as the "active" SIM
mandates which carrier config is loaded in the device. If you're
switching SIMs actively, the modem will reset itself to boot with the
new carrier config automatically selected.

>
> The interesting thing is, with the EM7511, both SIM's are reported by both 
> mmcli and qmicli without needing to "toggle". I am curious if this issue has 
> been seen in any other testing.
>
> EM7455 After Boot, with modem on SIM1 before reboot:
>   ---
>   SIM  |primary sim path: /org/freedesktop/ModemManager1/SIM/0
>|  sim slot paths: slot 1: 
> /org/freedesktop/ModemManager1/SIM/0 (active)
>|  slot 2: none
>
> After running mmcli -m 0 --set-primary-sim-slot=2
>
>   ---
>   SIM  |primary sim path: /org/freedesktop/ModemManager1/SIM/2
>|  sim slot paths: slot 1: 
> /org/freedesktop/ModemManager1/SIM/1
>|  slot 2: 
> /org/freedesktop/ModemManager1/SIM/2 (active)
>
> The modem did not reset because AT!IMPREF="GENERIC" was set, the modem did 
> re-enumerate in modemanager, however.
>

Could you run this qmicli command on the EM7455 after boot?
$ qmicli -d /dev/cdc-wdm0 -p --uim-get-card-status
$ qmicli -d /dev/cdc-wdm0 -p --uim-get-slot-status

My assumption is that you're seeing one single SIM reported because
--uim-get-slot-status reports one single SIM. BUT, does
--uim-get-card-status report 2 SIMs? ModemManager currently ignores
the 2nd SIM in --uim-get-card-status, because in this case both SIMs
are really active (unlike the slot status case). Right now MM doesn't
support the Dual SIM Dual Active case, although it shouldn't be very
difficult to support that (e.g. selecting which SIM will use the data
connection done via the GW provisioning session selection and such).

So when you manually toggle to select the 2nd SIM we're using
--uim-switch-slot and the setup switches to Dual SIM Single Active, so
the slots status ends up reporting 2 SIMs now (and card status would
report 1 single SIM).

Is this assumption in track? If it isn't, it could be some timing
issue of some sort, MM debug logs would help.

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel