diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-07-23 11:06:25 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-08-06 20:07:50 +0200 |
commit | 4d5892204d9f28b65a9f1a8495c036c7448791bc (patch) | |
tree | 16ff35c4ac5a2d362798708857be0008b5570f0a | |
parent | f6415a71b6ee3998b144393c3c4facdb7a77c545 (diff) |
zte: use +CFUN=4 for powering down
Icera-based ZTE already has the same functionality coming from the parent
`MMBroadbandModemIcera' modem object.
-rw-r--r-- | plugins/zte/mm-broadband-modem-zte.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/plugins/zte/mm-broadband-modem-zte.c b/plugins/zte/mm-broadband-modem-zte.c index 5312ea19..1d9e396e 100644 --- a/plugins/zte/mm-broadband-modem-zte.c +++ b/plugins/zte/mm-broadband-modem-zte.c @@ -150,6 +150,32 @@ modem_after_sim_unlock (MMIfaceModem *self, } /*****************************************************************************/ +/* Modem power down (Modem interface) */ + +static gboolean +modem_power_down_finish (MMIfaceModem *self, + GAsyncResult *res, + GError **error) +{ + return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error); +} + +static void +modem_power_down (MMIfaceModem *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + /* Use AT+CFUN=4 for power down. It will stop the RF (IMSI detach), and + * keeps access to the SIM */ + mm_base_modem_at_command (MM_BASE_MODEM (self), + "+CFUN=4", + 3, + FALSE, + callback, + user_data); +} + +/*****************************************************************************/ /* Load initial allowed/preferred modes (Modem interface) */ static gboolean @@ -542,6 +568,8 @@ iface_modem_init (MMIfaceModem *iface) { iface->modem_after_sim_unlock = modem_after_sim_unlock; iface->modem_after_sim_unlock_finish = modem_after_sim_unlock_finish; + iface->modem_power_down = modem_power_down; + iface->modem_power_down_finish = modem_power_down_finish; iface->load_access_technologies = load_access_technologies; iface->load_access_technologies_finish = load_access_technologies_finish; iface->load_allowed_modes = load_allowed_modes; |