diff --git a/plugins/fibocom/mm-broadband-modem-fibocom.c b/plugins/fibocom/mm-broadband-modem-fibocom.c index 8292c18e..41ab2eb8 100644 --- a/plugins/fibocom/mm-broadband-modem-fibocom.c +++ b/plugins/fibocom/mm-broadband-modem-fibocom.c @@ -162,6 +162,30 @@ modem_create_bearer (MMIfaceModem *_self, task); } +/*****************************************************************************/ +/* Reset (Modem interface) */ + +static gboolean +modem_reset_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error); +} + +static void +modem_reset (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + mm_base_modem_at_command (MM_BASE_MODEM (self), + "+CFUN=15", + 3, + FALSE, + callback, + user_data); +} + /*****************************************************************************/ MMBroadbandModemFibocom * @@ -197,6 +221,8 @@ iface_modem_init (MMIfaceModem *iface) { iface->create_bearer = modem_create_bearer; iface->create_bearer_finish = modem_create_bearer_finish; + iface->reset = modem_reset; + iface->reset_finish = modem_reset_finish; } static void