Re: [PATCH 1/2] tty: n_gsm: Fix long delays with control frame timeouts in ADM mode
From: Pavel Machek
Date: Sun Apr 08 2018 - 05:03:08 EST
Hi!
> Commit ea3d8465ab9b ("tty: n_gsm: Allow ADM response in addition to UA for
> control dlci") added support for DLCI to stay in Asynchronous Disconnected
> Mode (ADM). But we still get long delays waiting for commands to other
> DLCI to complete:
>
> --> 5) C: SABM(P)
> Q> 0) C: UIH(F)
> Q> 0) C: UIH(F)
> Q> 0) C: UIH(F)
> ...
>
> This happens because gsm_control_send() sets cretries timer to T2 that is
> by default set to 34. This will cause resend for T2 times for the control
> frame. In ADM mode, we will never get a response so the control frame, so
> retries are just delaying all the commands.
>
> Let's fix the issue by setting DLCI_MODE_ADM flag after detecting the ADM
> mode for the control DLCI. Then we can use that in gsm_control_send() to
> set retries to 1. This means the control frame will be sent once allowing
> the other end at an opportunity to switch from ADM to ABM mode.
>
> Note that retries will be decremented in gsm_control_retransmit() so
> we don't want to set it to 0 here.
Thanks!
I guess I'd like to test this on Droid4; there are fso-gsm0710muxd and
gsm0710muxd packages in Debian, but I assume those do multiplexing in
userspace and thus are not suitable?
Do you have a tool to use and a script?
Thanks and best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Attachment:
signature.asc
Description: Digital signature