Ticket #928 (closed defect: fixed)
implement AT command interrupt/cancel
| Reported by: | Tuukka.Hastrup@… | Owned by: | tick@… |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | gsmd | Version: | current svn head |
| Severity: | critical | Keywords: | |
| Cc: | buglog@…, balrogg@…, tick@…, mstevens@… | Blocked By: | |
| Blocking: | Estimated Completion (week): | ||
| HasPatchForReview: | PatchReviewResult: | ||
| Reproducible: |
Description
Currently we can't cancel outgoing calls before they are answered, which is
critical. (For the issue history, please see #906.)
AT commands that take a long time could be cancelled by a simple "AT", or in
case of ATD, ATH would be good. However, gsmd makes sure that applications don't
cancel one another's commands. It issues the next command only after the
previous completes.
A simple workaround for now would be to remove "AT+COLP=1" from the modem init
at gsmd/gsmd.c - this makes ATD return immediately. At least in my tests, the
info lost is just +COLP: "",128, and we don't process that in libmokogsmd or the
dialer anyway.
In the long term, gsmd should get COLP back and support cancelling commands such
as AT+COPS=? too.
Attachments
Change History
comment:5 Changed 6 years ago by mickey@…
- Owner changed from laforge@… to jserv@…
jserv or tick, can we use this implementation?
comment:6 Changed 6 years ago by tick@…
- Owner changed from jserv@… to tick@…
I will add a function "cancel_atcmd " in gsmd to let AP has chance to cancel a
busy command (long command)
And, I may change it from the patch 355.
Changed 6 years ago by balrogg@…
- Attachment 0001-Implement-atcmd_cancel-and-VOICECALL_HANGUP-throug.patch added
Implement atcmd cancelling and VOICECALL_HANGUP
