This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

PCSC-Lite

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
Resources

PC/SC is the international standard for PC to smartcard reader communication, which is implemented by PCSC-Lite.

Installation

Kernel

You have to enable kernel support depending on how your cardreader is connected:

  • For USB cardreader see the USB article.
  • For PC-Card cardreader see the PC-Card article.
  • For serial cardreader enable serial support.

Software

Install one or more of the following driver packages:


sys-apps/pcsc-lite will be pulled in automatically: The USE flags of pcsc-lite are:

USE flags for sys-apps/pcsc-lite PC/SC Architecture smartcard middleware library

doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
embedded limit RAM and CPU ressources by disabling features
libusb Use dev-libs/libusb detection to hotplug new smartcard readers. This flag should only be enabled if you're running a non-Linux kernel or you don't want to use udev.
policykit Uses sys-auth/polkit to restrict access to smartcard readers or smartcards to given users.
selinux  !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
udev Use virtual/libudev rules to handle devices' permissions and hotplug support. Unless you know what you're doing do not disable this flag on Linux kernels. This is provided as an option for completeness.

root #emerge --ask YourDriver

Portage knows the local USE flag pcsc-lite for enabling support for PCSC-Lite in other packages:

FILE /etc/portage/make.conf
USE="... pcsc-lite ..."

After setting this you want to update your system so the changes take effect:

root #emerge --ask --changed-use --deep @world

Configuration

USB cardreader are detected automatically und work out of the box. For PC-Card and serial cardreader you have to adjust your /etc/reader.conf.d/reader.conf. See the reader.conf man page for more information.

Service

You can now start PCSC-Lite:

root #/etc/init.d/pcscd start

To start PCSC-Lite at boot time, add it your default runlevel:

root #rc-update add pcscd default
Note
The PCSC-Lite daemon blocks all detected cardreaders for every other software.

Testing

Start the daemon in debug mode manually:

root #/etc/init.d/pcscd stop
root #pcscd -a -d -f

The daemon will now output all detected cardreaders. If not there's maybe the right driver missing.

If there is a detected cardreader, insert a smartcard. The daemon should inform about this event and among other things output the ATR, e.g.:

CODE ATR
00000028 Card ATR: 3B 75 94 00 00 62 02 02 03 01

If so, everything works und you can kill the daemon with Ctrl+C.