diff --git a/pySim/filesystem.py b/pySim/filesystem.py index ce1882b3..b5d0ccd2 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1352,7 +1352,7 @@ class RuntimeState: if sw == "9000": print(" %s: %s" % (f.name, f.aid)) apps_taken.append(f) - except SwMatchError: + except (SwMatchError, ProtocolError): pass return apps_taken diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index a373d685..ea50bc9d 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -148,8 +148,9 @@ class ModemATCommandLink(LinkBase): log.debug('Sending command: %s', cmd) # Send AT+CSIM command to the modem - # TODO: also handle +CME ERROR: rsp = self.send_at_cmd(cmd) + if rsp[-1].startswith(b'+CME ERROR:'): + raise ProtocolError('AT+CSIM failed with: %s' % str(rsp)) if len(rsp) != 2 or rsp[-1] != b'OK': raise ReaderError('APDU transfer failed: %s' % str(rsp)) rsp = rsp[0] # Get rid of b'OK'