laforge has submitted this change. (
https://gerrit.osmocom.org/c/pysim/+/34850?usp=email
)
(
3 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
)Change subject: pySim-shell: Include current logical channel in prompt
......................................................................
pySim-shell: Include current logical channel in prompt
Now that pySim-shell can switch between logical channels, let's state
the currently used logical channel in the prompt.
Change-Id: I45781a6fba205eeb4ac7f58d5cb642b7131bdd88
Related: OS#6230
---
M docs/shell.rst
M docs/suci-tutorial.rst
M pySim-shell.py
3 files changed, 49 insertions(+), 36 deletions(-)
Approvals:
dexter: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/docs/shell.rst b/docs/shell.rst
index 51fd49e..811ef61 100644
--- a/docs/shell.rst
+++ b/docs/shell.rst
@@ -68,7 +68,7 @@
::
- pySIM-shell (MF)> select
+ pySIM-shell (00:MF)> select
.. 2fe2 a0000000871004 EF.ARR MF
2f00 3f00 ADF.ISIM EF.DIR
2f05 7f10 ADF.USIM EF.ICCID
@@ -85,7 +85,7 @@
::
- pySIM-shell (MF)> select ADF.USIM
+ pySIM-shell (00:MF)> select ADF.USIM
{
"file_descriptor": {
"file_descriptor_byte": {
@@ -103,7 +103,7 @@
"security_attrib_compact": "00",
"pin_status_template_do": "90017083010183018183010A83010B"
}
- pySIM-shell (MF/ADF.USIM)>
+ pySIM-shell (00:MF/ADF.USIM)>
status
@@ -116,7 +116,7 @@
::
- pySIM-shell (MF/ADF.ISIM)> status
+ pySIM-shell (00:MF/ADF.ISIM)> status
{
"file_descriptor": {
"file_descriptor_byte": {
@@ -261,7 +261,7 @@
Example:
::
- pySIM-shell (MF)> dir
+ pySIM-shell (00:MF)> dir
MF
3f00
.. ADF.USIM DF.SYSTEM EF.DIR EF.UMPC
@@ -295,7 +295,7 @@
Example:
::
- pySIM-shell (MF)> tree --help
+ pySIM-shell (00:MF)> tree --help
EF.DIR 2f00 Application Directory
EF.ICCID 2fe2 ICC Identification
EF.PL 2f05 Preferred Languages
@@ -467,7 +467,7 @@
::
- pySIM-shell (MF/ADF.USIM/EF.AD)> read_binary_decoded
+ pySIM-shell (00:MF/ADF.USIM/EF.AD)> read_binary_decoded
{
"ms_operation_mode": "normal",
"specific_facilities": {
@@ -475,8 +475,8 @@
},
"len_of_mnc_in_imsi": 2
}
- pySIM-shell (MF/ADF.USIM/EF.AD)> update_binary_decoded --json-path
specific_facilities.ofm false
- pySIM-shell (MF/ADF.USIM/EF.AD)> read_binary_decoded
+ pySIM-shell (00:MF/ADF.USIM/EF.AD)> update_binary_decoded --json-path
specific_facilities.ofm false
+ pySIM-shell (00:MF/ADF.USIM/EF.AD)> read_binary_decoded
{
"ms_operation_mode": "normal",
"specific_facilities": {
@@ -731,7 +731,7 @@
::
- pySIM-shell (MF/ADF.ARA-M)> aram_get_all
+ pySIM-shell (00:MF/ADF.ARA-M)> aram_get_all
[
{
"ResponseAllRefArDO": [
@@ -783,7 +783,7 @@
For example, to store an Android UICC carrier privilege rule for the SHA1 hash of the
certificate used to sign the CoIMS android app of Supreeth Herle
(
https://github.com/herlesupreeth/CoIMS_Wiki) you can use the following command:
::
- pySIM-shell (MF/ADF.ARA-M)> aram_store_ref_ar_do --aid FFFFFFFFFFFF --device-app-id
E46872F28B350B7E1F140DE535C2A8D5804F0BE3 --android-permissions 0000000000000001
--apdu-always
+ pySIM-shell (00:MF/ADF.ARA-M)> aram_store_ref_ar_do --aid FFFFFFFFFFFF
--device-app-id E46872F28B350B7E1F140DE535C2A8D5804F0BE3 --android-permissions
0000000000000001 --apdu-always
aram_delete_all
@@ -845,10 +845,10 @@
::
- pySIM-shell (MF/EF.ICCID)> set numeric_path True
+ pySIM-shell (00:MF/EF.ICCID)> set numeric_path True
numeric_path - was: False
now: True
- pySIM-shell (3f00/2fe2)> set numeric_path False
+ pySIM-shell (00:3f00/2fe2)> set numeric_path False
numeric_path - was: True
now: False
- pySIM-shell (MF/EF.ICCID)> help set
+ pySIM-shell (00:MF/EF.ICCID)> help set
diff --git a/docs/suci-tutorial.rst b/docs/suci-tutorial.rst
index fc6e911..b4c950f 100644
--- a/docs/suci-tutorial.rst
+++ b/docs/suci-tutorial.rst
@@ -55,13 +55,13 @@
Using PC/SC reader interface
Autodetected card type: sysmoISIM-SJA2
Welcome to pySim-shell!
- pySIM-shell (MF)>
+ pySIM-shell (00:MF)>
Enter the ADM PIN:
::
- pySIM-shell (MF)> verify_adm XXXXXXXX
+ pySIM-shell (00:MF)> verify_adm XXXXXXXX
Otherwise, write commands will fail with ``SW Mismatch: Expected 9000 and got 6982.``
@@ -70,16 +70,16 @@
::
- pySIM-shell (MF)> select MF
- pySIM-shell (MF)> select ADF.USIM
- pySIM-shell (MF/ADF.USIM)> select DF.5GS
- pySIM-shell (MF/ADF.USIM/DF.5GS)> select EF.SUCI_Calc_Info
+ pySIM-shell (00:MF)> select MF
+ pySIM-shell (00:MF)> select ADF.USIM
+ pySIM-shell (00:MF/ADF.USIM)> select DF.5GS
+ pySIM-shell (00:MF/ADF.USIM/DF.5GS)> select EF.SUCI_Calc_Info
By default, the file is present but empty:
::
- pySIM-shell (MF/ADF.USIM/DF.5GS/EF.SUCI_Calc_Info)> read_binary_decoded
+ pySIM-shell (00:MF/ADF.USIM/DF.5GS/EF.SUCI_Calc_Info)> read_binary_decoded
missing Protection Scheme Identifier List data object tag
9000:
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-> {}
@@ -106,7 +106,7 @@
::
- pySIM-shell (MF/ADF.USIM/DF.5GS/EF.SUCI_Calc_Info)> update_binary_decoded '{
"prot_scheme_id_list": [ {"priority": 0, "identifier": 2,
"key_index": 1}, {"priority": 1, "identifier": 1,
"key_index": 2}, {"priority": 2, "identifier": 0,
"key_index": 0}], "hnet_pubkey_list": [
{"hnet_pubkey_identifier": 27, "hnet_pubkey":
"0272DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD1"},
{"hnet_pubkey_identifier": 30, "hnet_pubkey":
"5A8D38864820197C3394B92613B20B91633CBD897119273BF8E4A6F4EEC0A650"}]}'
+ pySIM-shell (00:MF/ADF.USIM/DF.5GS/EF.SUCI_Calc_Info)> update_binary_decoded '{
"prot_scheme_id_list": [ {"priority": 0, "identifier": 2,
"key_index": 1}, {"priority": 1, "identifier": 1,
"key_index": 2}, {"priority": 2, "identifier": 0,
"key_index": 0}], "hnet_pubkey_list": [
{"hnet_pubkey_identifier": 27, "hnet_pubkey":
"0272DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD1"},
{"hnet_pubkey_identifier": 30, "hnet_pubkey":
"5A8D38864820197C3394B92613B20B91633CBD897119273BF8E4A6F4EEC0A650"}]}'
WARNING: These are TEST KEYS with publicly known/specified private keys, and hence unsafe
for live/secure
deployments! For use in production networks, you need to generate your own set[s] of
keys.
@@ -119,11 +119,11 @@
::
- pySIM-shell (MF)> select MF
- pySIM-shell (MF)> select ADF.USIM
- pySIM-shell (MF/ADF.USIM)> select DF.5GS
- pySIM-shell (MF/ADF.USIM/DF.5GS)> select EF.Routing_Indicator
- pySIM-shell (MF/ADF.USIM/DF.5GS/EF.Routing_Indicator)> read_binary_decoded
+ pySIM-shell (00:MF)> select MF
+ pySIM-shell (00:MF)> select ADF.USIM
+ pySIM-shell (00:MF/ADF.USIM)> select DF.5GS
+ pySIM-shell (00:MF/ADF.USIM/DF.5GS)> select EF.Routing_Indicator
+ pySIM-shell (00:MF/ADF.USIM/DF.5GS/EF.Routing_Indicator)> read_binary_decoded
9000: ffffffff -> {'raw': 'ffffffff'}
The Routing Indicator is a four-byte file but the actual Routing
@@ -132,7 +132,7 @@
::
- pySIM-shell (MF/ADF.USIM/DF.5GS/EF.Routing_Indicator)> update_binary 17ffffff
+ pySIM-shell (00:MF/ADF.USIM/DF.5GS/EF.Routing_Indicator)> update_binary 17ffffff
You can also set the routing indicator to **0x0**, which is *valid* and
means “routing indicator not specified”, leaving it to the modem.
@@ -144,10 +144,10 @@
::
- pySIM-shell (MF)> select MF
- pySIM-shell (MF)> select ADF.USIM
- pySIM-shell (MF/ADF.USIM)> select EF.UST
- pySIM-shell (MF/ADF.USIM/EF.UST)> read_binary_decoded
+ pySIM-shell (00:MF)> select MF
+ pySIM-shell (00:MF)> select ADF.USIM
+ pySIM-shell (00:MF/ADF.USIM)> select EF.UST
+ pySIM-shell (00:MF/ADF.USIM/EF.UST)> read_binary_decoded
9000: beff9f9de73e0408400170730000002e00000000 -> [2, 3, 4, 5, 6, 9, 10, 11, 12,
13, 14, 15, 17, 18, 19, 20, 21, 25, 27, 28, 29, 33, 34, 35, 38, 39, 42, 43, 44, 45, 46,
51, 60, 71, 73, 85, 86, 87, 89, 90, 93, 94, 95, 122, 123, 124, 126]
.. list-table:: From TS31.102
@@ -173,9 +173,9 @@
::
- pySIM-shell (MF/ADF.USIM/EF.UST)> ust_service_deactivate 124
- pySIM-shell (MF/ADF.USIM/EF.UST)> ust_service_activate 124
- pySIM-shell (MF/ADF.USIM/EF.UST)> ust_service_deactivate 125
+ pySIM-shell (00:MF/ADF.USIM/EF.UST)> ust_service_deactivate 124
+ pySIM-shell (00:MF/ADF.USIM/EF.UST)> ust_service_activate 124
+ pySIM-shell (00:MF/ADF.USIM/EF.UST)> ust_service_deactivate 125
In this case, UST Service 124 is already enabled and you’re good to go. The
sysmoISIM-SJA2 does not support on-SIM calculation, so service 125 must
diff --git a/pySim-shell.py b/pySim-shell.py
index 2f97389..022b276 100755
--- a/pySim-shell.py
+++ b/pySim-shell.py
@@ -291,7 +291,7 @@
def update_prompt(self):
if self.lchan:
path_str = self.lchan.selected_file.fully_qualified_path_str(not
self.numeric_path)
- self.prompt = 'pySIM-shell (%s)> ' % (path_str)
+ self.prompt = 'pySIM-shell (%02u:%s)> ' % (self.lchan.lchan_nr,
path_str)
else:
if self.card:
self.prompt = 'pySIM-shell (no card profile)> '
--
To view, visit
https://gerrit.osmocom.org/c/pysim/+/34850?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I45781a6fba205eeb4ac7f58d5cb642b7131bdd88
Gerrit-Change-Number: 34850
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged