aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2009-10-12 11:45:20 -0700
committerDan Williams <dcbw@redhat.com>2009-10-12 11:45:20 -0700
commit6f65ad768238395a3bfc3e02fd946843282492d2 (patch)
tree991213ff0482693d38230f8a9e22d6b8c1ef097d
parent942b5ff826d5d0a4ce7c6923e92206467736f9af (diff)
sierra: handle non-EVDO roaming indication for older cards
Like the AC580
-rw-r--r--plugins/mm-modem-sierra-cdma.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/mm-modem-sierra-cdma.c b/plugins/mm-modem-sierra-cdma.c
index 897c8648..b74875eb 100644
--- a/plugins/mm-modem-sierra-cdma.c
+++ b/plugins/mm-modem-sierra-cdma.c
@@ -67,6 +67,7 @@ mm_modem_sierra_cdma_new (const char *device,
/*****************************************************************************/
#define MODEM_REG_TAG "Modem has registered"
+#define GENERIC_ROAM_TAG "Roaming:"
#define ROAM_1X_TAG "1xRoam:"
#define ROAM_EVDO_TAG "HDRRoam:"
#define SYS_MODE_TAG "Sys Mode:"
@@ -174,6 +175,17 @@ status_done (MMSerialPort *port,
MM_MODEM_CDMA_REGISTRATION_STATE_HOME);
evdo_set = TRUE;
}
+ if (get_roam_value (*iter, GENERIC_ROAM_TAG, &bool_val)) {
+ MMModemCdmaRegistrationState reg_state;
+
+ reg_state = bool_val ? MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING :
+ MM_MODEM_CDMA_REGISTRATION_STATE_HOME;
+
+ mm_generic_cdma_query_reg_state_set_callback_1x_state (info, reg_state);
+ mm_generic_cdma_query_reg_state_set_callback_evdo_state (info, reg_state);
+ cdma_1x_set = TRUE;
+ evdo_set = TRUE;
+ }
/* Current system mode */
p = strstr (*iter, SYS_MODE_TAG);