14443-4 TX chaining / RC632 FIFO refill
laforge at gnumonks.org
Thu Jun 15 09:28:47 CEST 2006
If you're following my series of commits from yesterday, then you will
note that they're mostly related to two issues
1) humble attempts to fix TX chaining in rfid_proto_tcl.c. I didn't
really remember, but it seems like when I originally wrote that code,
I only implemented RX chaining, assuming that any transmitted APDU
would always be smaller the negotiated FSC.
This didn't really show up with the only existing user (libmrtd),
since reading an ePassport doesn't require the reader to send any
large commands to the Passport.
Those attempts to fix it have not been successful yet, since there
are some fundamental problems with the architecture of the
tcl_transceive() function that need to be adressed.
I'll look into this either today or tomorrow.
2) Try to implement RC632 FIFO refill during TX. When we send a frame
longer than 64bytes (assuming the FSC permits this), then we need to
fill the fifo, start TX, and then keep refilling the fifo while TX is
runnung. Unfortunately this doesn't seem to work with the CM5121,
since the USB-to-userspace latency is too big to refill in time, even
when only running at 106kBps.
So for now, I have hard-coded a 'mru' and 'mtu' for the rc632 asic
implementation of 64 bytes, which obviously cuts down transfer speed
quite a bit (due to increased effects of latency and more overhead).
However, a quick look at the proprietary Ominkey driver suggests that
they are doing it, too.
As a side note, I'll probably be building my own RC632 based reader
in the next couple of weeks. With larger FIFO's, and an USB
interrupt endpoint for using the full power of the RC632. I'll keep
this list posted on any progress.
- Harald Welte <laforge at gnumonks.org> http://gnumonks.org/
We all know Linux is great...it does infinite loops in 5 seconds. -- Linus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
Url : http://lists.gnumonks.org/pipermail/librfid-devel/attachments/20060615/6a9b7952/attachment.pgp
More information about the librfid-devel