aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2009-06-29 23:11:43 -0400
committerDan Williams <dcbw@redhat.com>2009-06-29 23:11:43 -0400
commit4e7548e496d580f26a763bcdaeca7e7af75d5141 (patch)
tree0aee1836bb549ae3ff1c76f90b753ff0581c2172
parent5298be26ddf580681a4a506cf0379996d7eb9d4d (diff)
gsm: fix init for modems for which ATZ does not play well with others
-rw-r--r--src/mm-generic-gsm.c5
-rw-r--r--src/mm-generic-gsm.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c
index 06bfff6e..71d24c2f 100644
--- a/src/mm-generic-gsm.c
+++ b/src/mm-generic-gsm.c
@@ -327,6 +327,11 @@ init_done (MMSerialPort *port,
info->error = g_error_copy (error);
mm_callback_info_schedule (info);
} else {
+ /* Ensure echo is off after the init command; some modems ignore the
+ * E0 when it's in the same like as ATZ (Option GIO322).
+ */
+ mm_serial_port_queue_command (port, "E0 +CMEE=1", 2, NULL, NULL);
+
if (MM_GENERIC_GSM_GET_PRIVATE (info->modem)->unsolicited_registration)
mm_serial_port_queue_command (port, "+CREG=1", 5, NULL, NULL);
else
diff --git a/src/mm-generic-gsm.h b/src/mm-generic-gsm.h
index bd0af4ba..d43ba53e 100644
--- a/src/mm-generic-gsm.h
+++ b/src/mm-generic-gsm.h
@@ -25,7 +25,7 @@ typedef enum {
MM_GENERIC_GSM_PROP_POWER_DOWN_CMD,
MM_GENERIC_GSM_PROP_INIT_CMD,
- MM_GENERIC_GSM_LAST_PROP = MM_GENERIC_GSM_PROP_POWER_DOWN_CMD
+ MM_GENERIC_GSM_LAST_PROP = MM_GENERIC_GSM_PROP_INIT_CMD
} MMGenericGsmProp;