aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2012-09-10 22:22:17 -0700
committerAleksander Morgado <aleksander@lanedo.com>2012-09-11 08:47:07 +0200
commit36c7136510d40313c2dcbcb847d9092d0f56148a (patch)
treeb5d913191cfafddc037e0bc4076cc40113f03e8f
parent776d755d7704773b8ca92a7e87774ba0c8217302 (diff)
novatel-lte: implement modem reset
-rw-r--r--plugins/novatel/mm-broadband-modem-novatel-lte.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/novatel/mm-broadband-modem-novatel-lte.c b/plugins/novatel/mm-broadband-modem-novatel-lte.c
index 96750462..1cfe54b0 100644
--- a/plugins/novatel/mm-broadband-modem-novatel-lte.c
+++ b/plugins/novatel/mm-broadband-modem-novatel-lte.c
@@ -394,6 +394,30 @@ load_access_technologies (MMIfaceModem *self,
}
/*****************************************************************************/
+/* Reset (Modem interface) */
+
+static gboolean
+reset_finish (MMIfaceModem *self,
+ GAsyncResult *res,
+ GError **error)
+{
+ return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error);
+}
+
+static void
+reset (MMIfaceModem *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ mm_base_modem_at_command (MM_BASE_MODEM (self),
+ "+CFUN=6",
+ 3,
+ FALSE,
+ callback,
+ user_data);
+}
+
+/*****************************************************************************/
MMBroadbandModemNovatelLte *
mm_broadband_modem_novatel_lte_new (const gchar *device,
@@ -435,6 +459,8 @@ iface_modem_init (MMIfaceModem *iface)
/* No support for setting bands, as it destabilizes the modem. */
iface->load_access_technologies = load_access_technologies;
iface->load_access_technologies_finish = load_access_technologies_finish;
+ iface->reset = reset;
+ iface->reset_finish = reset_finish;
}
static void