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.
This commit is contained in:
Dan Williams
2009-10-30 16:55:04 -07:00
parent 678f07a1e2
commit 54901933fe
2 changed files with 22 additions and 6 deletions

View File

@@ -369,6 +369,10 @@ init_done (MMSerialPort *port,
*/ */
mm_serial_port_queue_command (port, "E0 +CMEE=1", 2, NULL, NULL); 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) if (MM_GENERIC_GSM_GET_PRIVATE (info->modem)->unsolicited_registration)
mm_serial_port_queue_command (port, "+CREG=1", 5, NULL, NULL); mm_serial_port_queue_command (port, "+CREG=1", 5, NULL, NULL);
else 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_UP_CMD:
case MM_GENERIC_GSM_PROP_POWER_DOWN_CMD: case MM_GENERIC_GSM_PROP_POWER_DOWN_CMD:
case MM_GENERIC_GSM_PROP_INIT_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_BANDS:
case MM_GENERIC_GSM_PROP_SUPPORTED_MODES: case MM_GENERIC_GSM_PROP_SUPPORTED_MODES:
break; break;
@@ -1925,7 +1930,10 @@ get_property (GObject *object, guint prop_id,
g_value_set_string (value, ""); g_value_set_string (value, "");
break; break;
case MM_GENERIC_GSM_PROP_INIT_CMD: 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; break;
case MM_GENERIC_GSM_PROP_SUPPORTED_BANDS: case MM_GENERIC_GSM_PROP_SUPPORTED_BANDS:
g_value_set_uint (value, 0); g_value_set_uint (value, 0);
@@ -2005,5 +2013,13 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass)
"Initialization command", "Initialization command",
NULL, NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); 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));
} }

View File

@@ -32,6 +32,7 @@
#define MM_GENERIC_GSM_POWER_UP_CMD "power-up-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_POWER_DOWN_CMD "power-down-cmd"
#define MM_GENERIC_GSM_INIT_CMD "init-cmd" #define MM_GENERIC_GSM_INIT_CMD "init-cmd"
#define MM_GENERIC_GSM_INIT_CMD_OPTIONAL "init-cmd-optional"
typedef enum { typedef enum {
MM_GENERIC_GSM_PROP_FIRST = 0x2000, MM_GENERIC_GSM_PROP_FIRST = 0x2000,
@@ -41,8 +42,7 @@ typedef enum {
MM_GENERIC_GSM_PROP_INIT_CMD, MM_GENERIC_GSM_PROP_INIT_CMD,
MM_GENERIC_GSM_PROP_SUPPORTED_BANDS, MM_GENERIC_GSM_PROP_SUPPORTED_BANDS,
MM_GENERIC_GSM_PROP_SUPPORTED_MODES, MM_GENERIC_GSM_PROP_SUPPORTED_MODES,
MM_GENERIC_GSM_PROP_INIT_CMD_OPTIONAL
MM_GENERIC_GSM_LAST_PROP = MM_GENERIC_GSM_PROP_INIT_CMD
} MMGenericGsmProp; } MMGenericGsmProp;