ccid fsm: proper wtime calculation

The timeouts had a minor off by a million problem because WT (in ETU) =
WI * 960 as per 7816-3 10.2, but WI was used as WT without the factor of
960 after the pps exchange, so WT (in ETU) was accidentally set to 10
instead of 9600 for the default WI=10.
Additionally that time was only added once, even though the wait time is
the time between the leading character edge of one character and the
next one, irrespective of direction, so the total wait time is this
multiplied with the number of expected bytes.

In practice this had no real effect due to to a reasonable minimum
timeout value and cards that were much faster than this.

Closes: OS#4742
Change-Id: I9ea0b6b51c8cc6f08a36b48e516c64b5e2bbaf9b
2 files changed
tree: 1311cb7cf5f90f1bf25ed0194620bcb6cb7217ff
  1. ccid_common/
  2. ccid_host/
  3. contrib/
  4. sysmoOCTSIM/
  5. tests/
  6. .gitignore
  7. git-version-gen
  8. README.md
README.md

osmo-ccid-firmware - CCID implementation (not just) for firmware

This repository contains a C-language implementation of the USB CCID (Smart Card Reader) device class. The code is written in a portable fashin and can be found in the ccid_common sub-directory.

The code can be built to run as an userspace program on Linux, implementing a USB Gadget using the FunctionFS interface. For this version, see the ccid_host subdirectory.

The CCID code can also be built into a firmware for the sysmoOCTSIM 8-slot high-performance USB smart card reader.

Mailing List

Discussions related to osmo-ccid-firmware are happening on the slightly unrelated simtrace@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/simtrace for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-ccid-firmware can be seen at https://gerrit.osmocom.org/#/q/project:osmo-ccid-firmware+status:open