Fixing bug 93135 (AT+CPMS error with Telit modems)

Carlo Lobrano c.lobrano at gmail.com
Mon Mar 7 09:07:11 UTC 2016


Hi to everybody,

I am working on a fix for Bug 93135 - Telit HE910: `+CPMS="",...` fails as
"Operation Not Supported".
The problem is that Telit modems does not support empty strings as +CPMS
parameter,
while in MM the empty parameter is used in order to keep the current memory
configuration for
that field (like AT+CPMS="","ME")

I followed the hint given by Aleksander in a previous e-mail in order to
have mem1 set to the current
supported storage, if not set otherwise, in place of being unknown

> [...] what I would do, is to provide in MMBroadbandModemClass a new
> async virtual method to "load_current_sms_mem_storage()" (or something
> like that). The logic in MMBroadbandModem which checks which are the
> supported storages could then have a new step to query which is the
> current storage (which we only need to do once), all this in the
> MMBroadbandModem class.

however the same kind of AT command is emitted in sms_store function
(mm-sms-base.c), where
mm_broadband_modem_lock_sms_storages is called with mem1 explicitly set to
UNKNOWN:

    mm_broadband_modem_lock_sms_storages (
        MM_BROADBAND_MODEM (self->priv->modem),
        MM_SMS_STORAGE_UNKNOWN, /* none required for mem1 */
        ctx->storage,
        (GAsyncReadyCallback)store_lock_sms_storages_ready,
        ctx);

I do not get why none is required for mem1 in this case and I would like to
know if can be considered
safe to use the value of "current_sms_mem1_storage" when the local value of
mem1 in
mm_broadband_modem_lock_sms_storages is UNKNOWN

Best regards,
Carlo Lobrano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20160307/a26d6598/attachment.html>


More information about the ModemManager-devel mailing list