Closed Bug 1008784 Opened 10 years ago Closed 6 years ago

[OPENC_1.3]SPN can't display when registered in Roaming state.

Categories

(Firefox OS Graveyard :: RIL, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: zhang.ruili, Unassigned)

Details

Attachments

(5 files)

User Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36

Steps to reproduce:

ONS is required to display.  According to testing, the SPN displays properly when registered in HPLMN, but it can't display when registered in roaming state.
OS: All → Gonk (Firefox OS)
Hardware: All → ARM
HI RuiLi:
 Any radio/device log to check?

for ONS case, EF_SPN/EF_SPDI etc... are needed for operator name display, we need those infos (via radio/device log) to check if anything is wrong.

Thanks!!
Shawn
Attached file LOG 512.7z
Hi Shawn, log attached, could you help to check if the log is helpful?

Thanks

Vance
Flags: needinfo?(sku)
// LOG 512/SPN控制位01 2014-05-12-15-30-50/ap/ph/logcat/ <--- Behavior is correct.

12-31 19:33:39.289 E/ICC_GSM_RECORDS_QC_B2G(  297): ReadSpdiRecord :: Expected 1 record, got 0

12-31 19:33:39.789 D/use-Rlog/RLOG-RIL_QC_B2G(  297): [SUB0] [0043]< SIM_IO {sw1=0x90,sw2=0x0,pstring=015a544553504effffffffffffffffffff}

12-31 19:33:39.789 D/SPN_QC_B2G(  297): Found SPN in file 6f46, name: ZTESPN, spnDisplayCondition: 1

12-31 19:33:40.449 D/use-Rlog/RLOG-RIL_QC_B2G(  297): [SUB0] [0051]< VOICE_REGISTRATION_STATE {5,0001,00000001,16,(null),(null),(null),0,(null),(null),(null),(null),(null),0,(null)}
12-31 19:33:40.459 D/SST_QC_B2G(  297): UpdateSpnDisplay: rule=3, showPlmn='1' plmn='460 09' showSpn='1' spn='ZTESPN'

TS 22.101
A.4 Service Provider Name indication
(i) The PLMN name shall be displayed;
(ii) Display of the SP Name is an operator"s option by setting the appropriate fields in the USIM.

TS 31.102
B2=0: display of the service provider name is required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
B2=1: display of the service provider name is not required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
//LOG 512/SPN控制位01 2014-05-12-15-30-50/ap/ph/logcat/

/*
 * Behavior is correct to show both SPN/PLMN.
 *
 */

12-31 19:33:39.289 E/ICC_GSM_RECORDS_QC_B2G(  297): ReadSpdiRecord :: Expected 1 record, got 0
12-31 19:33:39.789 D/use-Rlog/RLOG-RIL_QC_B2G(  297): [SUB0] [0043]< SIM_IO {sw1=0x90,sw2=0x0,pstring=015a544553504effffffffffffffffffff}
12-31 19:33:40.459 D/SST_QC_B2G(  297): UpdateSpnDisplay: rule=3, showPlmn='1' plmn='460 09' showSpn='1' spn='ZTESPN'
12-31 19:33:40.479 I/Gecko   (  297): -*- [SUB0] QCContentHelper_QC_B2G: [zte]messagedata: ({ iccType : 'sim', iccid : '89441000000400617452', mcc : '334', mnc : '020', msisdn : null, spn : 'ZTESPN', isDisplayNetworkNameRequired : true, isDisplaySpnRequired : true,  })


TS 22.101
A.4 Service Provider Name indication
When registered on neither the HPLMN, nor one of the PLMN Identifications used for Service Provider Name display:
(i) The PLMN name shall be displayed;
(ii) Display of the SP Name is an operator"s option by setting the appropriate fields in the USIM.

TS 31.102
B2=0: display of the service provider name is required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
B2=1: display of the service provider name is not required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
Flags: needinfo?(sku)
// LOG 512/仅ONS SPN控制位01 2014-05-12-15-42-06/ap/ph/logcat/

/*
 * Behavior is correct to show both SPN/PLMN.
 *
 */

12-31 19:45:43.799 D/use-Rlog/RLOG-RIL_QC_B2G(  299): [SUB0] [0043]< SIM_IO {sw1=0x90,sw2=0x0,pstring=015a544553504effffffffffffffffffff}
12-31 19:45:43.799 D/SPN_QC_B2G(  299): Found SPN in file 6f46, name: ZTESPN, spnDisplayCondition: 1
12-31 19:45:49.909 D/SST_QC_B2G(  299): UpdateSpnDisplay: rule=3, showPlmn='1' plmn='460 09' showSpn='1' spn='ZTESPN'
12-31 19:45:49.919 I/Gecko   (  299): -*- [SUB0] QCContentHelper_QC_B2G: [zte]messagedata: ({ iccType : 'sim', iccid : '89441000000400617452', mcc : '334', mnc : '020', msisdn : null, spn : 'ZTESPN', isDisplayNetworkNameRequired : true, isDisplaySpnRequired : true,  })

TS 22.101
A.4 Service Provider Name indication
When registered on neither the HPLMN, nor one of the PLMN Identifications used for Service Provider Name display:
(i) The PLMN name shall be displayed;
(ii) Display of the SP Name is an operator"s option by setting the appropriate fields in the USIM.

