aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSupreeth Herle <herlesupreeth@gmail.com>2019-06-08 07:49:08 +0200
committerSupreeth Herle <herlesupreeth@gmail.com>2020-01-21 11:00:38 +0100
commitf8299451179cf0cb22d23ff7a9c6f5ced8ed7e20 (patch)
tree8fef4defa682a5c798595fb14a9264feec7d219c
parent0ad5bcfbc1bfa93c0cfd2aa1e93991dabaf22cf6 (diff)
Added feature to read Service Provider Name (SPN) from the SIM card
-rw-r--r--[-rwxr-xr-x]pySim-read.py13
-rw-r--r--pysim-testdata/Fairwaves-SIM.ok3
-rw-r--r--pysim-testdata/Wavemobile-SIM.ok3
-rw-r--r--pysim-testdata/fakemagicsim.ok3
-rw-r--r--pysim-testdata/sysmoISIM-SJA2.ok3
-rw-r--r--pysim-testdata/sysmoUSIM-SJS1.ok3
-rw-r--r--pysim-testdata/sysmosim-gr1.ok3
7 files changed, 30 insertions, 1 deletions
diff --git a/pySim-read.py b/pySim-read.py
index 4bfa900..662ee54 100755..100644
--- a/pySim-read.py
+++ b/pySim-read.py
@@ -37,7 +37,7 @@ except ImportError:
import simplejson as json
from pySim.commands import SimCardCommands
-from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, format_xplmn_w_act
+from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, format_xplmn_w_act, dec_spn
def parse_options():
@@ -121,6 +121,17 @@ if __name__ == '__main__':
else:
print("SMSP: Can't read, response code = %s" % (sw,))
+ # EF.SPN
+ try:
+ (res, sw) = scc.read_binary(EF['SPN'])
+ if sw == '9000':
+ spn_res = dec_spn(res)
+ print("SPN: %s\nDisplay HPLMN: %s\nDisplay OPLMN: %s" % (spn_res[0], spn_res[1], spn_res[2],))
+ else:
+ print("SPN: Can't read, response code = %s" % (sw,))
+ except Exception as e:
+ print("SPN: Can't read file -- %s" % (str(e),))
+
# EF.PLMNsel
try:
(res, sw) = scc.read_binary(EF['PLMNsel'])
diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok
index 6150469..94df376 100644
--- a/pysim-testdata/Fairwaves-SIM.ok
+++ b/pysim-testdata/Fairwaves-SIM.ok
@@ -3,6 +3,9 @@ Reading ...
ICCID: 8988219000000117833
IMSI: 001010000000111
SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff
+SPN: Fairwaves
+Display HPLMN: False
+Display OPLMN: False
PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT:
ffffff0000 # unused
diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok
index b0ea8be..8b14a30 100644
--- a/pysim-testdata/Wavemobile-SIM.ok
+++ b/pysim-testdata/Wavemobile-SIM.ok
@@ -3,6 +3,9 @@ Reading ...
ICCID: 89445310150011013678
IMSI: 001010000000102
SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff
+SPN: wavemobile
+Display HPLMN: False
+Display OPLMN: False
PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT:
fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT
diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok
index d9bff94..8d4583d 100644
--- a/pysim-testdata/fakemagicsim.ok
+++ b/pysim-testdata/fakemagicsim.ok
@@ -3,6 +3,9 @@ Reading ...
ICCID: 1122334455667788990
IMSI: 001010000000102
SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
+SPN: Magic
+Display HPLMN: True
+Display OPLMN: False
PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404.
OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404.
diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok
index fb191e0..7346134 100644
--- a/pysim-testdata/sysmoISIM-SJA2.ok
+++ b/pysim-testdata/sysmoISIM-SJA2.ok
@@ -3,6 +3,9 @@ Reading ...
ICCID: 8988211900000000004
IMSI: 001010000000102
SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
+SPN:
+Display HPLMN: False
+Display OPLMN: False
PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT:
fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT
diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok
index b6a5391..5ad34e4 100644
--- a/pysim-testdata/sysmoUSIM-SJS1.ok
+++ b/pysim-testdata/sysmoUSIM-SJS1.ok
@@ -3,6 +3,9 @@ Reading ...
ICCID: 1122334455667788990
IMSI: 001010000000102
SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
+SPN:
+Display HPLMN: False
+Display OPLMN: False
PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT:
fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT
diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok
index d4c3dd9..b306f4d 100644
--- a/pysim-testdata/sysmosim-gr1.ok
+++ b/pysim-testdata/sysmosim-gr1.ok
@@ -3,6 +3,9 @@ Reading ...
ICCID: 1122334455667788990
IMSI: 001010000000102
SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
+SPN:
+Display HPLMN: False
+Display OPLMN: False
PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404.
OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404.