Closed Bug 1106450 Opened 7 years ago Closed 7 years ago

[FFOS2.0][Woodduck][STK][HOMO]multi-IMSI behaviour for NRJ France SIM cards. MORE time PC do not need TR from gaia/gecko

Categories

(Firefox OS Graveyard :: General, defect, P1)

defect

Tracking

(blocking-b2g:2.0M+, b2g-v2.0 wontfix, b2g-v2.0M fixed, b2g-v2.1 fixed, b2g-v2.1S fixed, b2g-v2.2 fixed)

RESOLVED FIXED
2.2 S2 (19dec)
blocking-b2g 2.0M+
Tracking Status
b2g-v2.0 --- wontfix
b2g-v2.0M --- fixed
b2g-v2.1 --- fixed
b2g-v2.1S --- fixed
b2g-v2.2 --- fixed

People

(Reporter: sync-1, Assigned: selee)

References

Details

Attachments

(11 files)

email:pengfei.huang.hz.com
 tel:151-1324-9081
 +++ This bug was initially created as a clone of Bug #842328 +++
 Created an attachment (id=1023344)
 NO TR
 
 +++ This bug was initially created as a clone of Bug #309752 +++
 Created an attachment (id=231682)
 Multi-IMSI Technical specifications
 
 In the attached file you will find a complete description about the multi-IMSI behaviour implemented on NRJ France SIM cards.
 
 NRJ Mobile operator has signed an agreement with a Belgium operator called "PROXIMUS". 
 This agreement will allow NRJ end users to have MMS and Internet access using the MCC/MNC of Proximus operator, 206 01.
 ++++++++++ end of initial bug #309752 description ++++++++++
 
 		
 
  DEFECT DESCRIPTION:
 
  REPRODUCING PROCEDURES:
 
  EXPECTED BEHAVIOUR:
 
  ASSOCIATE SPECIFICATION:
 
  TEST PLAN REFERENCE:
 
  TOOLS AND PLATFORMS USED:
 
  USER IMPACT:
 
  REPRODUCING RATE:
 
  For FT PR, Please list reference mobile's behavior:
 ++++++++++ end of initial bug #842328 description ++++++++++
 
 		
 CONTACT INFO (Name,Phone number):
 
  DEFECT DESCRIPTION:
 
  REPRODUCING PROCEDURES:
 
  EXPECTED BEHAVIOUR:
 
  ASSOCIATE SPECIFICATION:
 
  TEST PLAN REFERENCE:
 
  TOOLS AND PLATFORMS USED:
 
  USER IMPACT:
 
  REPRODUCING RATE:
 
  For FT PR, Please list reference mobile's behavior:
Summary: [FFOS2.0][Woodduck][STK][HOMO]multi-IMSI behaviour for NRJ France SIM cards → [FFOS2.0][Woodduck][STK][HOMO]multi-IMSI behaviour for NRJ France SIM cards. MORE time PC do not need TR from gaia/gecko
Attached file db file
Attached file NO TR
ni? Shawn/Sean for issue tracking.
Flags: needinfo?(sku)
Flags: needinfo?(selee)
Blocks: Woodduck
blocking-b2g: --- → 2.0M+
Assignee: nobody → selee
Flags: needinfo?(selee)
Hi Pengfei,

Here is the partial log in main_log.
I think it is caused by the next TR which is unexpected.
The unexpected TR issue is fixed at bug 1093993.
Please try the patch at bug 1088611 comment 14 (patch for bug 1093993 included).
Thank you.

===================================
[<<SIM] commandNumber = 1 typeOfCommand = 20 commandQualifier = 0
Received message from worker: {"commandNumber":1,"typeOfCommand":32,"commandQualifier":0,"rilMessageType":"stkcommand","options":{"isVibrate":false},"rilMessageClientId":0}

===================================
[TR]    Received chrome message {"resultCode":0,"itemIdentifier":"2","command":{"commandNumber":1,"typeOfCommand":36,"commandQualifier":0,"rilMessageType":"stkcommand","options":{"title":"Manual*","items":[{"identifier":2,"text":"Local*"},{"identifier":1,"text":"Extranjero"}],"presentationType":0},"rilMessageClientId":0},"rilMessageClientId":0,"rilMessageToken":26,"rilMessageType":"sendStkTerminalResponse"}

===================================
[<<SIM] commandNumber = 1 typeOfCommand = 1 commandQualifier = 2
Received message from worker: {"commandNumber":1,"typeOfCommand":1,"commandQualifier":2,"rilMessageType":"stkcommand","options":null,"rilMessageClientId":0}
Flags: needinfo?(pengfei.huang.hz)
Blocks: Woodduck_P2
Attached file 12-8-mtklog-NRJ.zip
Hi Sean Lee,
   I try the patch at bug 1088611 comment 14 (patch for bug 1093993 included). Phone can't change IMSI and the UI stop working after play tone command.
