[PATCH] broadband-bearer: don't send disconnect CGACT on data port for multi-port modems

Aleksander Morgado aleksander at aleksander.es
Thu Feb 11 07:51:28 UTC 2016


On Tue, Jan 26, 2016 at 7:46 PM, Dan Williams <dcbw at redhat.com> wrote:
> A Huawei E173 (with FW 11.126.15.00.445) seems to stop responding on the
> primary port (ttyUSB2) when the CGACT is resent on the data port (ttyUSB0).
> The CGACT-on-data-port was originally added as a fallback attempt to get
> single-port modems to disconnect when all other methods failed.
>
> For single-port modems, the primary port is also the data port so this
> patch will have no effect.
>
> For multi-port modems, this patch will retry the CGACT on the primary
> port which has a higher chance of success because we already know
> the primary port is talking to us, while the data port may still
> be stuck in PPP mode.

Yes, LGTM.

> ---
>  src/mm-broadband-bearer.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/src/mm-broadband-bearer.c b/src/mm-broadband-bearer.c
> index d917542..d8c8c88 100644
> --- a/src/mm-broadband-bearer.c
> +++ b/src/mm-broadband-bearer.c
> @@ -1511,10 +1511,18 @@ data_flash_3gpp_ready (MMPortSerial *data,
>          return;
>      }
>
> -    /* Last resort, try to send CGACT in the data port itself */
> -    mm_dbg ("Sending PDP context deactivation in data port...");
> +    /* Send another CGACT on the primary port (also the data port when the modem
> +     * only has one serial port) if the previous one failed.  Some modems, like
> +     * the Huawei E173 (fw 11.126.15.00.445) stop responding on their primary
> +     * port when the CGACT is sent on the separte data port.
> +     */
> +    if (MM_PORT_SERIAL (ctx->primary) == data)
> +        mm_dbg ("Sending PDP context deactivation in primary/data port...");
> +    else
> +        mm_dbg ("Sending PDP context deactivation in primary port again...");
> +
>      mm_base_modem_at_command_full (ctx->modem,
> -                                   MM_PORT_SERIAL_AT (data),
> +                                   ctx->primary,
>                                     ctx->cgact_command,
>                                     10,
>                                     FALSE,
> --
> 2.4.3
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel



-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list