Dual SIM on Telit LE910C1-EU

Aleksander Morgado aleksander at aleksander.es
Wed Jul 13 07:59:04 UTC 2022


Hey Ulrich,

> I use a telit LE910C1-EU with mbim interface. This modem has support for two sim slots and we want to use this feature with ModemManager (I am using Version 1.19.0)
>
> What I want to do is
>
> find out which slot is currently active
> switch active slot if possible
>
> I am able to switch the slot using AT commands directly. Using qmicli works as well. But I am not able to use mmcli to do so.
> From looking at the code, it seems that using AT commands is not implemented in the telit plugin and using qmi-over-mbim is not implemented for the uim service. It seems to me that there is some code for that in the mbim broadband modem, but I don't understand how that can work, since the service QMI_SERVICE_UIM is not included in the list of QMI service in the mbim implementation. I tried to include the service in the list, but that caused modem manager to crash since the modem is not a QMI modem (invalid cast)
>

That's a bug to fix. QMI_SERVICE_UIM should definitely be in that
qmi_services list in MMBroadbandModemMbim, otherwise the shared utils
using the UIM client will all fail. What's the exact crash you got
when doing that? can you get a backtrace?

>
> So the question is how to implement that dual SIM support? To me, the most promising seems to support the UIM service via qmi-over-mbim, but it is not clear to me what the best way is to do so? Do you have some guidance how to proceed?
>

The MMBroadbandModemMbim object already supports multi-SIM management
using the Microsoft MBIM extensions (e.g. device slot mappings query).
But, it also supports multi-SIM management using QMI over MBIM, which
is actually the preferred way of doing it; i.e.:

 * If built with QMI and QMI-over-MBIM support:
    ** It'll try QMI-based multi-SIM management first always.
    ** If QMI-based multi-SIM management fails (e.g. device doesn't
support QMI-over-MBIM), it falls back to MBIM-based multi-SIM
management.
 * If not built with QMI or QMI-over-MBIM support, it will use
MBIM-based multi-SIM management by default.

In your case it didn't try QMI over MBIM because of the missing UIM
client allocation in MMBroadbandModemMbim.

> I attach parts of the starting log ....
>

Please try to get a debug-level log always:
https://modemmanager.org/docs/modemmanager/debugging/

> ModemManager[17594]: <info>  [modem0] QMI-based capability and mode switching support enabled
> ModemManager[17594]: <warn>  [modem0] couldn't query SIM slots: NoDeviceSupport

This error actually shows that no QMI over MBIM was tried, as the
NoDeviceSupport is actually a MBIM error, so it only tried MBIM, and
maybe that specific Microsoft extension isn't supported by the
firmware.

We need to fix that UIM client allocation issue, could you please dig into that?
And open a new issue in gitlab for that please?

Thanks!

-- 
Aleksander


More information about the ModemManager-devel mailing list