diff --git a/pySim-read.py b/pySim-read.py index 5229dda9..44469875 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -173,9 +173,9 @@ if __name__ == '__main__': # EF.OPLMNwAcT try: - (res, sw) = scc.read_binary(EF['OPLMNwAcT']) + (res, sw) = card.read_oplmn_act() if sw == '9000': - print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + print("OPLMNwAcT:\n%s" % (res)) else: print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index 16f6881c..55d1979c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -84,6 +84,13 @@ class Card(object): data, sw = self._scc.update_binary(EF['HPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw + def read_oplmn_act(self): + (res, sw) = self._scc.read_binary(EF['OPLMNwAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): """ See note in update_hplmn_act()