Flags: needinfo?(pengfei.huang.hz)
Hello Pengfei,

Please test the issue with the trail patch at bug 1106449 comment 10.
We suspect that the unexpected TR from Gecko disrupts the command exchange.
Thank you.
Flags: needinfo?(pengfei.huang.hz)
Attached file 12-10-mtklog-NRJ.zip
Hi Sean Lee,   
  The test log 12-10-mtklog-NRJ.zip for patch bug1106449 comment10.We get tr of more time on lab device.
Flags: needinfo?(pengfei.huang.hz)
Flags: needinfo?(sku) → needinfo?(selee)
Flags: needinfo?(sku)
Hello,

Both bug 1106454 and 1106450 have very similar behavior.
Please see bug 1106454 comment 7 .
We are waiting for the result of the trail patch .
Flags: needinfo?(sku)
Flags: needinfo?(selee)
Flags: needinfo?(pengfei.huang.hz)
No longer blocks: Woodduck_P2
Blocks: Woodduck_P2
No longer blocks: Woodduck_P2
Attached file 12-15-mtklog-NRJ.zip
Please check the log.The play tone command get no Terminal Response.Thanks
Flags: needinfo?(pengfei.huang.hz)
Flags: needinfo?(selee)
Hi Pengfei,

Could you provide your test result? PASS or FAILED?

Thanks.
Flags: needinfo?(selee) → needinfo?(pengfei.huang.hz)
Hi Sean Lee,
   The test was FAILED.Compare to other device, after PLAY TONE command with playing tone, refresh command will be next.
Our test was stopping at PLAY TONE command, no terminal response returned.We need your technology supports.
Flags: needinfo?(pengfei.huang.hz)
Flags: needinfo?(selee)
Hi Pengfei,

The following log shows that cell object which contains gsmLocationAreaCode and gsmCellId is null.

2-10 13:55:11.963   938   938 I Gecko   : -*- RILContentHelper: Received message 'RIL:VoiceInfoChanged': {"clientId":0,"data":{"connected":false,"emergencyCallsOnly":true,"roaming":false,"network":null,"cell":null,"type":null,"signalStrength":null,"relSignalStrength":null,"state":"denied"}}
12-10 13:55:11.966   938   938 I Gecko   : -*- 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":"notSearching"}}

That's why the logs show Javascript Error for the following codes:
              gsmLocationAreaCode: conn.voice.cell.gsmLocationAreaCode,
              gsmCellId: conn.voice.cell.gsmCellId

Could you help to provide Android's design when gsmLocationAreaCode and gsmCellId are not able to retrieve?
We will give you a trail patch as soon once we know how to handle this.

Thank you very much.
Flags: needinfo?(selee) → needinfo?(pengfei.huang.hz)
Hi Sean lee,
   In fact, we didn't connect to GSM network in the test which may be the JavaScript Error reason, I think.And I asked our co-worker, they said they didn't deal with gsmLocationAreaCode and gsmCellId indeed because they come from modem. They suggest that it needs MTK modem return what exactly gsmLocationAreaCode and gsmCellId should be when there is no network to connect.
Flags: needinfo?(pengfei.huang.hz)
Hi Pengfei,

Do you have any suggestion that how to response STK_CMD_PROVIDE_LOCAL_INFO command when GSM network is not connected?
Here is the normal case that how GAIA responses the command :
        icc.responseSTKCommand(message, {
          localInfo: {
            locationInfo: {
              mcc: IccHelper.iccInfo.mcc,
              mnc: IccHelper.iccInfo.mnc,
              gsmLocationAreaCode: conn.voice.cell.gsmLocationAreaCode,
              gsmCellId: conn.voice.cell.gsmCellId
            }
          },
          resultCode: icc._iccManager.STK_RESULT_OK
        });

Shall GAIA send a TR of STK_RESULT_TERMINAL_CRNTLY_UNABLE_TO_PROCESS = 0x20 ?

Thank you.
Flags: needinfo?(pengfei.huang.hz)
Hi Sean Lee,
   I ask android co-worker and test in tab. When GSM network is not connected, android send a TR with "command performed successfully, limited service". And I get the TR at the protocol TS 102 223 6.7 Command Result.
   Therefore, maybe we can send a TR of this.STK_RESULT_PRFRMD_LIMITED_SERVICE = 0x06.
Thanks.
Flags: needinfo?(pengfei.huang.hz)
Hi Pengfei,

In this patch, TR STK_RESULT_PRFRMD_LIMITED_SERVICE will be sent if cell object doesn't exist.
Please help to test it. Thank you.
Flags: needinfo?(pengfei.huang.hz)
Hi Sean Lee,
   The STK_CMD_PROVIDE_LOCAL_INFO command get the TR of "General result Command performed successfully, limited service". Like that:
