sierra: handle non-EVDO roaming indication for older cards

Like the AC580
This commit is contained in:
Dan Williams
2009-10-12 11:45:20 -07:00
parent 942b5ff826
commit 6f65ad7682

View File

@@ -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);