Hi all,
I have a SysmoISIM-SJA2 which I believe doesn't have a CAT application and doesn't support the SUSPEND APDU (per the manual). Given that, is there any way to reset/refresh the card through APDU commands (or through any other means)? Would something along the lines of deactivating and then reactivating the USIM application work?
Thanks,
Bryan
Hi Bryan,
On Tue, Dec 28, 2021 at 08:35:03AM -0500, bryan coxwell wrote:
I have a SysmoISIM-SJA2 which I believe doesn't have a CAT application and doesn't support the SUSPEND APDU (per the manual). Given that, is there any way to reset/refresh the card through APDU commands (or through any other means)? Would something along the lines of deactivating and then reactivating the USIM application work?
can you please explain the use case? What exactly do you want to refresh/reset, from which particular api/interface point of view?
Morning Harald, thanks for getting back to me. For a little more context, the problem I'm trying to solve is that I've written an android application to update EF.IMSI, but I don't have a way to inform the UE of changes to the files on the SIM. TS 31.102 has a note in Annex A that says if EF.IMSI is changed through proactive UICC commands (which I'm NOT using, I just thought this was a helpful reference), a REFRESH command should be sent which would cause a 3G session reset which in turn updates the UE about changes to the filesystem. Since I'm not using proactive UICC commands (and it's my understanding that if I wanted to I would need to write an applet to support that, correct?) I'm wondering if there's any other way for me to trigger a 3G session reset. For context, the method I'm currently using to make changes to the files is to simply open a logical channel with ADF.USIM and send the SELECT and UPDATE BINARY APDUs over.
Any help or insight would be much appreciated!
On Tue, Jan 4, 2022 at 4:20 AM Harald Welte laforge@osmocom.org wrote:
Hi Bryan,
On Tue, Dec 28, 2021 at 08:35:03AM -0500, bryan coxwell wrote:
I have a SysmoISIM-SJA2 which I believe doesn't have a CAT application
and
doesn't support the SUSPEND APDU (per the manual). Given that, is there
any
way to reset/refresh the card through APDU commands (or through any other means)? Would something along the lines of deactivating and then reactivating the USIM application work?
can you please explain the use case? What exactly do you want to refresh/reset, from which particular api/interface point of view?
--
- Harald Welte laforge@osmocom.org
============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
Hi Bryan,
I think what you're doing is something that has not been forthought by the 3GPP / ETSI when specifying the SIM Cards. Of course I cannot speak for the designers, but based on my understanding:
Either you are
a) the phone. If "the phone" updates the card, then it knows by itself to re-read the state and/or reset the card physically after changing it,
or
b) the card (an applet on it). In this case, the proactive SIM refresh is used to tell the phone (which has no way of knowing otherwise to invalidate all its state about the SIM and start to re-read it
Of course I know that in todays "the phone" you have hundreds of software components on at least half a dozen of processors, so the old assumption that "the phone knows when it modifies" no longer holds true.
I am not aware of any method solving your problem, other than to write a small card applet which triggers the proactive refresh, after you send it a command via your channel...
Regards, Harald
Morning Harald,
That makes sense. Just to close the loop on this in the event anyone else has a similar requirement, user Cheeriotb on Github has built an STK applet specifically for sending REFRESH commands to the UICC. Tested on a Samsung S20 with a SysmoISIM-SJA2 and it worked perfectly for me. The repo can be found here: https://github.com/cheeriotb/sim-toolkit-refresh
On Tue, Jan 4, 2022 at 7:19 AM Harald Welte laforge@osmocom.org wrote:
Hi Bryan,
I think what you're doing is something that has not been forthought by the 3GPP / ETSI when specifying the SIM Cards. Of course I cannot speak for the designers, but based on my understanding:
Either you are
a) the phone. If "the phone" updates the card, then it knows by itself to re-read the state and/or reset the card physically after changing it,
or
b) the card (an applet on it). In this case, the proactive SIM refresh is used to tell the phone (which has no way of knowing otherwise to invalidate all its state about the SIM and start to re-read it
Of course I know that in todays "the phone" you have hundreds of software components on at least half a dozen of processors, so the old assumption that "the phone knows when it modifies" no longer holds true.
I am not aware of any method solving your problem, other than to write a small card applet which triggers the proactive refresh, after you send it a command via your channel...
Regards, Harald --
- Harald Welte laforge@osmocom.org
============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)