TS 31.102
B2=0: display of the service provider name is required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
B2=1: display of the service provider name is not required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
Hi RuiLi:
 May I know which part is wrong?

I checked three log which display rules are all set to 1.
And, SPN/PLMN need to be displayed under those environments.

Please provide me
1. pre-conditions, SPN/PNN, Voice Registration state.
2. expected result.
3. actual result you saw.

Thanks!!
Shawn
Flags: needinfo?(zhang.ruili)
SPN控制位01 and 仅ONS SPN控制位01 are correct. which one is also correct besides those two?
(In reply to shawn ku [:sku] from comment #7)
> Hi RuiLi:
>  May I know which part is wrong?
> 
> I checked three log which display rules are all set to 1.
> And, SPN/PLMN need to be displayed under those environments.
>
Flags: needinfo?(zhang.ruili)
Please point out the log path with wrong behaviour to us.
And specify the correct/expected result too.

I can check the log then.
(In reply to RuiLi from comment #8)
> SPN控制位01 and 仅ONS SPN控制位01 are correct. which one is also correct besides
> those two?
> (In reply to shawn ku [:sku] from comment #7)
> > Hi RuiLi:
> >  May I know which part is wrong?
> > 
> > I checked three log which display rules are all set to 1.
> > And, SPN/PLMN need to be displayed under those environments.
> >

Hi Ruili -

I just reply the mail from Liu bin, and you are also in the loop, it would be very helpful if you can provide the information i mentioned in the mail first. Otherwise we really don't understand exactly what is the issue here

Thank!
Attached image 334050控制位01.png
非HPLMN情况下,SPN控制位为01,00时,注册上网络后,只显示了PLMN没有显示SPN。
Attached image 334020控制位01.png
HPLMN网络下,SPN控制位为01,00时,注册上网络后,显示正确的图.
Hi Ruili -

So what you want is when roaming, the device still display "TELCEL ZTESPN" just as camp on HPLMN?

Thanks
Flags: needinfo?(zhang.ruili)
Attached file logcat_main.log
SPN display condition = 0 case. (in case ppl can not read Chinese).
Flags: needinfo?(zhang.ruili)
Hi Arthur/Greg, 
 could we have your comment to know why?


Gecko reports correct display condition to show both SPN/PLMN.
However, spn seems to be ignored at [1] due to roaming case.

 

// Log Snippet
12-31 19:16:40.279 D/SPN_QC_B2G(  291): Found SPN in file 6f46, name: ZTESPN, spnDisplayCondition: 0
12-31 19:16:40.279 D/SST_QC_B2G(  291): UpdateSpnDisplay: rule=3, showPlmn='0' plmn='' showSpn='0' spn='ZTESPN'
12-31 19:16:40.419 D/SST_QC_B2G(  291): UpdateSpnDisplay: rule=3, showPlmn='1' plmn='460 09' showSpn='1' spn='ZTESPN'

// 3GPP spec.,
TS 22.101
A.4 Service Provider Name indication
When registered on neither the HPLMN, nor one of the PLMN Identifications used for Service Provider Name display:
(i) The PLMN name shall be displayed;
(ii) Display of the SP Name is an operator"s option by setting the appropriate fields in the USIM.

TS 31.102
B2=0: display of the service provider name is required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list(see EFSPDI).
...

[1] - https://github.com/mozilla-b2g/gaia/blob/master/shared/js/mobile_operator.js#L66
Flags: needinfo?(gweng)
Flags: needinfo?(arthur.chen)
As comment 15 suggested, we should handle this case in gaia side.
Flags: needinfo?(gweng)
Flags: needinfo?(arthur.chen)
Discussed with Arthur. If we're wrong, please correct us.

Here is the expanded conditions to help to figure out what the complicated if...else does:

    var operator = network ? (network.shortName || network.longName) : null;

    // -- Without iccInfo --
    //
    // return operator
    //
    // -- With iccInfo --
    //
    // Roaming  ^ SPN required  ^                 ^ SPN != PLMN -- SPN + PLMN
    // Roaming  ^ SPN required  ^                 ^ SPN == PLMN -- SPN | PLMN
    // Roaming  ^ !SPN required ^                 ^             -- PLMN
    //
    // !Roaming ^ SPN required  ^ PLMN required   ^ SPN != PLMN -- SPN + PLMN
    // !Roaming ^ SPN required  ^ PLMN required   ^ SPN == PLMN -- SPN | PLMN
    // !Roaming ^ !SPN required ^ PLMN required   ^             -- PLMN
    // !Roaming ^ SPN required  ^ !PLMN required  ^             -- SPN
    // !Roaming ^ !SPN required ^ !PLMN required  ^             -- null
(In reply to Greg Weng [:snowmantw][:gweng][:λ] from comment #17)
...
>     // !Roaming ^ !SPN required ^ !PLMN required  ^             -- null

Gecko has a bug (see Bug 1007487) that cause above condition happened.
Actually, there is no real case for "!Roaming ^ !SPN required ^ !PLMN required  ^" if device attaches to a network.

The real condition will be "!Roaming ^ !SPN required ^ PLMN required"
Attached file WIP Patch
I have a WIP for this but have no time to verify it, and it doesn't pass the tests yet.
Beside that, I need to make another patch for v1.3, v1.4. Should we make this blocker or it's just a bug with ordinary priority?
Firefox OS is not being worked on
Status: UNCONFIRMED → RESOLVED
Closed: 6 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: