Merge commit 'origin/master' into states
This commit is contained in:
@@ -15,6 +15,30 @@ ATTRS{idProduct}=="0001", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_AUX}=
|
||||
ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0003", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0003", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0004", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0004", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0005", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0005", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0006", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0006", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0007", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0007", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0008", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0008", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0009", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0009", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="000A", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="000A", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0012", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0012", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
@@ -27,9 +51,18 @@ ATTRS{idProduct}=="0016", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}=
|
||||
ATTRS{idProduct}=="0017", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0017", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0018", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0018", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0019", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0019", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0021", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0021", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0024", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0024", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0025", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0025", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
@@ -42,6 +75,9 @@ ATTRS{idProduct}=="0031", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}=
|
||||
ATTRS{idProduct}=="0033", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0033", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0037", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0037", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
ATTRS{idProduct}=="0042", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
|
||||
ATTRS{idProduct}=="0042", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
|
||||
|
||||
|
||||
+42
-8
@@ -164,6 +164,11 @@ mm_generic_gsm_set_reg_status (MMGenericGsm *modem,
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
const char *result;
|
||||
guint code;
|
||||
} CPinResult;
|
||||
|
||||
static void
|
||||
pin_check_done (MMSerialPort *port,
|
||||
GString *response,
|
||||
@@ -172,6 +177,24 @@ pin_check_done (MMSerialPort *port,
|
||||
{
|
||||
MMCallbackInfo *info = (MMCallbackInfo *) user_data;
|
||||
gboolean parsed = FALSE;
|
||||
static CPinResult results[] = {
|
||||
{ "SIM PIN", MM_MOBILE_ERROR_SIM_PIN },
|
||||
{ "SIM PUK", MM_MOBILE_ERROR_SIM_PUK },
|
||||
{ "PH-SIM PIN", MM_MOBILE_ERROR_PH_SIM_PIN },
|
||||
{ "PH-FSIM PIN", MM_MOBILE_ERROR_PH_FSIM_PIN },
|
||||
{ "PH-FSIM PUK", MM_MOBILE_ERROR_PH_FSIM_PUK },
|
||||
{ "SIM PIN2", MM_MOBILE_ERROR_SIM_PIN2 },
|
||||
{ "SIM PUK2", MM_MOBILE_ERROR_SIM_PUK2 },
|
||||
{ "PH-NET PIN", MM_MOBILE_ERROR_NETWORK_PIN },
|
||||
{ "PH-NET PUK", MM_MOBILE_ERROR_NETWORK_PUK },
|
||||
{ "PH-NETSUB PIN", MM_MOBILE_ERROR_NETWORK_SUBSET_PIN },
|
||||
{ "PH-NETSUB PUK", MM_MOBILE_ERROR_NETWORK_SUBSET_PUK },
|
||||
{ "PH-SP PIN", MM_MOBILE_ERROR_SERVICE_PIN },
|
||||
{ "PH-SP PUK", MM_MOBILE_ERROR_SERVICE_PUK },
|
||||
{ "PH-CORP PIN", MM_MOBILE_ERROR_CORP_PIN },
|
||||
{ "PH-CORP PUK", MM_MOBILE_ERROR_CORP_PUK },
|
||||
{ NULL, MM_MOBILE_ERROR_PHONE_FAILURE },
|
||||
};
|
||||
|
||||
if (error)
|
||||
info->error = g_error_copy (error);
|
||||
@@ -180,16 +203,27 @@ pin_check_done (MMSerialPort *port,
|
||||
|
||||
if (g_str_has_prefix (str, "READY"))
|
||||
parsed = TRUE;
|
||||
else if (g_str_has_prefix (str, "SIM PIN"))
|
||||
info->error = mm_mobile_error_for_code (MM_MOBILE_ERROR_SIM_PIN);
|
||||
else if (g_str_has_prefix (str, "SIM PUK"))
|
||||
info->error = mm_mobile_error_for_code (MM_MOBILE_ERROR_SIM_PUK);
|
||||
/* FIXME: There's more exotic ones that are not handled right now */
|
||||
else {
|
||||
CPinResult *iter = &results[0];
|
||||
|
||||
/* Translate the error */
|
||||
while (iter->result) {
|
||||
if (g_str_has_prefix (str, iter->result)) {
|
||||
info->error = mm_mobile_error_for_code (iter->code);
|
||||
parsed = TRUE;
|
||||
break;
|
||||
}
|
||||
iter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!info->error && !parsed)
|
||||
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_GENERAL,
|
||||
"Could not parse PIN request results");
|
||||
if (!info->error && !parsed) {
|
||||
info->error = g_error_new (MM_MODEM_ERROR,
|
||||
MM_MODEM_ERROR_GENERAL,
|
||||
"Could not parse PIN request response '%s'",
|
||||
response->str);
|
||||
}
|
||||
|
||||
mm_callback_info_schedule (info);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user