Closed Bug 962456 Opened 12 years ago Closed 8 years ago

[DSDS] When change non-primary data SIM Data APN setting, established data call will be disconnected first then connected which shouldn't be affected.

Categories

(Firefox OS Graveyard :: Gaia::Settings, defect)

x86_64
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:backlog)

RESOLVED WONTFIX
tracking-b2g backlog

People

(Reporter: echu, Unassigned)

References

Details

(Whiteboard: dsdsrun1.3-2)

Attachments

(1 file)

* Build Number Fugu Gaia ee25b0e45649d2955f340ce4f71ad55712dd0fab Gecko 913cf2b92845441c9578787362ddad6f2ac15df6 BuildID 20140121095108 Version 28.0a2 * Reproduce Steps 1. SIM 1 data call is established. 2. Go to SIM 2 Data settings, change it's APN setting and press ok. * Expected Result SIM 1 data call will not be affected. * Actual Result SIM 1 data call will be disconnected first then connected, the way like SIM 1 APN is changed. * Occurrence rate 100%
At a first glance it might not be related to a Gaia issue, see [1] please. [1] https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/carrier.js#L1089-L1107
We use only one key "ril.data.apnSettings" pointing to apn settings for 2 SIMs. Both radioInterface instances receive a notification of changes even only one SIM's apn is updated by gaia. In gecko, we don't compare if the apn content really becomes different after getting notified. We simply disconnect the data call if any, and update apn cache in gecko. To resolve the issue, gecko should be able to tell which SIM the notification is sent for. Possible solutions: 1) Use individual keys for each SIM 2) Still use one key, but gecko does more check to know which SIM's apn is really updated. The comparison looks expensive I'd say.
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #2) > Possible solutions: > 1) Use individual keys for each SIM > 2) Still use one key, but gecko does more check to know which SIM's apn is > really updated. The comparison looks expensive I'd say. Second solution seems so expensive so IMHO we should go for the first one. On the other hand I wonder if we could avoid call `updateRILNetworkInterface()` at [1] and only call it for 'ril.data.enabled' setting changes. [1] http://mxr.mozilla.org/mozilla-central/source/dom/system/gonk/RadioInterfaceLayer.js#2884
(In reply to José Antonio Olivera Ortega [:jaoo] from comment #3) > (In reply to Hsin-Yi Tsai [:hsinyi] from comment #2) > > Possible solutions: > > 1) Use individual keys for each SIM > > 2) Still use one key, but gecko does more check to know which SIM's apn is > > really updated. The comparison looks expensive I'd say. > > Second solution seems so expensive so IMHO we should go for the first one. > On the other hand I wonder if we could avoid call > `updateRILNetworkInterface()` at [1] and only call it for 'ril.data.enabled' > setting changes. > > [1] > http://mxr.mozilla.org/mozilla-central/source/dom/system/gonk/ > RadioInterfaceLayer.js#2884 Do you mean 'updateRILNetworkInterface()' after receiving 'ril.data.apnSettings' change? We do this because in 'updateApnSettings()' we will disconnect any connected data, so after apns are updated we need to call 'updateRILNetworkInterface()' to restore default data call if needed. But I noticed that gaia will also trigger 'ril.data.enabled' off and on. Maybe we should do this only in one side...
(In reply to Jessica Jong [:jjong] [:jessica] from comment #4) > > On the other hand I wonder if we could avoid call > > `updateRILNetworkInterface()` at [1] and only call it for 'ril.data.enabled' > > setting changes. > > > > [1] > > http://mxr.mozilla.org/mozilla-central/source/dom/system/gonk/ > > RadioInterfaceLayer.js#2884 > > Do you mean 'updateRILNetworkInterface()' after receiving > 'ril.data.apnSettings' change? We do this because in 'updateApnSettings()' > we will disconnect any connected data, so after apns are updated we need to > call 'updateRILNetworkInterface()' to restore default data call if needed. Sorry for asking this...I used to know the code for data calls in the RIL plumbing better. It's okay if you need to do it. > But I noticed that gaia will also trigger 'ril.data.enabled' off and on. I don't think so, as I reviewed Gaia doesn't disable/enable the data call if the APNs have been changed for the ICC not active for data calls. Am I missing something? Please see comment #1 please
(In reply to José Antonio Olivera Ortega [:jaoo] from comment #3) > (In reply to Hsin-Yi Tsai [:hsinyi] from comment #2) > > Possible solutions: > > 1) Use individual keys for each SIM > > 2) Still use one key, but gecko does more check to know which SIM's apn is > > really updated. The comparison looks expensive I'd say. > > Second solution seems so expensive so IMHO we should go for the first one. > On the other hand I wonder if we could avoid call > `updateRILNetworkInterface()` at [1] and only call it for 'ril.data.enabled' > setting changes. > > [1] > http://mxr.mozilla.org/mozilla-central/source/dom/system/gonk/ > RadioInterfaceLayer.js#2884 However, Option2 benefits a single sim case as well, see Bug 931348.
See Also: → 931348
blocking-b2g: --- → 1.4?
triage: user impact is quite low, put to backlog
blocking-b2g: 1.4? → backlog
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: