Opened 5 years ago

Closed 5 years ago

#334 closed defect (fixed)

answering call fails sometimes (ATA returns ERROR)

Reported by: lindi Owned by: mickey
Priority: major Milestone:
Component: framework/ogsmd Version:
Keywords: Cc:

Description

I put freerunner to suspend for a while and then called it. It woke up but I was unable to answer the call. Logs show that 'ATA' command got rather odd replies:

COMPLETED 'ATA' => ['+CRING: VOICE', 'OK']
COMPLETED 'ATA' => ['ERROR']
COMPLETED 'ATA' => ['ERROR']

I am using framework cb52b54bc1b321e4ad7c4b02f3d6d6f48a98bf3a and
gsm0710muxd abcbcd7cc532a8834906de3fc24c8f8fe7643cd4 from git on debian. I only run ogsmd subsystem of framework and a minimal dialer program (kapula). The kernel is andy-tracking b8b36e5ec3db71d5.

I am attaching full syslog output and full strace of framework and gsm0710muxd that clearly shows all communication done with the modem.

Attachments (5)

syslog.gz (68.9 KB) - added by lindi 5 years ago.
syslog log that shows ogsmd debug output and resume messages
ogsmd.strace.gz (110.2 KB) - added by lindi 5 years ago.
strace of frameworkd -s ogsmd
gsm0710muxd.strace.gz (84.9 KB) - added by lindi 5 years ago.
strace of gsm0710muxd
syslog.2.gz (16.3 KB) - added by lindi 5 years ago.
log that shows COMPLETED 'AT+CSMS=1' => ['+CLIP: "+3589644468",145,"""006B006F00740069",0', '+CSMS: 1,1,1', 'OK']
syslog.ceef20a8780e2ab.gz (22.8 KB) - added by lindi 5 years ago.
'AT+CTZU=0' => ['%CSQ: 21, 99, 2', 'OK']

Download all attachments as: .zip

Change History (15)

Changed 5 years ago by lindi

syslog log that shows ogsmd debug output and resume messages

Changed 5 years ago by lindi

strace of frameworkd -s ogsmd

Changed 5 years ago by lindi

strace of gsm0710muxd

comment:1 Changed 5 years ago by mickey

  • Status changed from new to assigned

We might use a ThrowAwayParser? to remove +CRING, since we're not using for the Calypso anways. Unfortunately even %UNS is not stopping +CRING coming in between a request and a response.

comment:2 Changed 5 years ago by lindi

I ignored "+CRING" in the parser but now I keep hitting failures like

'AT+CSMS=1' => ['+CLIP: "+3589644468",145,"",,"006B006F00740069",0', '+CSMS: 1,1,1', 'OK']
'AT%CNIV=1' => ['%CPI: 1,6,0,1,1,0,"+3589644468",145,"006B006F00740069",,0', 'OK']

Doesn't this mean that CPI command is missed and frameworkd does not inform the UI about answered call for that reason?

Changed 5 years ago by lindi

log that shows COMPLETED 'AT+CSMS=1' => ['+CLIP: "+3589644468",145,"""006B006F00740069",0', '+CSMS: 1,1,1', 'OK']

comment:3 Changed 5 years ago by lindi

I upgraded to 3d13fc09cb03efb878c3 that does AT%CUNS=2 on all channels but this does not seem to help. I still get unsolicited responses in the middle of solicited responses:

<UnsolicitedResponseChannel via /dev/pts/5>: COMPLETED 'AT%CUNS=2' => ['OK']
...
<UnsolicitedResponseChannel via /dev/pts/5>: COMPLETED 'AT%CPRI=1' => ['%CPI: 1,1,0,0,1,0,"+358942832034",145,,,0', '%CPI: 1,7,0,0,1,0,"+358942832034",145,,,0', 'OK']

comment:4 Changed 5 years ago by mickey

Ok, I'm convinced. If you don't beat me to it, I'll probably work on weekend on a TiCalypso? parser that flags the tripel (+CRING, +CPI, +CLIP) always as unsolicited.

comment:5 Changed 5 years ago by mickey

in [715d20e41d9799f92185d07ae4781215975e93c4], please close if that fixes your problem.

comment:6 Changed 5 years ago by lindi

Thank you for your speedy response. I upgraded to ceef20a8780e2abc96d4f68e49ffb11fd208a0e7 I will let you know after a while how reliably it is. Immediately after a few testcalls I noticed that a CSQ is ignored since it is interpreted as a reply to AT+CTZU in unsol channel:

Feb 14 20:56:22 ginger user.debug ogsmd.channel DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: COMPLETED 'AT+CTZU=0' => ['%CSQ:  21, 99, 2', 'OK']

Maybe %CSQ should be flagged always as unsolicited as well? I am attaching syslog.ceef20a8780e2ab.gz where you can see full context of the log line.

Changed 5 years ago by lindi

'AT+CTZU=0' => ['%CSQ: 21, 99, 2', 'OK']

comment:7 Changed 5 years ago by mickey

No, we can#t do this. %CSQ is a valid result to a solicited command as you see here:

AT%CSQ=1

%CSQ: 1

OK

I'd really wish you would try that with fso-abyss, just to rule out the muxer. I'm seriously surprised that %CUNS=2 gets violated even for %CSQ.

comment:8 Changed 5 years ago by lindi

I can provide strace of gsm0710muxd that shows the raw traffic if it helps. I'd rather not change the software while testing the stability of new gsm firmware.

comment:9 Changed 5 years ago by mickey

Yes, they would help me.

comment:10 Changed 5 years ago by mickey

  • Resolution set to fixed
  • Status changed from assigned to closed

This has been fixed meanwhile with the new parser.

Note: See TracTickets for help on using tickets.