[Gta04-owner] Polling CLCC error handling on Option modem (GTA04)

Dr. H. Nikolaus Schaller hns at goldelico.com
Tue Mar 6 21:17:32 CET 2012


Am 06.03.2012 um 21:47 schrieb Radek Polak:

> Hi,
> first of all QtMoko [1] now supports ofono as another telephony backend [2]. We 
> have also autogenerated qt bindings [3] which can be interesting also for 
> other projects.
> 
> But now the problem that has already been discussed. If you make call to GTA04 
> with ofono running, it starts CLCC polling. After you hangup sometimes 
> everything is ok and the call disappears:
> 
> fonod[1027]: App: < \r\n+CLCC: 1,1,4,0,0,"+420608828973",145\r\n\r\nOK\r\n
> ofonod[1027]: App: > AT+CLCC\r
> ofonod[1027]: App: < \r\nOK\r\n
> ofonod[1027]: src/voicecall.c:ofono_voicecall_disconnected() Got disconnection 
> event for id: 1, reason: 2
> ofonod[1027]: App: < \r\n_OSIGQ: 18,0\r\n
> ofonod[1027]: src/network.c:ofono_netreg_strength_notify() strength 58
> ofonod[1027]: App: > AT+CLCC\r
> ofonod[1027]: App: < \r\nOK\r\n
> 
> but sometimes the modem returns error:
> 
> ofonod[1027]: App: < \r\n+CLCC: 1,1,4,0,0,"+420608828973",145\r\n\r\nOK\r\n
> ofonod[1027]: App: > AT+CLCC\r
> ofonod[1027]: App: < \r\n+CME ERROR: 100\r\n
> ofonod[1027]: We are polling CLCC and received an error
> ofonod[1027]: All bets are off for call management

I think this are all the same symptoms of the same bug. NO CARRIER being
reported on another port and serial interface disappearing.

What I could imagine that the modem tries to report the end of the call
but due to this bug, the communication thread within the real-time-os that
controls the interface crashes and a watchdog timer resets this resulting in
this 100 error code (which means "unknown error").

> 
> and ofono never reports that the call is removed. The result is that GUI shows 
> dialed call forever.
> 
> I know that modem should not return error, but it would be nice to have at 
> least some workaround. E.g. assume remote hangup or missed call.
> 
> Or anyone has better ideas?

Well, it could just ignore the "100" error and retry polling after a short delay?

Or does the modem really get inoperable? In that case it could
issue an AT_ORESET and reinitialize.

I know this is not nice, but appears the easiest way to work around
the problem.

@Radek: is it possible to manually contact the AT interface in this state
and try if it is still operational and another AT+CLCC would succeed?

BR,
Nikolaus



More information about the Gta04-owner mailing list