dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/34768?usp=email )
Change subject: pySim-shell: do not fail when EF.ICCID does not exist ......................................................................
pySim-shell: do not fail when EF.ICCID does not exist
An eUICC that has no active eSIM profile does not have an ICCID. (The reason for this is that EF.ICCID is part of the eSIM profile). Unfortunately pySim-shell insists on reading the ICCID from EF.ICCID on startup in order to use it as a lookup key for verify_adm later.
To solve the problem, let's add a try/except block around the section where EF.ICCID is read. In case of failure we set the ICCID to None,
Related: OS#5636 Change-Id: I8d18c5073946c5a6bb1f93be0ce692a599f46f8c --- M pySim-shell.py 1 file changed, 23 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/68/34768/1
diff --git a/pySim-shell.py b/pySim-shell.py index afc7653..a79949c 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -244,8 +244,11 @@ self.register_command_set(Ts102222Commands()) self.register_command_set(PySimCommands())
- self.lchan.select('MF/EF.ICCID', self) - self.iccid = dec_iccid(self.lchan.read_binary()[0]) + try: + self.lchan.select('MF/EF.ICCID', self) + self.iccid = dec_iccid(self.lchan.read_binary()[0]) + except: + self.iccid = None
self.lchan.select('MF', self) rc = True