modem_atcmd: raise ProtocolError instead of ReaderError on CME ERROR

Also accept ProtocolError in addition to SwMatchError in filesystem.py
when probing for applications

Change-Id: I82b50408328f8eaaee5c9e311c4620d20f930642
This commit is contained in:
Tobias Engel 2023-05-29 21:20:59 +02:00 committed by laforge
parent bca01523df
commit d70ac22618
2 changed files with 3 additions and 2 deletions

View File

@ -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

View File

@ -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: <err>
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'