Storage behaviour when sending SMS

Ulrich Mohr u.mohr at semex-engcon.com
Wed Jul 20 06:57:35 UTC 2022


Hey,
>
>> while trying to resolve the issue when sending SMS with specific mbim modems (https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/562), I see different behaviour when sending SMS depending on the modem I use:
>>
>> When I send an SMS using a non-MBIM modem (UBlox Toby L210, RNDIS), the SMS is shown (using mmcli) as sent. When I then restart ModemManager, the SMS is no longer there. So it seems that the message is not stored in SIM or modem.
>> When I send an SMS using my MBIM modem (Telit LE910C1-EU), the SMS is shown (using mmcli) as sent. When I then restart ModemManager, the SMS is still there. So it seems that the message is stored immediately when sending (to be precise: Any attempt to send the SMS creates an entry in the SMS storage on this modem -- so when I have three attempts to send an SMS, two failed and the third succeeded, I have two drafts and on sent message in the storage (!?) )
>>
>> Is ModemManager capable to handle both of these scenarios? It seems to me that ModemManager does not expect the second scenario, which leads to the issue when deleting messages...
>>
> The SMS management in the MBIM protocol is extremely bad. There is no
> notion of SMS storages or no action to explicitly store SMS messages.
> Any SMS management operation on devices using the MBIM protocol
> exclusively is really far from ideal.

In fact, it is a real show-stopper in my case, because there is no way 
to assure SMS sending to work properly: The message is stored, but I 
don't know where it is stored (got no index), so there is no way for 
ModemManager to properly delete the message. After a short while, SMS 
memory is full and I can't send any further messages. I can't even 
delete all messages, because ModemManager does not "see" them....

On possibility would be to read all messages any time one has been sent 
(as we do when ModemManager starts). But then there is still the 
question, how to find out which message is the one we just sent. Do you 
have any idea how to identify a message in the store after sending it 
without using the index?

Another possibility (just for my case) would be to delete all sent SMS 
each time after sending. But there is no support for that in mbimcli, 
although the MBIM protocol includes such a command. Do you have some 
guidance where to start if I want to implement it?

> I have considered in the past modifying the logic so that all SMS
> management operations are done via AT commands when an AT port is
> available in the MBIM device, as that would allow us to be
> full-featured again in this regard. This is something that could
> benefit all MBIM devices out there, so a really nice thing to do IMO.
> If anyone is up to the task, let me know and I'll provide some
> guidance on what should be done.

It might be the only way for me to make SMS work when I want to use MBIM 
on that particular modem. So your guidance would be very helpful ....


>> (BTW: In both cases, ModemManager crashes when I try to store the message using mmcli after it has been sent).
>>
>>
>> Ohh, that's something to fix definitely. Could you open a new issue in
>> gitlab? We should not crash, we should return an error cleanly.
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/598

-- 
Best regards / Mit freundlichen Grüßen / Salutations distinguées

Ulrich Mohr

SEMEX-EngCon GmbH
Carl-Merz-Strass 26
76275 Ettlingen
Phone: +49 (0) 7243 5143596
email:  u.mohr at semex-engcon.com
___________________________________________
Executive board: A. Stiegler, H.-J. Nitzpon
Commercial register: Mannheim, HRB 718881
Company domicile: Ettlingen



More information about the ModemManager-devel mailing list