diff options
author | Dan Williams <dcbw@redhat.com> | 2009-10-30 16:55:04 -0700 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2009-10-30 16:55:04 -0700 |
commit | 54901933fea26d17ec7fac5e326f6478770b059d (patch) | |
tree | 50ee64d46ca6ed34124e0477ebb0157faaf16802 /src | |
parent | 678f07a1e28e0b7bb74319418c215e9e5ed9b8bb (diff) |
gsm: make "X4 &C1" init arguments optional (lp:455031)
At least don't error out of the fail since they aren't really
necessary, just nice to have.
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-generic-gsm.c | 18 | ||||
-rw-r--r-- | src/mm-generic-gsm.h | 10 |
2 files changed, 22 insertions, 6 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index 169fca8a..6064fdbe 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -369,6 +369,10 @@ init_done (MMSerialPort *port, */ mm_serial_port_queue_command (port, "E0 +CMEE=1", 2, NULL, NULL); + g_object_get (G_OBJECT (info->modem), MM_GENERIC_GSM_INIT_CMD_OPTIONAL, &cmd, NULL); + mm_serial_port_queue_command (port, cmd, 2, NULL, NULL); + g_free (cmd); + if (MM_GENERIC_GSM_GET_PRIVATE (info->modem)->unsolicited_registration) mm_serial_port_queue_command (port, "+CREG=1", 5, NULL, NULL); else @@ -1886,6 +1890,7 @@ set_property (GObject *object, guint prop_id, case MM_GENERIC_GSM_PROP_POWER_UP_CMD: case MM_GENERIC_GSM_PROP_POWER_DOWN_CMD: case MM_GENERIC_GSM_PROP_INIT_CMD: + case MM_GENERIC_GSM_PROP_INIT_CMD_OPTIONAL: case MM_GENERIC_GSM_PROP_SUPPORTED_BANDS: case MM_GENERIC_GSM_PROP_SUPPORTED_MODES: break; @@ -1925,7 +1930,10 @@ get_property (GObject *object, guint prop_id, g_value_set_string (value, ""); break; case MM_GENERIC_GSM_PROP_INIT_CMD: - g_value_set_string (value, "Z E0 V1 X4 &C1 +CMEE=1"); + g_value_set_string (value, "Z E0 V1 +CMEE=1"); + break; + case MM_GENERIC_GSM_PROP_INIT_CMD_OPTIONAL: + g_value_set_string (value, "X4 &C1"); break; case MM_GENERIC_GSM_PROP_SUPPORTED_BANDS: g_value_set_uint (value, 0); @@ -2005,5 +2013,13 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass) "Initialization command", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property + (object_class, MM_GENERIC_GSM_PROP_INIT_CMD_OPTIONAL, + g_param_spec_string (MM_GENERIC_GSM_INIT_CMD_OPTIONAL, + "InitCommandOptional", + "Optional initialization command (errors ignored)", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } diff --git a/src/mm-generic-gsm.h b/src/mm-generic-gsm.h index ac2ce365..7cfd6253 100644 --- a/src/mm-generic-gsm.h +++ b/src/mm-generic-gsm.h @@ -29,9 +29,10 @@ #define MM_IS_GENERIC_GSM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_GENERIC_GSM)) #define MM_GENERIC_GSM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_GENERIC_GSM, MMGenericGsmClass)) -#define MM_GENERIC_GSM_POWER_UP_CMD "power-up-cmd" -#define MM_GENERIC_GSM_POWER_DOWN_CMD "power-down-cmd" -#define MM_GENERIC_GSM_INIT_CMD "init-cmd" +#define MM_GENERIC_GSM_POWER_UP_CMD "power-up-cmd" +#define MM_GENERIC_GSM_POWER_DOWN_CMD "power-down-cmd" +#define MM_GENERIC_GSM_INIT_CMD "init-cmd" +#define MM_GENERIC_GSM_INIT_CMD_OPTIONAL "init-cmd-optional" typedef enum { MM_GENERIC_GSM_PROP_FIRST = 0x2000, @@ -41,8 +42,7 @@ typedef enum { MM_GENERIC_GSM_PROP_INIT_CMD, MM_GENERIC_GSM_PROP_SUPPORTED_BANDS, MM_GENERIC_GSM_PROP_SUPPORTED_MODES, - - MM_GENERIC_GSM_LAST_PROP = MM_GENERIC_GSM_PROP_INIT_CMD + MM_GENERIC_GSM_PROP_INIT_CMD_OPTIONAL } MMGenericGsmProp; |