Closed Bug 916000 Opened 6 years ago Closed 6 years ago

[B2G][Helix][system][wangchao]There is no sim state for 'illegal'.

Categories

(Firefox OS Graveyard :: RIL, enhancement, P1)

enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lecky.wanglei, Assigned: gwang)

References

Details

Attachments

(2 files, 3 obsolete files)

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)

Steps to reproduce:

【Detail Description*】:
【Repro Steps*】:install a unicom usim card that owed pay for a log time.
【Expect Result*】:can read sim phonebook and change pin
【Real Result*】:display unknown simstate and can't entry sim at all
【Test Count*】:5
【Found Count*】:5
【Gaia commit ID*】:c0ea0a4943dc8d3751b07f5b5c5d3abe06364a14
【Gecko commit ID*】: 170f9e477571127cd40997fa2abe262ed43f0e4d
【Log*】:NA
【Network environment】:NA
【Resume operation】:NA
【Carrier】:UNICOM

Because the sim is a owed pay card, so it is rejected by network, and the sim turned to 'illegal' simstate, this is a regular process.

But in gaia and gecko, there is no state for 'illegal', so mapped to 'unknown'.
Then the entry for sim is disabled, but this should not happen for 'illegal' state.

More worse, when sim is 'unknown', it can not to make a emergency call. This should never happen at all.

Thanks!
Severity: normal → critical
blocking-b2g: --- → hd?
Priority: -- → P1
Flags: needinfo?(wchang)
Asking for a new state is a feature request, will not happen on current release.

QAWANTED to check on this point:

(In reply to lecky from comment #0)

> More worse, when sim is 'unknown', it can not to make a emergency call. This
> should never happen at all.
> 

If this is the case, please open a bug on this. That needs to be fixed.
Severity: critical → enhancement
blocking-b2g: hd? → ---
Flags: needinfo?(wchang)
Feature request - for sim state "illegal". 

Emergency call issue can be tracked with bug 911865.


Ken,
Can you assess if this sim state should be implemented in the future?

Thanks.
Flags: needinfo?(kchang)
See Also: → 911865
(In reply to Wayne Chang [:wchang] from comment #1)
> > More worse, when sim is 'unknown', it can not to make a emergency call. This
> > should never happen at all.
> > 
> 
> If this is the case, please open a bug on this. That needs to be fixed.
It seems same as bug 908004.

(In reply to Wayne Chang [:wchang] from comment #2)
> Can you assess if this sim state should be implemented in the future?
We should have this state. Maybe UX want to notify user this state in the future.
Georgia, please take this bug.
Assignee: nobody → gwang
Flags: needinfo?(kchang)
Component: Gaia::System → RIL
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Blocks: 919967
Blocks: 919969
Attachment #809106 - Flags: review?(allstars.chh)
Comment on attachment 809106 [details] [diff] [review]
Add illegal card state support in ril.

Oh it's a magic patch,
only people smart enough can review it.

Too bad I am too dump. :(

Can you also see the patch?
Attachment #809106 - Flags: review?(allstars.chh)
Gaia part will put in Bug919967 for import contact & Bug919969 for setting.
Attachment #809106 - Attachment is obsolete: true
Attachment #809595 - Flags: review?(allstars.chh)
Comment on attachment 809595 [details] [diff] [review]
Add illegal card state support in ril.

Review of attachment 809595 [details] [diff] [review]:
-----------------------------------------------------------------

Please also update comments in nsIDOMIccManager.idl,
please add tests next time,
I don't think you ever tested it.

::: dom/system/gonk/ril_consts.js
@@ +2344,5 @@
>  this.GECKO_RADIOSTATE_READY         = "ready";
>  
>  this.GECKO_CARDSTATE_NOT_READY                     = null;
>  this.GECKO_CARDSTATE_UNKNOWN                       = "unknown";
> +this.GECKO_CARDSTATE_ILLEGAL                       = "illegal";

Move it to before UNKNOWN.

::: dom/system/gonk/ril_worker.js
@@ +2990,5 @@
>          newCardState = GECKO_CARDSTATE_READY;
>          break;
> +      case CARD_APPSTATE_ILLEGAL:
> +        newCardState = GECKO_CARDSTATE_ILLEGAL;
> +        break;

Can this code work?

app_state is read by readUint32,
however CARD_APPSTATE_ILLEGAL is -1.

Also move this 'case' in the first case of switch.
Attachment #809595 - Flags: review?(allstars.chh) → review-
OK~I'll add tests.

Base on RIL Worker log, app_state = -1 can be pass to upper layer~
Looks like it's ok to pass -1 here.

I/Gecko   (  544): RIL Worker[0]: iccStatus: {"cardState":1,"universalPINState":0,"gsmUmtsSubscriptionAppIndex":0,"cdmaSubscriptionAppIndex":-1,"imsSubscriptionAppIndex":-1,"apps":[{"app_type":2,"app_state":-1,"perso_substate":2,"aid":"a0000000871002ff49ff0589","app_label":"54656c656e6f72205553494d","pin1_replaced":0,"pin1":3,"pin2":1},{"app_type":0,"app_state":1,"perso_substate":0,"aid":"a000000063504b43532d3135","app_label":"","pin1_replaced":0,"pin1":0,"pin2":0}]}
I/Gecko   (  544): RIL Worker[0]: Parcel (size 292): 0,0,0,0,109,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,2,0,0,0,255,255,255,255,2,0,0,0,24,0,0,0,97,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,0,55,0,49,0,48,0,48,0,50,0,102,0,102,0,52,0,57,0,102,0,102,0,48,0,53,0,56,0,57,0,0,0,0,0,24,0,0,0,53,0,52,0,54,0,53,0,54,0,99,0,54,0,53,0,54,0,101,0,54,0,102,0,55,0,50,0,50,0,48,0,53,0,53,0,53,0,51,0,52,0,57,0,52,0,100,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,10,0,0,0,3,0,0,0,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,24,0,0,0,97,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,54,0,51,0,53,0,48,0,52,0,98,0,52,0,51,0,53,0,51,0,50,0,100,0,51,0,49,0,51,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
I/Gecko   (  544): RIL Worker[0]: We have at least one complete parcel.
I/Gecko   (  544): RIL Worker[0]: Solicited response for request type 1, token 109, error 0
(In reply to Yoshi Huang[:allstars.chh][:yoshi] from comment #7)
> app_state is read by readUint32,
Actually the return integer is signed 32-bit, I just file Bug 920391 to rename it.
Attachment #809595 - Attachment is obsolete: true
Attachment #809700 - Flags: review?(allstars.chh)
Comment on attachment 809701 [details] [diff] [review]
Part2: SIM app_state XPC shell test case.

For test part~ local run ok.
Attachment #809701 - Flags: review?(allstars.chh)
Attachment #809700 - Flags: review?(allstars.chh) → review+
Comment on attachment 809701 [details] [diff] [review]
Part2: SIM app_state XPC shell test case.

Review of attachment 809701 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/system/gonk/tests/test_ril_worker_icc.js
@@ +1676,5 @@
> +    let iccStatus = {
> +      gsmUmtsSubscriptionAppIndex: 0,
> +      apps: [
> +      {
> +        app_state:cardAppState

nit, put a space after ':'
Attachment #809701 - Flags: review?(allstars.chh) → review+
Add space after ':' ~~
Attachment #809701 - Attachment is obsolete: true
CCing Anshul,
Although we didn't update the interface, but we will add a cardState 'illegal' here.
(In reply to Yoshi Huang[:allstars.chh][:yoshi] from comment #17)
> CCing Anshul,
> Although we didn't update the interface, but we will add a cardState
> 'illegal' here.
Appreciate you letting us know Yoshi.
Lucky, this issue was fixed in AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.019.234.  For more details, please file an SR.
You need to log in before you can comment on or make changes to this bug.