On Feb 15, 2012, at 11:14 AM, Holger Hans Peter Freyther wrote:
How:
I am not sure if the debug uart code is IRQ driven and if it has a rather long
queue.. but... I would start by dumping every received byte to the other UART
and compare the results.
Not sure if I got you right ... what I tried was the following ...
In “simtrace/iso7816_uart.c” I added to the function “process_byte” a line to dump all
bytes “DEBUGPCR("IN=0x%08x", byte);”
First the reference bytes, traced on PC/SC layer:
========= snip ===================================
transmitted:
80 C2 00 00 13 D8 00 05 6F 00 C0 4B 4E 7F BD 6D 08 00 04 4D 53 43 4D 02
received:
61 0A
transmitted:
00 C0 00 00 0A
received:
00 D2 5D 1C 61 C0 00 00 00 05 90 00
========= snip ===================================
and that is what I got from the serial debug connection (an x marks a match, missing bytes
are appended):
========= snip ===================================
...
IN=0x00000080 x
IN=0x000000c2 x
IN=0x00000000 00
IN=0x00000013 x
IN=0x000000c2
IN=0x000000d8 x
IN=0x00000000 05
IN=0x0000006f 00
IN=0x000000c0 x
IN=0x0000004b 4E
IN=0x0000007f BD
IN=0x0000006d 08
IN=0x00000000 x
IN=0x00000004 4D
IN=0x00000053 x
IN=0x0000004d x
IN=0x00000002 x
IN=0x00000061 x
IN=0x0000000a x
IN=0x00000000 x
IN=0x000000c0 x
IN=0x00000000 00
IN=0x0000000a x
IN=0x000000c0
IN=0x00000000 x
IN=0x000000d2 5D
IN=0x0000001c 61
IN=0x000000c0 x
IN=0x00000000 x
IN=0x00000000 x
IN=0x00000005 x
IN=0x00000090 x
IN=0x00000000 x
WRAP DURING APPEND
__pio_irq_demux(43): PIO_ISR_STATUS = 0x11e004d6
RST
computed Fi(1) Di(1) ratio: 372
__pio_irq_demux(43): PIO_ISR_STATUS = 0x11800494
RST
========= snip ===================================
Result:
a.) There are several missing bytes.
b.) There are two bytes (“C2” and “C0”) too much???
My debug serial connection is at a very slow rate (115200Bps) compared to the smart card
communication. So I assume it is to be expected, that I’m missing here some bytes ...
Where would be a better way to dump the bytes without interfering / disturbing too much
....
Grateful for any suggestions