Attention is currently required from: matanp.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/33151 )
Change subject: utils: Remove format_xplmn leading zeros in MNC
......................................................................
Patch Set 2: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/33151
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I803edafbd892c2b32b884d0b39fed61967a3d68b
Gerrit-Change-Number: 33151
Gerrit-PatchSet: 2
Gerrit-Owner: matanp <matan1008(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: matanp <matan1008(a)gmail.com>
Gerrit-Comment-Date: Wed, 07 Jun 2023 10:00:04 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/33210 )
Change subject: ts_102221: Add "resume_uicc" command
......................................................................
ts_102221: Add "resume_uicc" command
We've had a "suspend_uicc" command since commit
ec95053249bc7f9308ca1f659d8ef6ac97a6e393 in 2021, but didn't yet
have the corresponding "resume" pair.
Note that you cannot really execute this in a reasonable way from
within pySim, as it is required to power-cycle the card
between SUSPEND and RESUME, see TS 102 221 Section 11.1.22.3.2
Change-Id: I3322fde74f680e77954e1d3e18a32ef5662759f2
---
M docs/shell.rst
M pySim/commands.py
M pySim/ts_102_221.py
3 files changed, 49 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
dexter: Looks good to me, approved
diff --git a/docs/shell.rst b/docs/shell.rst
index 8f85246..cce790a 100644
--- a/docs/shell.rst
+++ b/docs/shell.rst
@@ -217,6 +217,20 @@
:module: pySim.ts_102_221
:func: CardProfileUICC.AddlShellCommands.suspend_uicc_parser
+resume_uicc
+~~~~~~~~~~~
+This command allows you to perform the SUSPEND UICC command for the RESUME operation on the card.
+
+Suspend/Resume is a relatively recent power-saving addition to the UICC specifications, allowing for
+suspend/resume while maintaining state, as opposed to a full power-off (deactivate) and power-on
+(activate) of the card.
+
+The pySim command just sends that SUSPEND UICC (RESUME) command and doesn't perform the full related
+sequence including the electrical power down.
+
+.. argparse::
+ :module: pySim.ts_102_221
+ :func: CardProfileUICC.AddlShellCommands.resume_uicc_parser
pySim commands
diff --git a/pySim/commands.py b/pySim/commands.py
index 6acdb2e..dc0edad 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -631,6 +631,13 @@
resume_token = data[4:]
return (negotiated_duration_secs, resume_token, sw)
+ # ETSI TS 102 221 11.1.22
+ def resume_uicc(self, token: str):
+ """Send SUSPEND UICC (resume) to the card."""
+ if len(h2b(token)) != 8:
+ raise ValueError("Token must be 8 bytes long")
+ data, sw = self._tp.send_apdu_checksw('8076010008' + token)
+
def get_data(self, tag: int, cla: int = 0x00):
data, sw = self._tp.send_apdu('%02xca%04x00' % (cla, tag))
return (data, sw)
diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py
index bade9cf..b6c003b 100644
--- a/pySim/ts_102_221.py
+++ b/pySim/ts_102_221.py
@@ -864,12 +864,22 @@
# not ISO7816-4 but TS 102 221
@cmd2.with_argparser(suspend_uicc_parser)
def do_suspend_uicc(self, opts):
- """Perform the SUSPEND UICC command. Only supported on some UICC."""
+ """Perform the SUSPEND UICC command. Only supported on some UICC (check EF.UMPC)."""
(duration, token, sw) = self._cmd.card._scc.suspend_uicc(min_len_secs=opts.min_duration_secs,
max_len_secs=opts.max_duration_secs)
self._cmd.poutput(
'Negotiated Duration: %u secs, Token: %s, SW: %s' % (duration, token, sw))
+ resume_uicc_parser = argparse.ArgumentParser()
+ resume_uicc_parser.add_argument('token', type=str, help='Token provided during SUSPEND')
+
+ @cmd2.with_argparser(resume_uicc_parser)
+ def do_resume_uicc(self, opts):
+ """Perform the REUSME UICC operation. Only supported on some UICC. Also: A power-cycle
+ of the card is required between SUSPEND and RESUME, and only very few non-RESUME
+ commands are permitted between SUSPEND and RESUME. See TS 102 221 Section 11.1.22."""
+ self._cmd.card._scc.resume_uicc(opts.token)
+
class CardProfileUICCSIM(CardProfileUICC):
"""Same as above, but including 2G SIM support"""
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/33210
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I3322fde74f680e77954e1d3e18a32ef5662759f2
Gerrit-Change-Number: 33210
Gerrit-PatchSet: 3
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
Attention is currently required from: neels.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/33180 )
Change subject: include Global RNC-ID in RESET-ACK
......................................................................
Patch Set 4:
(1 comment)
File src/osmo-hnbgw/cnlink.c:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/33180/comment/2d10f676_0ece4264
PS4, Line 187: i
same comment as in previous patch about RESET
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/33180
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I49d351e90dfe4a7c4dfdd26542565f2d9bd3d605
Gerrit-Change-Number: 33180
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 07 Jun 2023 09:56:40 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment