drivers: modem: gsm_ppp: Enable start/stop

These changes enable applications to restart the networking stack which
was previously not possible without rebooting the device. This was a
major show-stopper because it made power management impossible, and
furthermore made it impossible to recover from a bad modem state without
rebooting.

This has been verified to work on a SIMCOM7600E modem, both with and
without CONFIG_GSM_MUX enabled.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
This commit is contained in:
Benjamin Lindqvist 2020-10-05 13:58:55 +02:00 committed by Carles Cufí
commit 54cb2bcd41
9 changed files with 205 additions and 33 deletions

View file

@ -847,7 +847,7 @@ static int ppp_start(const struct device *dev)
return -EINVAL;
}
LOG_DBG("Initializing PPP to use %s", dev_name);
LOG_INF("Initializing PPP to use %s", dev_name);
context->dev = device_get_binding(dev_name);
if (!context->dev) {
@ -874,7 +874,7 @@ static int ppp_stop(const struct device *dev)
struct ppp_driver_context *context = dev->data;
net_ppp_carrier_off(context->iface);
context->modem_init_done = false;
return 0;
}