Unix driver for Towitoko smartcard readers Copyright (C) 1998 1999 2000 2001 Carlos Prados <cprados@yahoo.com> This library provides a driver for using Towitoko smartcard readers under UNIX environment. Smartcard API's provided: ========================= * CT-API 1.1 and CT-BCS 0.9. See ctapi (3) and ctbcs (3) man pages provided with this package. * PCSC Lite. See http://www.linuxnet.com for download and documentation. Supported readers: ================== * Towitoko Chipdrive Micro, Extern, Extern II, Intern, and Twin. * The most recent readers labelled as "Kartenzwerg" use the same protocol as Chipdrive, and should work with this driver, although they have not been tested. Supported interfaces: ===================== * Serial readers: Configure you serial port like for a modem. See http://www.linuxdoc.org/HOWTO/Serial-HOWTO.html * USB readers: Linux kernel version 2.4.12 or greater with PL2303 USB serial driver enabled is needed. See http://www.linux-usb.org/USB-guide/book1.html Note that PL2303 support is still in experimental stage! Also note that pl2303.c drivers from kernel versions previous to 2.4.12 will surely not work with this driver and will probably hang your machine. Supported smartcards: ===================== * Processor cards: direct and inverse convention cards, T=0 and T=1 protocols. Short and extended case 1, 2, 3, 4 ISO 7816-3 APDU's. PPS and baudrate selection from 9600 bps to 115200 bps. * Memory cards: I2C, 2 wire and 3 wire bus protocol. Access to memory cards is provided via the Interindustry Commands described in the MCT v09 part 7 spec. See http://www.panstruga.de/ct-api/spec/spec_v09.html Installation: ============= See the file INSTALL. Special `configure` options: ============================ --enable-debug(=1|2|3|4) Debug level 1,2 and 3 prints debug information to stdout. Debug level 4 prints debug information to syslog. --enable-card-type(=sync|async) --enable-card-convention(=dir|inv) --enable-memory-type(=i2cs|i2cl|2w|3w) "sync" is for memory cards and "async" for processor cards. "inv" is for inverse convention cards and "dir" for direct convention. "i2cl" is for I2C cards with up to 16 kbits of memory, "i2cl" for I2C cards with up to 64 kbits of memory, 2w for 2 wire cards, and 3w for 3 wire cards. Enabling one option prevents the driver from doing auto-detection. --enable-memory-size(=size) By default memory size is set to 8192 bytes. If 0 length is specified the driver will perform probing of memory size. Otherwise the specified value will be used. --enable-ISO-t0 Transportation of APDUs by T=0. With T=0 cards this will enable the driver to automatically handle T=0 transaction control TPDUs following ISO 7816-4 Annex A normative. --with-pcsc-lite-dir PCSC Lite base directory (default=/usr/local/pcsc). USB bundle is installed under $pcsc_lite_dir/drivers if USB bundle support is enabled. --enable-usb-bundle enable USB bundle installation (default=no). --enable-devfs enable Linux 2.4.X devfs support (default=no). --enable-devpcsc enable /dev/pcsc links support (default=no). Serial devices will be searched at /dev/pcsc/1, /dev/pcsc/2, etc. You will have to create links to the actual serial devices. --enable-win32-com enable win32 style COM port numbering (default=no). Port numbers under CT-API will start with 1 for COM1, 2 for COM2 and so on. --enable-thread-mutex enable thread mutexes (default=yes). Needed for multi-threaded applications. --enable-atr-check enable checking of valid ATR (default=yes). --enable-atr-timings enable decoding of timings from ATR (default=yes). Configuration: ============== To configure a serial reader in PCSC Lite, copy the provided file doc/reader.conf to /etc/reader.conf and modify it to match your serial port settings. No configuration is needed for USB readers.