Change in pysim[master]: cards: FairwavesSIM: force SIM APDUs during programming

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/.

dexter gerrit-no-reply at lists.osmocom.org
Tue Oct 5 12:07:09 UTC 2021


dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/24139 )

Change subject: cards: FairwavesSIM: force SIM APDUs during programming
......................................................................

cards: FairwavesSIM: force SIM APDUs during programming

The FairwavesSIM programming fails when the card is accessed with USIM
APDUs. To keep it working temporarly switch to SIM APDUs during
programming.

Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152
---
M pySim/cards.py
1 file changed, 18 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  dexter: Looks good to me, approved



diff --git a/pySim/cards.py b/pySim/cards.py
index c38b185..5e2e9fe 100644
--- a/pySim/cards.py
+++ b/pySim/cards.py
@@ -1123,8 +1123,25 @@
 		data, sw = self._scc.update_binary(self._EF['OP/OPC'], content)
 		return sw
 
-
 	def program(self, p):
+		# For some reason the card programming only works when the card
+		# is handled as a classic SIM, even though it is an USIM, so we
+		# reconfigure the class byte and the select control field on
+		# the fly. When the programming is done the original values are
+		# restored.
+		cla_byte_orig = self._scc.cla_byte
+		sel_ctrl_orig = self._scc.sel_ctrl
+		self._scc.cla_byte = "a0"
+		self._scc.sel_ctrl = "0000"
+
+		try:
+			self._program(p)
+		finally:
+			# restore original cla byte and sel ctrl
+			self._scc.cla_byte = cla_byte_orig
+			self._scc.sel_ctrl = sel_ctrl_orig
+
+	def _program(self, p):
 		# authenticate as ADM1
 		if not p['pin_adm']:
 			raise ValueError("Please provide a PIN-ADM as there is no default one")

-- 
To view, visit https://gerrit.osmocom.org/c/pysim/+/24139
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I8f02625d2b620ecdf4b2afc27a8750119b707152
Gerrit-Change-Number: 24139
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier at sysmocom.de>
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: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211005/688102f2/attachment.htm>


More information about the gerrit-log mailing list