aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/mm-modem-hso.c4
-rw-r--r--plugins/mm-modem-option.c10
2 files changed, 13 insertions, 1 deletions
diff --git a/plugins/mm-modem-hso.c b/plugins/mm-modem-hso.c
index 426ee0ab..1fd46333 100644
--- a/plugins/mm-modem-hso.c
+++ b/plugins/mm-modem-hso.c
@@ -753,6 +753,10 @@ grab_port (MMModem *modem,
regex = g_regex_new ("_OWANCALL: (\\d),\\s*(\\d)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (port), regex, connection_enabled, modem, NULL);
g_regex_unref (regex);
+
+ regex = g_regex_new ("\\r\\n\\+PACSP0\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
+ mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (port), regex, NULL, NULL, NULL);
+ g_regex_unref (regex);
}
option_register_unsolicted_handlers (gsm, MM_AT_SERIAL_PORT (port));
}
diff --git a/plugins/mm-modem-option.c b/plugins/mm-modem-option.c
index 676aa287..ac04b0bd 100644
--- a/plugins/mm-modem-option.c
+++ b/plugins/mm-modem-option.c
@@ -187,8 +187,16 @@ grab_port (MMModem *modem,
MMPort *port = NULL;
port = mm_generic_gsm_grab_port (gsm, subsys, name, suggested_type, error);
- if (port && MM_IS_AT_SERIAL_PORT (port))
+ if (port && MM_IS_AT_SERIAL_PORT (port)) {
+ if (mm_port_get_port_type (port) == MM_PORT_TYPE_PRIMARY) {
+ GRegex *regex;
+
+ regex = g_regex_new ("\\r\\n\\+PACSP0\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
+ mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (port), regex, NULL, NULL, NULL);
+ g_regex_unref (regex);
+ }
option_register_unsolicted_handlers (gsm, MM_AT_SERIAL_PORT (port));
+ }
return !!port;
}