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