Skip to contentSkip to conversation

What should happen after losing and retrieving gsm signal ?

DISCUSSION Benoît Monin 2 participants 2 messages Dec 7, 2010

lore
Share & tools
lore
#0 lore raw

Hi,

I'm trying to re-establish a 3G connection after a gsm signal loss and I'm getting some pretty strange results.

So first, some short and general questions : What should happen after going off gsm coverage and back again ?
In particular, is ofono taking care of the network registration or does it need a manual call org.ofono.NetworkRegistration.Register ? Also, is ofono reactivating a previously activated context or does it needs a manual call ?

I'm running my tests on the following platform :
   - Atom Z520 based.
   - 2 ethernet
   - 2 gsm modem: Option GTM382, usb ID 0af0:7601, firmware 2.9.4.0Hd
   - 1 wlan ath9k (unused for the tests)

Software side:
   - linux 2.6.35.9
   - connman 0.64
   - ofono 0.36
   - dbus 1.2.20

I'm using only one modem and I have a variable antenna attenuator to simulate gsm signal loss/retrieval. The device is not moving and the signal strength is around 60% without attenuation. The sim card used is configured with a dedicated password authenticated APN connected to our internal network through vpn. The context is created before the first test. Then the sequence of my test is as follow:
   - power-up device
   - call activate_context (no antenna attenuation)
   - Set attenuator to the max (-60dB)
   - Set attenuator back to 0
   - call activate_context again

I'm getting some mixed results:
* connman crash (sig11) when stopping attenuation
or reactivating context:
   This is obviously a connman bug (will post backtrace to connman ml), but after connman is restarted, the modem service does not appear and I have to restart both connman and ofono. Is there a startup dependency between connman and ofono ?

* Network Registration stays in registered state with strength = 0 :
   This happens with attenuation set to -60dB. I haven't been able to catch some debug traces with AT_DEBUG on. I've waited one hour and nothing else happened.

* Network Registration stays in searching state with strength != 0 :
   This happens after setting attenuator back to 0dB. I also don't have debug traces for this case. After waiting 15 minutes, I called the method org.ofono.NetworkRegistration.Register and things went back to normal.

* Calling activate_context exits with timeout :
   This is the most common case, debug trace below shows that the modem never sends the _OWANCALL callback. After waiting more than an hour, I restarted ofono and called activate_context, it worked.

(actual apn, username and password have been replaced)
2010-12-06_16:44:15.28570 user.notice: test: reactivate context 2010-12-06_16:44:15.36944 daemon.info: ofonod[1109]: Control: > AT$QCPDPP=1,1,"password","username"\r 2010-12-06_16:44:15.44620 daemon.info: ofonod[1109]: Control: < \r\nOK\r\n 2010-12-06_16:44:15.44636 daemon.info: ofonod[1109]: Control: > AT+CGDCONT=1,"IP","apn"\r 2010-12-06_16:44:15.45019 daemon.info: ofonod[1109]: App: < \r\n_OSIGQ: 14,0\r\n 2010-12-06_16:44:15.47923 daemon.info: ofonod[1109]: Control: < \r\nOK\r\n 2010-12-06_16:44:15.47938 daemon.info: ofonod[1109]: Control: > AT_OWANCALL=1,1,1\r 2010-12-06_16:44:15.48118 daemon.info: ofonod[1109]: Control: < \r\nOK\r\n 2010-12-06_16:44:24.42033 daemon.info: ofonod[1109]: App: < \r\n_OSIGQ: 16,0\r\n 2010-12-06_16:44:27.42032 daemon.info: ofonod[1109]: App: < \r\n_OSIGQ: 17,0\r\n 2010-12-06_16:44:33.42032 daemon.info: ofonod[1109]: App: < \r\n_OSIGQ: 16,0\r\n 2010-12-06_16:44:42.41933 daemon.info: ofonod[1109]: App: < \r\n_OSIGQ: 17,0\r\n
...

I can run some other tests and provide full logs if needed, Do you think there is something wrong with the test I'm running ? Might the modem be@fault ?

--
Thanks for reading so far,
Benoît.

#1 lore raw
Quoted 2 lines · you

So first, some short and general questions : What should happen after going off gsm coverage and back again ?

The modem should periodically try to register again. When that happens oFono will go back online.

Quoted 2 lines

In particular, is ofono taking care of the network registration or does it need a manual call org.ofono.NetworkRegistration.Register ?

Neither of those.

Signature · 2 lines
Rémi Denis-Courmont
Nokia Devices R&D, Maemo Software, Helsinki