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

Denis Kenzior denkenz at gmail.com
Mon Mar 5 20:26:29 CET 2012


Hi Radek,

On 03/06/2012 02:47 PM, Radek Polak wrote:
> 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.
> 

Nice.

> 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
> 
> 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.

My standard reply for such modems is to talk to your vendor and demand
the firmware to be fixed.  If this isn't possible, then please perform
these steps:
	window.open();
	window.throw(modem);
	window.close();

:)

It seriously might be easier to get another modem than trying to work
around such nasty bugs in the modem firmware.  You will never be able to
hit any sort of power consumption targets with CLCC polling anyway.
Such behavior from the modem firmware is not acceptable, even the old
Calypso modem in the Freerunner was better here.

> 
> Or anyone has better ideas?
> 

You can always try ignoring CME ERROR 100 and re-try the CLCC poll.
Maybe the modem is in a transitional period (e.g. call being released)
and it can't answer the CLCC properly.  In other words, there's a bug
related to timing of call state changes & CLCC implementation in the
modem firmware.

Regards,
-Denis


More information about the Gta04-owner mailing list