laforge has submitted this change. ( 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(-)
Approvals: osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
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