diff options
author | Dan Williams <dcbw@redhat.com> | 2009-10-12 11:45:20 -0700 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2009-10-12 11:45:20 -0700 |
commit | 6f65ad768238395a3bfc3e02fd946843282492d2 (patch) | |
tree | 991213ff0482693d38230f8a9e22d6b8c1ef097d | |
parent | 942b5ff826d5d0a4ce7c6923e92206467736f9af (diff) |
sierra: handle non-EVDO roaming indication for older cards
Like the AC580
-rw-r--r-- | plugins/mm-modem-sierra-cdma.c | 12 |
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); |