Saturday, September 21, 2013

Lobotomy of an ancient smartcard reader

Bought a few of these ancient V-Star smart card readers for around $1 a piece. Manufactured in 98, fits in a 3.5" floppy drive bay, no drivers, protocol documentation lost to time. They are essentially useless at this point except for parts.

There is however a very simple interface that is still somewhat useful today. It basically just provides level shifting and clock to the smartcards and connects them to RS232. I'm talking about the "Phoenix Interface". Beloved accessory of satellite "enthusiasts" of the old days.

The V-Star has a max232 clone on-board that is the heart of the phoenix interface. They also provide the standard clock rate that makes the card's uart run at 9600bps, so it has all the parts needed for the conversion already built in. All I need to add is wires, but I do need to remove the entire "brain" of the reader first.

I'm not going to make a thorough how-to though mainly because of the obscurity of this device (also I'm lazy)
Here is the finished mod and a few notes (with lots of omissions):

After the brain removal I had to force-enable the clock output which just meant pulling the 74HC125 buffer's appropriate Output Enable pin low. Then I had to connect the card's reset control the serial port's RST pin, This involved patching through the original micro's pins and then connecting the appropriate RS232 level input of the max232 clone to the RST pin of the serial port.
Presence detect was a bit of a pain because they did their own thing that I couldn't be bothered to trace down so I separated the switch in the smartcard socket via a few trace cuts, connected it to a weak pullup then to an unused channel on the serial chip (the other end of that channel to the CD pin of the serial port). Then the 1wire UART used by the smart card needed to be connected by using a schottky diode (black SMD thing hanging off the SO ic pad on the bottom picture) and that's about all there is to it. (note the idle state of the serial bus is high and TXD works by pulling the bus low so the diode direction is sender < receiver