Merge commit 'origin/master' into states
This commit is contained in:
@@ -17,6 +17,9 @@ ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1906", ENV{ID_MM_ERICSSON_MBM}="1"
|
||||
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="190a", ENV{ID_MM_ERICSSON_MBM}="1"
|
||||
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1909", ENV{ID_MM_ERICSSON_MBM}="1"
|
||||
|
||||
# Ericsson C3607w
|
||||
ATTRS{idVendor}=="0bdb", ATTRS{idProduct}=="1049", ENV{ID_MM_ERICSSON_MBM}="1"
|
||||
|
||||
# Sony-Ericsson MD300
|
||||
ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d0cf", ENV{ID_MM_ERICSSON_MBM}="1"
|
||||
|
||||
|
@@ -102,40 +102,8 @@ mm_modem_gobi_gsm_init (MMModemGobiGsm *self)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
get_property (GObject *object, guint prop_id,
|
||||
GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
|
||||
/* These devices just don't implement AT+CFUN */
|
||||
|
||||
switch (prop_id) {
|
||||
case MM_GENERIC_GSM_PROP_INIT_CMD:
|
||||
g_value_set_string (value, "Z E0 V1 +CMEE=1");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
set_property (GObject *object, guint prop_id,
|
||||
const GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
mm_modem_gobi_gsm_class_init (MMModemGobiGsmClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
mm_modem_gobi_gsm_parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
object_class->get_property = get_property;
|
||||
object_class->set_property = set_property;
|
||||
|
||||
g_object_class_override_property (object_class,
|
||||
MM_GENERIC_GSM_PROP_INIT_CMD,
|
||||
MM_GENERIC_GSM_INIT_CMD);
|
||||
}
|
||||
|
||||
|
@@ -669,7 +669,7 @@ get_signal_quality_done (MMSerialPort *port,
|
||||
} else {
|
||||
/* Normalize the quality */
|
||||
quality = CLAMP (quality, 0, 31) * 100 / 31;
|
||||
|
||||
|
||||
priv = MM_GENERIC_CDMA_GET_PRIVATE (info->modem);
|
||||
priv->signal_quality = quality;
|
||||
mm_callback_info_set_result (info, GUINT_TO_POINTER (quality), NULL);
|
||||
|
@@ -397,6 +397,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
|
||||
@@ -1311,7 +1315,7 @@ scan (MMModemGsmNetwork *modem,
|
||||
G_CALLBACK (callback),
|
||||
user_data);
|
||||
|
||||
mm_serial_port_queue_command (priv->primary, "+COPS=?", 60, scan_done, info);
|
||||
mm_serial_port_queue_command (priv->primary, "+COPS=?", 120, scan_done, info);
|
||||
}
|
||||
|
||||
/* SetApn */
|
||||
@@ -1505,15 +1509,20 @@ get_signal_quality_done (MMSerialPort *port,
|
||||
|
||||
reply += 6;
|
||||
|
||||
if (sscanf (reply, "%d,%d", &quality, &ber)) {
|
||||
if (sscanf (reply, "%d, %d", &quality, &ber)) {
|
||||
/* 99 means unknown */
|
||||
if (quality != 99)
|
||||
if (quality == 99) {
|
||||
info->error = g_error_new_literal (MM_MOBILE_ERROR,
|
||||
MM_MOBILE_ERROR_NO_NETWORK,
|
||||
"No service");
|
||||
} else {
|
||||
/* Normalize the quality */
|
||||
quality = quality * 100 / 31;
|
||||
quality = CLAMP (quality, 0, 31) * 100 / 31;
|
||||
|
||||
priv = MM_GENERIC_GSM_GET_PRIVATE (info->modem);
|
||||
priv->signal_quality = quality;
|
||||
mm_callback_info_set_result (info, GUINT_TO_POINTER (quality), NULL);
|
||||
priv = MM_GENERIC_GSM_GET_PRIVATE (info->modem);
|
||||
priv->signal_quality = quality;
|
||||
mm_callback_info_set_result (info, GUINT_TO_POINTER (quality), NULL);
|
||||
}
|
||||
} else
|
||||
info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_GENERAL,
|
||||
"Could not parse signal quality results");
|
||||
@@ -1919,6 +1928,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;
|
||||
@@ -1958,7 +1968,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);
|
||||
@@ -2038,5 +2051,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));
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user