[PATCH 2/2 v2] huawei: implement modem reset via +CFUN=16 for MU736

Aleksander Morgado aleksander at lanedo.com
Wed Aug 14 00:36:37 PDT 2013


On 14/08/13 09:33, Aleksander Morgado wrote:
> On 14/08/13 09:01, Ben Chan wrote:
>> ---
>>  plugins/huawei/mm-broadband-modem-huawei.c | 13 ++++++++++++-
>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>
> 
> Pushed, thanks.
> 

Second thoughts after pushing, as always :)

Just wondering:

 * Is it possible to run AT+CFUN=? and get whether the modem supports
AT+CFUN=16?

 * Does AT+CFUN=16 always mean reset?

If both above are TRUE, can we instead maybe check whether AT+CFUN=16 is
supported and use it for reset if so, and otherwise fallback to ^RESET?
That should avoid having to match the model; and therefore less
maintenance burden when new models are released...



>> diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c
>> index c34acc2..f356102 100644
>> --- a/plugins/huawei/mm-broadband-modem-huawei.c
>> +++ b/plugins/huawei/mm-broadband-modem-huawei.c
>> @@ -437,8 +437,19 @@ reset (MMIfaceModem *self,
>>         GAsyncReadyCallback callback,
>>         gpointer user_data)
>>  {
>> +    const gchar *command;
>> +
>> +    /* Unlike other Huawei modems that support AT^RESET for resetting the modem,
>> +     * Huawei MU736 supports AT^RESET but does not reset the modem upon receiving
>> +     * AT^RESET. It does, however, support resetting itself via AT+CFUN=16.
>> +     */
>> +    if (g_strcmp0 (mm_iface_modem_get_model (self), "MU736") == 0)
>> +        command = "+CFUN=16";
>> +    else
>> +        command = "^RESET";
>> +
>>      mm_base_modem_at_command (MM_BASE_MODEM (self),
>> -                              "^RESET",
>> +                              command,
>>                                3,
>>                                FALSE,
>>                                callback,
>>
> 
> 


-- 
Aleksander


More information about the ModemManager-devel mailing list