diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/novatel/mm-broadband-modem-novatel.c | 23 |
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; } |