huawei: Use CFUN=5 for CDMA offline state handling
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 7 Jan 2012 03:16:43 +0000 (19:16 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 7 Jan 2012 03:16:43 +0000 (19:16 -0800)
The Huawei CDMA modems only support CFUN=5 for offline mode and so
enforce this one if CDMA support has been detected. Even if the modem
would indicate AT^RFSWITCH support.

plugins/huawei.c

index 73a8b19..ea87f60 100644 (file)
@@ -412,11 +412,17 @@ static void rfswitch_support(gboolean ok, GAtResult *result, gpointer user_data)
        struct ofono_modem *modem = user_data;
        struct huawei_data *data = ofono_modem_get_data(modem);
 
+       if (data->have_gsm == FALSE && data->have_cdma == TRUE) {
+               data->offline_command = "AT+CFUN=5";
+               goto done;
+       }
+
        if (!ok)
                data->offline_command = "AT+CFUN=5";
        else
                data->offline_command = "AT+CFUN=7";
 
+done:
        g_at_chat_send(data->pcui, "AT+CFUN=1", none_prefix,
                                        cfun_enable, modem, NULL);
 }