Discussion:
airplane mode
Denis Kenzior
2018-10-22 15:54:18 UTC
Permalink
Hi Giacinto,
Dear all,
I have a series of problems with the ofono structure.
When setting Powered=TRUE, it sets the module in airplane mode (AT+CFUN=4).
This prevents the use of calls, even emergency, so there would be no
point in creating the atom in pre-sim stage.
Sure there is. Voicecall atom needs to read EFecc, and for that it
needs to keep track of sim inserted status & be able to do this even
when the PIN has not been entered yet (e.g. pre-sim state).

And it is fully possible to make emergency calls. Just set Online=True
first.
Additionally, the registration of call URCs for custom voicecall
atoms, might also fail.
Fix your firmware? :)
Also, several test commands fail in airplane mode, e.g.: AT+CLCK=?
I doubt this has anything to do with airplane mode. Is it that the SIM
is not initialized yet? But even then, why would the firmware not
report all available locks regardless?
Is there a way to re-initialize all required atoms at the post-inline stage?
Or should they be destroyed and re-created?
destroying and recreating is a bad idea because they will be moved into
a different modem state level. So the next time you go to airplane mode
you will lose your SIM atom.

You can always listen to modem state changes in the driver, but I
wouldn't recommend it. The simplest answer is to fix your firmware ;)

Regards,
-Denis
Denis Kenzior
2018-10-22 17:02:29 UTC
Permalink
Hi Giacinto,
Post by Denis Kenzior
And it is fully possible to make emergency calls. Just set Online=True
first.
ahh, like that yes.... but then, wouldn't be better to create the
voicecall atom where it belongs, in post_online ?
Or this stage is never reached without a SIM? If not, what handle we
have that is called for sure after AT+CFUN=1 ?
Correct, without a SIM or PIN not unlocked, you'd never get to
post_online, even Online=True being set.

You can watch the modem state, but I don't recall that any of our modems
had this issue...
Post by Denis Kenzior
Also, several test commands fail in airplane mode, e.g.: AT+CLCK=?
I doubt this has anything to do with airplane mode. Is it that the SIM
is not initialized yet? But even then, why would the firmware not
report all available locks regardless?
According to the 27.007 (and our modules) AT+CLCK interrogates the
network for some locks, and for this it must be online.
Au passage, the 27.007 mentions explicitly that the command must be
abortable when network facilities are set or interrogated.
Sure, but we're not setting or interrogating any network locks. We're
just testing the capability of the modem. So the above 27.007 part does
not apply.
So, that command is not well placed when the module is in CFUN=4.
I don't know on what insane kind of modules it has been tested, but it
is wrong ;)
I would disagree. We use CLCK to query for SIM locks, facility locks,
etc...
Post by Denis Kenzior
Is there a way to re-initialize all required atoms at the post-inline stage?
Or should they be destroyed and re-created?
destroying and recreating is a bad idea because they will be moved into
a different modem state level. So the next time you go to airplane mode
you will lose your SIM atom.
You can always listen to modem state changes in the driver, but I
wouldn't recommend it. The simplest answer is to fix your firmware ;)
Let's think about a more reasonable solution.
Again, if there is an handle that is called after AT+CFUN=1,
regardless of the SIM presence, that would be the perfect place.
You can only listen to modem state changes. oFono core doesn't know
anything about CFUN=1.

Regards,
-Denis
Denis Kenzior
2018-10-22 17:28:15 UTC
Permalink
Hi Giacinto,
Hi Denis,
Post by Denis Kenzior
Hi Giacinto,
Post by Denis Kenzior
And it is fully possible to make emergency calls. Just set Online=True
first.
ahh, like that yes.... but then, wouldn't be better to create the
voicecall atom where it belongs, in post_online ?
Or this stage is never reached without a SIM? If not, what handle we
have that is called for sure after AT+CFUN=1 ?
Correct, without a SIM or PIN not unlocked, you'd never get to
post_online, even Online=True being set.
Could we think of another state?
Why would we want to? So far all I'm hearing are issues with your
firmware, not anything that needs to change in oFono core itself...
I am seeing a few versions of ofono recently, and all struggle with
things like this.
Not everybody is up to discuss for their needs, so the problem simply
go unnoticed.
What versions of oFono you're talking about?
Post by Denis Kenzior
So, that command is not well placed when the module is in CFUN=4.
I don't know on what insane kind of modules it has been tested, but it
is wrong ;)
I would disagree. We use CLCK to query for SIM locks, facility locks,
etc...
atmodem asks for AT+CLCK=?, and gets what it gets, despite your
exclusive interest in sim-related parameters. In particular all
modules return at least a subset of the following locks, all requiring
"all"? Not really. Sure the Call barring ones are a supplementary
service feature. But there's a reason why call_barring atom is a
post_online one.

FD/BD do not require any network access. They're a SIM-local feature.

Facility locks are generally an ME local feature, and also do not
require network access. At least that is how our modems work. So I do
not see any issue...
"AO" BAOC (Barr All Outgoing Calls) (refer 3GPP TS 22.088 [6] clause 1)
"OI" BOIC (Barr Outgoing International Calls) (refer 3GPP TS
22.088 [6] clause 1)
"OX" BOIC‑exHC (Barr Outgoing International Calls except to
Home Country) (refer 3GPP TS 22.088 [6] clause 1)
"AI" BAIC (Barr All Incoming Calls) (refer 3GPP TS 22.088 [6] clause 2)
"IR" BIC‑Roam (Barr Incoming Calls when Roaming outside the
home country) (refer 3GPP TS 22.088 [6] clause 2)
"NT" barr incoming calls from numbers Not stored to TA memory
"NM" barr incoming calls from numbers Not stored to MT memory
"NS" barr incoming calls from numbers Not stored to SIM/UICC memory
"NA" barr incoming calls from numbers Not stored in Any memory
"AB" All Barring services (refer 3GPP TS 22.030 [19])
(applicable only for <mode>=0)
"AG" All outGoing barring services (refer 3GPP TS 22.030 [19])
(applicable only for <mode>=0)
"AC" All inComing barring services (refer 3GPP TS 22.030 [19])
(applicable only for <mode>=0)
"FD" SIM card or active application in the UICC (GSM or USIM)
fixed dialling memory feature (if PIN2 authentication has not been
done during the current session, PIN2 is required as <passwd>)
"PN" Network Personalization (refer 3GPP TS 22.022 [33])
"PU" network sUbset Personalization (refer 3GPP TS 22.022 [33])
"PP" service Provider Personalization (refer 3GPP TS 22.022 [33])
Therefore a modem cannot really honor this command in airplane mode.
I disagree...

Regards,
-Denis

Loading...