Hey, On Wed, Jul 20, 2022 at 8:57 AM Ulrich Mohr <u.m...@semex-engcon.com> wrote: > > 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.... >
I can acknowledge that struggle, I've been there myself. > 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? > That is a bad workaround IMO, too tricky to guess which is which if you don't have a consistent index to match them. > 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? > It shouldn't be too difficult to add that as the message is already in libmbim. Looking at the mbimcli sources fo a different service could help you init the SMS service support (e.g. in a new mbimcli-sms.c file) -- Aleksander