=============================
TerminalResponse
   Terminal response
      Command details, Tag = '81', Length = 3
         Command number 1
         Type of command Provide Local Information
         Command qualifier Location information (MCC, MNC, LAC/TAC, Cell Identity and Extended Cell Identity)
      Device identities, Tag = '02', Length = 2
         Source device identity ME
         Destination device identity UICC
      Result, Tag = '83', Length = 1
         General result Command performed successfully, limited service
      Location information, Tag = '93', Length = 7
         MCC and MNC China Mobile (China)
         Location Area Code/Tracking Area Code (LAC/TAC) 24 41
         Cell identity value 2B F9
=============================
But the problem has not solved yet. There is no TR when executing PLAY TONE.

Fetch
9000 Normal Ending Of The Command
   Play Tone, Tag = 'D0', Length = 9
      Command details, Tag = '81', Length = 3
         Command number 1
         Type of command Play Tone
         Command qualifier
            Vibrate use of vibrate alert is up to the terminal
            RFU 0 0 0 0 0 0 0
      Device identities, Tag = '82', Length = 2
         Source device identity UICC
         Destination device identity Earpiece
Status
   Indication No indication
   P2 FCP Template
6C44 Resend request, 68 bytes required
Status
   Indication No indication
   P2 FCP Template
Flags: needinfo?(pengfei.huang.hz)
Hi Sean Lee,
   I debug with real card. And I occurred a exception named NS_ERROR_UNEXPECTED while I select STK Menu Item again. I guess it is wrong at icc_worker.js 0x24.
   var reqIccData = window.navigator.mozSettings.createLock().set({'icc.data':JSON.stringify(message)});
and print message on console:
message
Object { iccId: "8952050001303787338", command: Object }
   Is it will affect the test result?
Hi Pengfei,

Could you help to check which patch that you applied?
I see there are some old logs for previous patch:
12-15 05:07:21.291   159   159 I GeckoDump: [system] TESTCONN 0x26 1  : {}
12-15 05:07:21.291   159   159 I GeckoDump: [system] TESTCONN 0x26 2  : {}
12-15 05:07:21.291   159   159 I GeckoDump: [system] TESTCONN 0x26 3  : null
12-15 05:07:21.292   159   159 E GeckoConsole: [JavaScript Error: "conn.voice.cell is null" {file: "app://system.gaiamobile.org/js/icc_worker.js" line: 424}]


The new log should be :
DUMP('PC0x26 - ' + conn.voice.cell);
DUMP('PC0x26 - got cell');
DUMP('PC0x26 - no cell');

Please help to confirm the patch. Thank you.
Flags: needinfo?(pengfei.huang.hz)
Hi Sean Lee, 
   I found that too. It's my fault, so sorry. I merge the patch on bug1106956 comment20 in the same version code.And the code
  DUMP('TESTCONN 0x26 4.1: '+JSON.stringify(conn.voice.cell.gsmLocationAreaCode) )
  on patch of bug1106956 affect the result. And I correct it and your patch works well, pass the test.
  Thank you very much.
Flags: needinfo?(pengfei.huang.hz)
Hi Pengfei,

Could you provide the test log as well?
I want to make sure the result is in my expect.
After the confirmation, I will provide PR as soon.

BTW, could you help to test the patch for bug 1106454?

Thank you.
Attached file 12-18-mtklog-NRJ.zip
Hi Sean Lee,
   The bug 1106454 is same with this bug. I filing two on Mozilla bugzilla for Shawn request.They are same test and same log. Please check the log.
   Thanks
Attached file PR for master
Hello Fernando,

Here is my PR for this bug. Please help to review it. Thank you.
Attachment #8538292 - Flags: review?(frsela)
Duplicate of this bug: 1106454
Comment on attachment 8538292 [details] [review]
PR for master

LGTM. Thank you
Only one nit in GitHub.
Attachment #8538292 - Flags: review?(frsela) → review+
Hi Fernando,

Thanks for your review. This solution will provide more stable support of multi-sim.
So I remove the comments as well.
Dear Dengwei,
   we can close this bug. see bug842328.
Comment on attachment 8538292 [details] [review]
PR for master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
[User impact] if declined:
Get JavaScript Error when the connection information is null or using SIM slot 2. 

[Testing completed]:
Partner tested PASS in their LAB.

[Risk to taking this patch] (and alternatives if risky):
[String changes made]:
Attachment #8538292 - Flags: approval-gaia-v2.1?
Attachment #8538292 - Flags: approval-gaia-v2.1? → approval-gaia-v2.1+
You need to log in before you can comment on or make changes to this bug.