| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The codnition for flushing a req_ctx on UART idle is fixed to flush only
if
1) There has been no new data since last check, and
2) There are no req_ctx currently pending to be transmitted to USB, and
3) We did NOT just got a reset and waiting for ATR
I saw an ATR split in two different req_ctx prior, presumably flush
decided to send req_ctx after ATR but got a new character just before
sent). If we did get a RESET, let original logic decide to send the
req_ctx -- presumably when ATR data is fully received.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When any of the following events occur:
* VCC_PHONE off
* nRST
* RST
we tranmsit the current req_ctx, if there is data pending.
This ensures that for any successive data, the ATR flag in the next
req_ctx containing the data, not in the previous req_ctx. It also
ensures that the ATR is aligned at 0 offset in the new req_ctx, which is
an assumption the host software makes but the previous code didn't
ensure.
Furthermore, we introduce a periodic flushing of any pending but
incomplete req_ctx.
|
| |
|
|
|
|
|
| |
Prior to this patch, the ATR was not send in a separate USB message for
cards that are T=0 only.
|
| |
|
|
|
|
|
|
| |
the statistics count various events like overruns, parity errors,
missing rctx and can dump those stats via USB as well as on the serial
console.
|
| |
|
|
|
|
|
|
| |
Add missing entry in Fi_table. It's apparently used as '64' in some
reader and 'unsupported' in some other. For simtrace I guess we should
consider it 64.
|
|
|
|
|
| |
There were some mistakes while copying the tables from ISO 7816-3,
and also a quite old version of 7816-3 was used.
|
|
|
|
|
| |
In case there are no historical bytes, we immediately transition from
the last TD byte into the WAIT_TCK or WAIT_APDU state.
|
| |
|
|
|
|
|
| |
This prevents an IRQ-flood after a parity or overrun error, which
in turn would cause a watchdog reset.
|
|
|
|
|
|
|
| |
As a SIM card tracer, we want to remain completely passive and thus not
signal back parity errors with the ISO 7816 NACK.
The UART INACK flag does exactly that...
|
| |
|
| |
|
| |
|
| |
|
|
|