Closed Bug 935537 Opened 11 years ago Closed 11 years ago

Emergency call is not made when the device is in airplane mode

Categories

(Firefox OS Graveyard :: RIL, defect)

x86
macOS
defect
Not set
normal

Tracking

(blocking-b2g:koi+, firefox26 wontfix, firefox27 wontfix, firefox28 fixed, b2g-v1.2 fixed)

RESOLVED FIXED
1.3 Sprint 5 - 11/22
blocking-b2g koi+
Tracking Status
firefox26 --- wontfix
firefox27 --- wontfix
firefox28 --- fixed
b2g-v1.2 --- fixed

People

(Reporter: brg, Assigned: aknow)

References

Details

(Keywords: regression)

Attachments

(9 files, 1 obsolete file)

This is a certification blocker. Tested with Unagi, Moz- RIL, v1.2, build created with Manifest (Gecko-1303dc0.Gaia-2140c98) STR: -the SIM card inserted in the device, turn on device. -Enable Flight Mode -Dial 112 and press dial key. Actual result: Emergency call is not performed. In case your SIM card had the PIN code activated, the device will ask you for inserting the PIN Code.... and no emergency call is placed at all. Expected result: Emergency call MUST be placed ( it is current behaviour in master: Gecko-6ed6f54.Gaia-b12d548) Additional info: It is weird, because I can reproduce this bug using: unagi-ICS.user.manifest.V1.2.0.Rel0.4.Sprint12.B-56.Gecko-1303dc0.Gaia-2140c98 unagi-ICS.eng.v1.2.Rel0.4.Sprint12.B-58.Gecko-1303dc0.Gaia-2140c98 BUT I cannot reproduce it in this build: unagi-ICS.user.v1.2.Rel0.4.Sprint12.B-18.Gecko-1303dc0.Gaia-2140c98.tgz
Bad regression and hence a blocker.
blocking-b2g: koi? → koi+
Keywords: regression
Unable to reproduce this issue using both an AT&T SIM and T-Mobile SIM on Buri 1.2 Build ID: 20131106004004 Gaia 2140c987fdde1c99097018f7e93b0bbd43d2125d SourceStamp 6a831fcb96f4 BuildID 20131106004004 Version 26.0 911 can be reached when user is in Airplane mode. Leaving the regression, regression-window tags on since this could possibly carrier related.
Beatriz - Some questions: 1. Can you indicate specifically what Gaia/Gecko commits you used to reproduce the bug? What's the date of the build you used to reproduce this bug? 2. What SIM did you use to reproduce this bug? Have you seen this bug happen across multiple SIMs or a specific SIM?
Flags: needinfo?(brg)
Gaia/Gecko commits for the not working in v1.2 are : (6th Nov) Gaia: 2140c987fdde1c99097018f7e93b0bbd43d2125d Gecko: 1303dc008cff396a7123b58a0939f1d7f05bb75c (7th Nov) Gaia: b4d59df5c3f974d9815e8f618e85266fc10a6c70 Gecko: 285fe5a2497bbb52105999f1b05751603a95df71 Gaia/Gecko commits for the working one in master are: (6th Nov) Gaia: b12d548835f49db65e476311522f1a927ac2ad5f Gecko:6ed6f54a3653f96d69ecdb64709746ec1b4a99d8 (7th Nov) Gaia: 0c1587ab2972fdad187f5daba7b60c01c30a9992 Gecko: 336c93949dd1b2e66bed07667341afe381733097 I can only test with Movistar SIM card today, but I will try agian with a different service provider tomorrow and provide more useful info because this is a cert blocker.
Flags: needinfo?(brg)
If it's carrier-specific, this is going to be tough to get a regression window.
I do think something is wrong somewhere. Can you tell me which logs or additional information is needed to fix this blocker issue?
Flags: needinfo?(jsmith)
(In reply to Beatriz Rodríguez [:brg] from comment #6) > I do think something is wrong somewhere. Can you tell me which logs or > additional information is needed to fix this blocker issue? We need logs with RIL debugging enabled. Specifically you'll want to follow the steps here - https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks#Changing_preferences to enable RIL debugging. Then, you'll want to get the logcat from your device via adb logcat. Then, attach the output of adb logcat to the bug.
Component: Gaia::Dialer → RIL
Flags: needinfo?(jsmith)
I have re-tested this bug using today engineer build: unagi, Moz RIL,v1.2: Gecko-7eb1c63.Gaia-f30c7ee I can easily reproduce it with that build but if I follow the steps described in https://bugzilla.mozilla.org/show_bug.cgi?id=811605#c5 to activate RIL logs, I cannot reproduce the bug and the emergency call is placed. I will attach the logcat information taken with the activation of the logs --> working fine and without the activation of RIL logs--> not working fine.
NI on :kchang to help with an assignee here. We have logs and STR in comment #8 where the assignee can take a stab at investigation on this.Thanks !
Flags: needinfo?(kchang)
Aknow, can you please take this bug?
Flags: needinfo?(kchang) → needinfo?(szchen)
Assignee: nobody → szchen
Flags: needinfo?(szchen)
I have tested on unagi with the reported problem commit (without enabling ril log) Gaia/Gecko commits for the not working in v1.2 are : (6th Nov) Gaia: 2140c987fdde1c99097018f7e93b0bbd43d2125d Gecko: 1303dc008cff396a7123b58a0939f1d7f05bb75c Cannot reproduce. 911 is ok in airplane mode for CHT operator in Taiwan. Compare these two logs. 1. adb logcat -b radio -v time without enabling RIL logs -->Fail 2. adb logcat -b radio -v time with RIL logs -->issue not reproduce When making an emergency call in airplane mode, gecko will first turn on the radio (leave airplane mode), then make the call. To turn on the radio, request "REQUEST_RADIO_POWER" is sent to ril. In 2, gecko receive the response. In 1, ril does not response the request... Gecko is waiting there and could not make the call. >> Please check this. For the fail one, you should still be in the airplane mode, right? It this an 'always' issue?
Hi Beatriz, Could you try the follow operation with the fail load: 1. turn off airplane mode, then dial a normal call => Should be ok 2. turn on airplane mode, then enter 'settings' => Does 'Call Settings' and 'Cellular & Data' show "SIM card not ready" => We are testing whether the radio switch is OK. 3. turn off airplane mode, then dial normal call again => ok? 4. turn on airplane mode, then make an emergency call => fail? (this is the reported issue) => Are you still in the airplane mode now? or it is turn off automatically?
Flags: needinfo?(brg)
Beatriz, What SIM and build is in use? This seems to be not reproducible internally.
(In reply to Szu-Yu Chen [:aknow] from comment #15) > Compare these two logs. > 1. adb logcat -b radio -v time without enabling RIL logs -->Fail > 2. adb logcat -b radio -v time with RIL logs -->issue not reproduce > > When making an emergency call in airplane mode, gecko will first turn on the > radio (leave airplane mode), then make the call. To turn on the radio, > request "REQUEST_RADIO_POWER" is sent to ril. > In 2, gecko receive the response. > In 1, ril does not response the request... Gecko is waiting there and could > not make the call. > >> Please check this. For the fail one, you should still be in the airplane mode, right? > When it fails, it is showing the dialer keyboard without being able to call. No response when pressing green key. In the status bar, the flight mode icon disappears and it shows coverage bars all in grey. In settings menu, the carrier info is empty. In lock screen, it says: "Only emergency calls" When long press power key, the menu still offers the posibility to turn on Airplane mode. To recover phone capabilities, I need to restart the device. > It this an 'always' issue? Yes, this is an 100% reproducible issue here :-(
Flags: needinfo?(brg)
(In reply to Szu-Yu Chen [:aknow] from comment #16) > Hi Beatriz, > > Could you try the follow operation with the fail load: > 1. turn off airplane mode, then dial a normal call > => Should be ok ok > 2. turn on airplane mode, then enter 'settings' > => Does 'Call Settings' and 'Cellular & Data' show "SIM card not ready" ok. I can see "SIM card not ready" > => We are testing whether the radio switch is OK. > 3. turn off airplane mode, then dial normal call again > => ok? FAIL, the device do not recover phone capabilities: coverage bar info all in grey color. In settings menu, carrier info is empty. When trying to call it says: Airplane mode is activated... but in settings it is deactivated.. > 4. turn on airplane mode, then make an emergency call > => fail? (this is the reported issue) > => Are you still in the airplane mode now? or it is turn off > automatically? The issue does not seem to be related to emergency calls but with airplane mode behaviour, right? If you can confirm it, we can modify the title of this bug.
I have tested today build: Unagi, v1.2, Moz RIL, Gecko-dafc35d.Gaia-3e67ddf. RIL logs not enabled. The issue is reproduced. -Turn on airplane mode. -Turn off airplane mode. -Enter PIN code for my SIM card. (I can reproduce it with a SIM card without PIN code as well). -The phone capabilities are not recovered: "Emergency calls only" is displayed in lock screen. While testing Today master build, Moz RIL, Gecko-4424186.Gaia-0349df4. The issue is not reproduced!
Beatriz, Given that we are going to need extra time to investigate the issue we'd like to move this to 1.3.
Flags: needinfo?(brg)
The issue is not related to emergency call. I try to summarize what we know now. 1. After toggling on and then off the airplane mode, the radio capability is not recover. - UI settings change, but gecko and modem is still in airplane mode. State is out of sync. - Looks like the ril does not respond to our REQUEST_RADIO_POWER request. 2. Issue only happens on v1.2 without enabling gecko's ril log. a. Not reproduce for master branch b. Not reproduce if we enable ril log ... For the further check, we could use 1. as our scenario and verification, i.e., check phone capability after toggling on/off airplane mode. Beatriz, We could make a comparison between case 2 and 2b (whether the ril log is enabled), which is really a weird behaviour. Please record the main log and radio log simultaneously. Just open two consoles, one with 'adb logcat ...', and another with 'adb logcat -b radio ...'. Then, let's try following three combinations. 1. Default (without enabling ril log) 2. Enable ril log (https://bugzilla.mozilla.org/show_bug.cgi?id=811605#c5) 3. Disable ril log again (same steps, but remove the line we added in 2.) Log should cover the whole scenario, including turning on and off the airplane mode. I have no idea for the solution now, but we could do some experiment to narrow down the issue. Hope we could find something at this time.
(In reply to Preeti Raghunath(:Preeti) from comment #21) > Beatriz, > > Given that we are going to need extra time to investigate the issue we'd > like to move this to 1.3. Preeti, due to this issue, emergency calls are not working in airplain mode <--This is a certification blocker for 1.2. We need to fix this issue for launching 1.2. Sorry.
Flags: needinfo?(brg)
(In reply to Szu-Yu Chen [:aknow] from comment #22) > The issue is not related to emergency call. > Beatriz, > > We could make a comparison between case 2 and 2b (whether the ril log is > enabled), which is really a weird behaviour. Please record the main log and > radio log simultaneously. Just open two consoles, one with 'adb logcat ...', > and another with 'adb logcat -b radio ...'. Then, let's try following three > combinations. > > 1. Default (without enabling ril log) > 2. Enable ril log (https://bugzilla.mozilla.org/show_bug.cgi?id=811605#c5) > 3. Disable ril log again (same steps, but remove the line we added in 2.) > > Log should cover the whole scenario, including turning on and off the > airplane mode. I have tested with 1 and 2 and I can reproduce the issue 100% of the times, so I guess it makes not sense to test also 3 :-( The information about the build use today is: Unagi, v1.2, Moz RIL, Gecko-0112f6b.Gaia-a6484b1
Attached patch fix set radio off (obsolete) — Splinter Review
(This is just a git patch, not a well formatted version for landing.) Issue is not reproducible here so i am currently having an offline discussion with Beatriz to make sure the patch is workable. From log, if we send out the same parcel to ril before the first one is responded, the second one will not be process any more. When turn on the airplane mode, we sent out REQUEST_RADIO_PWOER (off) to ril. However, before the parcel is responded, we immediately sent out another REQUEST_RADIO_PWOER (off) to ril (*). The 1st one is responded later, but 2nd one just pending in ril and not processed. Then, we turn off the airplane mode by sending out the REQUEST_RADIO_PWOER (on). The parcel also block in ril and not handled. Therefore, we got the problem that after turning on and then off the airplane mode, the phone capability is not recovered. Some bug exists so we unexpectedly sent out the second parcel in (*). The patch aims to fix this problem.
Attachment #8333713 - Flags: feedback?(htsai)
Szu, Can we please test this patch on a QC RIL as well? We need to make sure this patch works for both.
Flags: needinfo?(szchen)
The root cause might be "11-15 05:16:14.853 I/Gecko ( 108): -*- RadioInterface[0]: 'ril.radio.disabled' is now true" Why setting pref - ril.radio.disable changed to true. 11-15 05:15:41.056 I/Gecko ( 108): -*- RadioInterface[0]: 'ril.radio.disabled' is now false 11-15 05:15:41.056 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is null, desired radio enabled state is true 11-15 05:15:41.767 I/Gecko ( 108): RIL Worker[0]: Radio state changed from 'null' to 'null' 11-15 05:15:42.478 I/Gecko ( 108): RIL Worker[0]: Radio state changed from 'null' to 'off' 11-15 05:15:42.718 I/Gecko ( 108): -*- RadioInterface[0]: Received message from worker: {"rilMessageType":"radiostatechange","radioState":"off"} 11-15 05:15:42.718 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is off, desired radio enabled state is true 11-15 05:15:44.469 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is off, desired radio enabled state is true 11-15 05:15:44.469 I/Gecko ( 108): RIL Worker[0]: Received chrome message {"on":true,"rilMessageToken":5,"rilMessageType":"setRadioPower"} 11-15 05:15:46.441 I/Gecko ( 108): RIL Worker[0]: Radio state changed from 'off' to 'ready' 11-15 05:15:46.932 I/Gecko ( 108): -*- RadioInterface[0]: Received message from worker: {"rilMessageType":"radiostatechange","radioState":"ready"} 11-15 05:15:46.932 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is ready, desired radio enabled state is true 11-15 05:16:05.700 I/Gecko ( 343): -*- RILContentHelper: Received message 'RIL:DataInfoChanged': {"clientId":0,"data":{"connected":false,"emergencyCallsOnly":true,"roaming":false,"network":null,"cell":null,"type":null,"signalStrength":null,"relSignalStrength":null,"state":"searching"}} 11-15 05:16:06.931 I/Gecko ( 347): -*- RILContentHelper: Received message 'RIL:DataInfoChanged': {"clientId":0,"data":{"connected":false,"emergencyCallsOnly":false,"roaming":false,"network":{"longName":"Telefonica Moviles Espana","shortName":"movistar","mcc":"214","mnc":"07"},"cell":{"gsmLocationAreaCode":2862,"gsmCellId":21532831},"type":"umts","signalStrength":-61,"relSignalStrength":100,"state":"registered"}} 11-15 05:16:07.072 D/RILC ( 112): [RID 0] Added CList entry : Dialing(4), call id=0, conn index=0, call type=2, call mode=3, direction=1 11-15 05:16:07.072 D/RILC ( 112): line=-1, number=*98#, number presentation=0, privacy mode=0, name=, name presentation=0, local_ringback=0, is_uus=0 11-15 05:16:09.754 I/Gecko ( 108): RIL Worker[0]: Handling parcel as REQUEST_SETUP_DATA_CALL 11-15 05:16:09.784 I/Gecko ( 108): RIL Worker[0]: Handling parcel as UNSOLICITED_DATA_CALL_LIST_CHANGED ****************************************************************************************************************** 11-15 05:16:14.853 I/Gecko ( 108): -*- RadioInterface[0]: 'ril.radio.disabled' is now true 11-15 05:16:14.853 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is ready, desired radio enabled state is false ****************************************************************************************************************** 11-15 05:16:14.853 I/Gecko ( 108): -*- RadioInterface[0]: Setting radio power to false 11-15 05:16:14.853 I/Gecko ( 108): RIL Worker[0]: Received chrome message {"on":false,"rilMessageToken":10,"rilMessageType":"setRadioPower"} 11-15 05:16:15.143 I/Gecko ( 108): RIL Worker[0]: Handling parcel as UNSOLICITED_DATA_CALL_LIST_CHANGED 11-15 05:16:15.404 I/Gecko ( 108): -*- RadioInterface[0]: All data connections are disconnected, set radio off. 11-15 05:16:15.404 I/Gecko ( 108): -*- RadioInterface[0]: Setting radio power to false 11-15 05:16:15.404 I/Gecko ( 108): RIL Worker[0]: Received chrome message {"on":false,"rilMessageToken":12,"rilMessageType":"setRadioPower"} 11-15 05:16:16.134 I/Gecko ( 108): RIL Worker[0]: Handling parcel as REQUEST_RADIO_POWER 11-15 05:16:16.134 I/Gecko ( 108): RIL Worker[0]: Radio state changed from 'ready' to 'off' 11-15 05:16:16.214 I/Gecko ( 108): -*- RadioInterface[0]: Received message from worker: {"rilMessageType":"radiostatechange","radioState":"off"} 11-15 05:16:16.214 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is off, desired radio enabled state is false 11-15 05:16:20.359 I/Gecko ( 108): -*- RadioInterface[0]: 'ril.radio.disabled' is now false 11-15 05:16:20.359 I/Gecko ( 108): -*- RadioInterface[0]: Reported radio state is off, desired radio enabled state is true 11-15 05:16:20.359 I/Gecko ( 108): RIL Worker[0]: Received chrome message {"on":true,"rilMessageToken":13,"rilMessageType":"setRadioPower"}
Attachment #832849 - Attachment mime type: text/rtf → text/plain
(In reply to Preeti Raghunath(:Preeti) from comment #30) > Szu, > > Can we please test this patch on a QC RIL as well? We need to make sure this > patch works for both. Sadly, we are unable because the source code of QC RIL isn't open. This bug is originally reported on mozRIL. If we find the issues occurs on QC RIL as well, we need to contact them.
Flags: needinfo?(szchen)
Here is some update from Isabel. Detailed reproduce steps ======================== 1. I turned on data and, before the device is actually connected I turned on airplane mode. 2. Turned off airplane mode. The device recovers the signal correctly 3. Then, once the 3G icon is shown, I turned on airplane mode again 4. Tried to call emergency number and the problem is presented 5. I deactivated airplane mode and the phone signal is not recovered. Had to power the device off and on to get it working again. About the patch =============== """ I could test your patch and seems to be working fine. In principle, I cannot reproduce the problem, following the steps described below or doing some other tests. The emergency call is performed although it takes a few seconds since the green key is pressed. I will have a deeper look at it, just in case there is still an edge case, but so far I unable to reproduce the issue as it was reproducible before. """
Comment on attachment 8333713 [details] [diff] [review] fix set radio off Review of attachment 8333713 [details] [diff] [review]: ----------------------------------------------------------------- Thank you for the hard work. I think it's ready to go, r=me. ::: dom/system/gonk/RadioInterfaceLayer.js @@ +2203,4 @@ > // Flag to ignore any radio power change requests during We're changing > // the radio power. > _changingRadioPower: false, > + _radioOffAfterDataDisconnected: false, Please add a comment saying // Flag to determine if we need to set radio off when we are notified a data call has been disconnected.
Attachment #8333713 - Flags: feedback?(htsai) → review+
Attachment #8333713 - Attachment is obsolete: true
Attachment #8335146 - Flags: review-
Attachment #8335146 - Flags: review- → review+
https://hg.mozilla.org/integration/b2g-inbound/rev/413620cc5f93 I don't suppose there's a way we could write a test for this?
Flags: in-testsuite?
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.3 Sprint 5 - 11/22
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: