Skip to content
Success

Changes

Summary

  1. pySim/transport add support for T=1 protocol and fix APDU/TPDU layer (details)
Commit 132d24586369b0c9a364a67dbf979f21984cc6a8 by pmaier@sysmocom.de
pySim/transport add support for T=1 protocol and fix APDU/TPDU layer conflicts

ETSI TS 102 221, section 7.3 specifies that UICCs (and eUICCs) may support two
different transport protocols: T=0 or T=1 or both. The spec also says that the
terminal must support both protocols.

This patch adds the necessary functionality to support the T=1 protocol
alongside the T=0 protocol. However, this also means that we have to sharpen
the lines between APDUs and TPDUs.

As this patch also touches the low level interface to readers it was also
manually tested with a classic serial reader. Calypso and AT command readers
were not tested.

Change-Id: I8b56d7804a2b4c392f43f8540e0b6e70001a8970
Related: OS#6367
The file was modifiedtests/unittests/test_utils.py
The file was modifiedtests/unittests/test_globalplatform.py
The file was modifiedpySim/commands.py
The file was modifiedpySim/transport/calypso.py
The file was addedtests/pySim-shell_test/apdu/test_apdu_legacy_scp03.template
The file was modifiedpySim/transport/modem_atcmd.py
The file was addedtests/pySim-shell_test/apdu/test_apdu.script
The file was modifiedpySim/utils.py
The file was modifiedtests/pySim-shell_test/lchan/test.ok
The file was addedtests/pySim-shell_test/apdu/test_apdu_legacy_scp02.template
The file was modifiedpySim-trace.py
The file was modifiedpySim/transport/__init__.py
The file was addedtests/pySim-shell_test/apdu/__init__.py
The file was addedtests/pySim-shell_test/apdu/test_apdu_legacy.script
The file was modifiedpySim/global_platform/scp.py
The file was modifiedpySim-shell.py
The file was modifiedpySim/transport/serial.py
The file was addedtests/pySim-shell_test/apdu/test.py
The file was modifiedpySim/global_platform/__init__.py
The file was modifiedpySim/transport/pcsc.py
The file was modifiedpySim-read.py
The file was modifiedtests/pySim-shell_test/config.yaml
The file was modifiedpySim/euicc.py
The file was addedtests/pySim-shell_test/apdu/test_apdu_scp03.template
The file was addedtests/pySim-shell_test/apdu/test_apdu_scp02.template