All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Polling CLCC error handling on Option modem (GTA04)
@ 2012-03-07 10:36 Radek Polak
  2012-03-07 10:48 ` [Gta04-owner] " Matthias Apitz
  0 siblings, 1 reply; 5+ messages in thread
From: Radek Polak @ 2012-03-07 10:36 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]

On Monday 05 March 2012 20:26:29 Denis Kenzior wrote:

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

Yes, it is definitely timing bug. Attached is patch that continues CLCC polling 
even after error assuming that CLCC will start working again. It works fine for 
me (see log below). It would be nice to get this in ofono git.

ofonod[1188]: App: < \r\n+CLCC: 1,1,4,0,0,"+420608828973",145\r\n\r\nOK\r\n
ofonod[1188]: App: > AT+CLCC\r
ofonod[1188]: App: < \r\n+CME ERROR: 100\r\n
ofonod[1188]: We are polling CLCC and received an error, retrying...
ofonod[1188]: App: > AT+CLCC\r
ofonod[1188]: App: < \r\nOK\r\n
ofonod[1188]: src/voicecall.c:ofono_voicecall_disconnected() Got disconnection 
event for id: 1, reason: 2


Regards

Radek

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: continue_clcc_after_error.patch --]
[-- Type: text/x-patch, Size: 598 bytes --]

diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c
index d07052c..324ea4b 100644
--- a/drivers/atmodem/voicecall.c
+++ b/drivers/atmodem/voicecall.c
@@ -147,8 +147,9 @@ static void clcc_poll_cb(gboolean ok, GAtResult *result, gpointer user_data)
 	gboolean poll_again = FALSE;
 
 	if (!ok) {
-		ofono_error("We are polling CLCC and received an error");
-		ofono_error("All bets are off for call management");
+		ofono_error("We are polling CLCC and received an error, retrying...");
+		vd->clcc_source = g_timeout_add(POLL_CLCC_INTERVAL,
+						poll_clcc, vc);
 		return;
 	}
 

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-03-07 19:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <2B3E493D-2A99-47FD-9AB7-C8669C14643A@goldelico.com>
2012-03-06 21:30 ` [Gta04-owner] Polling CLCC error handling on Option modem (GTA04) Radek Polak
2012-03-05 19:46   ` Denis Kenzior
2012-03-07 10:36 Radek Polak
2012-03-07 10:48 ` [Gta04-owner] " Matthias Apitz
2012-03-07 19:06   ` Neil Jerram
2012-03-07 19:09   ` Marcel Holtmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.