READER.CONF(5) PC/SC Lite READER.CONF(5)

# [NAME](#NAME)

reader.conf - configuration file for pcscd readers' drivers

# [DESCRIPTION](#DESCRIPTION)

The */etc/reader.conf.d/\** files contain configuration information for serial and (some) PCMCIA smart card readers.

USB readers SHALL NOT be configured using these files. **pcscd** uses another mechanism to automatically load USB drivers.

# [SYNTAX](#SYNTAX)

The */etc/reader.conf.d/\** files are regular text file. Each reader must be defined by four fields:

FRIENDLYNAME TEXT\_STRING  
DEVICENAME FILENAME  
LIBPATH FILENAME  
CHANNELID NUMBER

The "FRIENDLYNAME" field is an arbitrary text used to identify the reader. This text is displayed by commands like [**pcsc\_scan**(1)](/man/os/pcsc-lite/pcsc_scan.1) that prints the names of all the connected and detected readers.

The "DEVICENAME" field was not used for old drivers (using the IFD handler version 2.0 or earlier). It is now (IFD handler version 3.0) used to identify the physical port on which the reader is connected. This is the device name of this port. It is dependent of the OS kernel. The first serial port device is called */dev/ttyS0* under Linux and */dev/cuaa0* under FreeBSD.

The "LIBPATH" field is the filename of the driver code. The driver is a dynamically loaded piece of code (generally a *drivername.so.\** file).

The "CHANNELID" is no more used for recent drivers (IFD handler 3.0) and has been superseded by "DEVICENAME". If you have an old driver this field is used to indicate the port to use. You should read your driver documentation to know what information is needed here. It should be the serial port number for a serial reader.

# [EXAMPLE](#EXAMPLE)

\# Gemplus GemPCTwin reader with serial communication  
\# connected to the first serial port  
FRIENDLYNAME "GemPCTwin serial"  
DEVICENAME /dev/ttyS0  
LIBPATH /usr/lib/pcsc/drivers/serial/libccidtwin.so.0.4.1  
CHANNELID 1

# [DEBUGGING](#DEBUGGING)

In order to set up your */etc/reader.conf.d/my\_reader.conf* file correctly you may want to have debug messages from **pcscd**. I recommend you to start **pscsd** in the foreground and debug mode using:  
\# pcscd --foreground --debug

If everything seems OK you can use the **pcsc\_scan** command to print the list of correctly detected readers and try to get the ATR of your smart cards.

# [AUTHOR](#AUTHOR)

Ludovic Rousseau &lt;ludovic.rousseau@free.fr&gt;

# [SEE ALSO](#SEE_ALSO)

[**pcscd**(8)](/man/os/pcsc-lite/pcscd.8), [**pcsc\_scan**(1)](/man/os/pcsc-lite/pcsc_scan.1)

December 2021 Muscle

---

Document: reader.conf(5) from pcsc-lite 2.5.2-r0 (Chainguard OS)
Source: https://github.com/LudovicRousseau/PCSC
