Skip to content
Success

#27729 (Mar 23, 2026, 4:59:10 PM)

Started 8 hr 35 min ago
Took 1.8 sec on build5-deb12build-ansible

Started by upstream project gerrit-pysim build number 3011
originally caused by:

This run spent:

  • 7.2 sec waiting;
  • 1.8 sec build duration;
  • 9.1 sec total from scheduled to completion.
Revision: 4665650de4a78930c2acbe72da396c527b57df4c
Repository: $GERRIT_REPO_URL
  • master
pysim/pcsc: do not use getProtocol for protocol selection

The documentation of the getProtocol provided by pyscard says:

"Return bit mask for the protocol of connection, or None if no
protocol set. The return value is a bit mask of
CardConnection.T0_protocol, CardConnection.T1_protocol,
CardConnection.RAW_protocol, CardConnection.T15_protocol"

This suggests that the purpose of getProtocol is not to determine
which protocols are supported. Its purpose is to determine which
protocol is currently selected (either through auto selection or
through the explicit selection made by the API user). This means
we are using getProtocol wrong.

So far this was no problem, since the auto-selected protocol
should be a supported protocol anyway. However, the automatic
protocol selection may not always return a correct result (see
bug report from THD-siegfried [1]).

Let's not trust the automatic protocol selection. Instead let's
parse the ATR and make the decision based on the TD1/TD2 bytes).

[1] https://osmocom.org/issues/6952

Related: OS#6952
Change-Id: Ib119948aa68c430e42ac84daec8b9bd542db7963
pmaier@sysmocom.de at