huawei,voice: ignore undocumented ^CSCHANNELINFO unsolicited command

This command is sent by Huawei ME909s-120 with firmware 23.613.61.00.00
This commit is contained in:
Marco Bascetta
2015-07-23 18:23:26 +02:00
committed by Aleksander Morgado
parent 74325b547a
commit f6779d60fe

View File

@@ -99,6 +99,7 @@ struct _MMBroadbandModemHuaweiPrivate {
GRegex *conn_regex;
GRegex *cend_regex;
GRegex *ddtmf_regex;
GRegex *cschannelinfo_regex;
/* Regex to ignore */
GRegex *boot_regex;
@@ -2997,6 +2998,12 @@ set_voice_unsolicited_events_handlers (MMBroadbandModemHuawei *self,
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_voice_received_dtmf: NULL,
enable ? self : NULL,
NULL);
/* Ignore this message (Huawei ME909s-120 firmware. 23.613.61.00.00) */
mm_port_serial_at_add_unsolicited_msg_handler (
port,
self->priv->cschannelinfo_regex,
NULL, NULL, NULL);
}
g_list_free_full (ports, (GDestroyNotify)g_object_unref);
@@ -4189,6 +4196,13 @@ mm_broadband_modem_huawei_init (MMBroadbandModemHuawei *self)
self->priv->ddtmf_regex = g_regex_new ("\\r\\n\\^DDTMF:\\s*([0-9A-D\\*\\#])\\r\\n",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
/* Voice: Unknown message that's broke ATA command
* <CR><LF>^CSCHANNELINFO: <number>,<number><CR><LF>
* Key should be 0-9, A-D, *, #
*/
self->priv->cschannelinfo_regex = g_regex_new ("\\r\\n\\^CSCHANNELINFO:\\s*(\\d+),(\\d+)\\r\\n",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
self->priv->ndisdup_support = FEATURE_SUPPORT_UNKNOWN;
self->priv->rfswitch_support = FEATURE_SUPPORT_UNKNOWN;