This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23708 )
Change subject: pySim-shell: Add open_channel + close_channel commands
......................................................................
pySim-shell: Add open_channel + close_channel commands
Change-Id: I53d9d7f7720eb5f10956bff74ea7ba9fd3b3bd19
---
M docs/shell.rst
M pySim-shell.py
M pySim/commands.py
3 files changed, 38 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/docs/shell.rst b/docs/shell.rst
index f2ddba1..30938fe 100644
--- a/docs/shell.rst
+++ b/docs/shell.rst
@@ -129,6 +129,18 @@
~~~~~~~~~~~~~
Activate the currently selected file. This used to be called REHABILITATE in TS 11.11.
+open_channel
+~~~~~~~~~~~~
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.open_chan_parser
+
+close_channel
+~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.close_chan_parser
+
pySim commands
--------------
diff --git a/pySim-shell.py b/pySim-shell.py
index b2ccb9a..132733d 100755
--- a/pySim-shell.py
+++ b/pySim-shell.py
@@ -413,6 +413,23 @@
fid = self._cmd.rs.selected_file.fid
(data, sw) = self._cmd.card._scc.activate_file(fid)
+ open_chan_parser = argparse.ArgumentParser()
+ open_chan_parser.add_argument('chan_nr', type=int, default=0, help='Channel Number')
+
+ @cmd2.with_argparser(open_chan_parser)
+ def do_open_channel(self, opts):
+ """Open a logical channel."""
+ (data, sw) = self._cmd.card._scc.manage_channel(mode='open', lchan_nr=opts.chan_nr)
+
+ close_chan_parser = argparse.ArgumentParser()
+ close_chan_parser.add_argument('chan_nr', type=int, default=0, help='Channel Number')
+
+ @cmd2.with_argparser(close_chan_parser)
+ def do_close_channel(self, opts):
+ """Close a logical channel."""
+ (data, sw) = self._cmd.card._scc.manage_channel(mode='close', lchan_nr=opts.chan_nr)
+
+
def parse_options():
parser = OptionParser(usage="usage: %prog [options]")
diff --git a/pySim/commands.py b/pySim/commands.py
index 2894d31..33aec12 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -304,6 +304,15 @@
"""Execute ACTIVATE FILE command as per TS 102 221 Section 11.1.15."""
return self._tp.send_apdu_constr_checksw(self.cla_byte, '44', '00', '00', None, None, None)
+ def manage_channel(self, mode='open', lchan_nr=0):
+ """Execute MANAGE CHANNEL command as per TS 102 221 Section 11.1.17."""
+ if mode == 'close':
+ p1 = 0x80
+ else:
+ p1 = 0x00
+ pdu = self.cla_byte + '70%02x%02x00' % (p1, lchan_nr)
+ return self._tp.send_apdu_checksw(pdu)
+
def reset_card(self):
"""Physically reset the card"""
return self._tp.reset_card()
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/23708
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I53d9d7f7720eb5f10956bff74ea7ba9fd3b3bd19
Gerrit-Change-Number: 23708
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: tnt <tnt at 246tNt.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210412/b4fbfc7c/attachment.htm>