SIMCOM: add a quirk for signal strength reporting
authorAnthony Viallard <viallard@syscom-instruments.com>
Fri, 19 Jul 2013 13:35:37 +0000 (15:35 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Mon, 22 Jul 2013 20:48:59 +0000 (15:48 -0500)
We must tell we want the signal strength reporting using
AT+AUTOCSQ command (ref. "SIM5215_SIM5216_ATC_V1.18.pdf - ยง10.7").

drivers/atmodem/network-registration.c

index 24b71a3..8cc04b7 100644 (file)
@@ -1753,6 +1753,14 @@ static void at_creg_set_cb(gboolean ok, GAtResult *result, gpointer user_data)
        }
 
        switch (nd->vendor) {
+       case OFONO_VENDOR_SIMCOM:
+               /* Register for CSQ changes */
+               g_at_chat_send(nd->chat, "AT+AUTOCSQ=1,1", none_prefix,
+                               NULL, NULL, NULL);
+
+               g_at_chat_register(nd->chat, "+CSQ:",
+                                  csq_notify, FALSE, netreg, NULL);
+               break;
        case OFONO_VENDOR_PHONESIM:
                g_at_chat_register(nd->chat, "+CSQ:",
                                        csq_notify, FALSE, netreg, NULL);
@@ -1898,7 +1906,6 @@ static void at_creg_set_cb(gboolean ok, GAtResult *result, gpointer user_data)
                break;
        case OFONO_VENDOR_NOKIA:
        case OFONO_VENDOR_SAMSUNG:
-       case OFONO_VENDOR_SIMCOM:
                /* Signal strength reporting via CIND is not supported */
                break;
        default: