aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-07-30 23:49:11 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-20 16:26:55 +0200
commitb8e5dbcaf45aa34423e066e2af669f9c87af9f6f (patch)
tree9e3a8ac22ec2579712300d8c3879ca66ff1e51c6 /plugins
parent058fd0256de7e374660088387f291df63880cdb4 (diff)
novatel: flip secondary ports to AT mode during port setup
Diffstat (limited to 'plugins')
-rw-r--r--plugins/novatel/mm-broadband-modem-novatel.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/novatel/mm-broadband-modem-novatel.c b/plugins/novatel/mm-broadband-modem-novatel.c
index 7006bf64..e4e3e169 100644
--- a/plugins/novatel/mm-broadband-modem-novatel.c
+++ b/plugins/novatel/mm-broadband-modem-novatel.c
@@ -32,6 +32,26 @@
G_DEFINE_TYPE (MMBroadbandModemNovatel, mm_broadband_modem_novatel, MM_TYPE_BROADBAND_MODEM);
/*****************************************************************************/
+/* Setup ports (Broadband modem class) */
+
+static const MMBaseModemAtCommand nwdmat_sequence[] = {
+ { "$NWDMAT=1", 3, FALSE, mm_base_modem_response_processor_continue_on_error },
+ { "$NWDMAT=1", 3, FALSE, mm_base_modem_response_processor_continue_on_error },
+ { "$NWDMAT=1", 3, FALSE, NULL },
+ { NULL }
+};
+
+static void
+setup_ports (MMBroadbandModem *self)
+{
+ /* Call parent's setup ports first always */
+ MM_BROADBAND_MODEM_CLASS (mm_broadband_modem_novatel_parent_class)->setup_ports (self);
+
+ /* Flip secondary ports to AT mode */
+ mm_base_modem_at_sequence (MM_BASE_MODEM (self), nwdmat_sequence, NULL, NULL, NULL, NULL);
+}
+
+/*****************************************************************************/
MMBroadbandModemNovatel *
mm_broadband_modem_novatel_new (const gchar *device,
@@ -57,4 +77,7 @@ mm_broadband_modem_novatel_init (MMBroadbandModemNovatel *self)
static void
mm_broadband_modem_novatel_class_init (MMBroadbandModemNovatelClass *klass)
{
+ MMBroadbandModemClass *broadband_modem_class = MM_BROADBAND_MODEM_CLASS (klass);
+
+ broadband_modem_class->setup_ports = setup_ports;
}