Blog moved to

I moved my blog from to . Why? I wanted to move away from Blogger (owne...

Monday, August 30, 2021

New version of libccid: 1.4.36

I just released version 1.4.36 of libccid the Free Software CCID class smart card reader driver.


1.4.36 - 30 August 2021, Ludovic Rousseau

  • Add support of
    • Lenovo Lenovo Smartcard Wired Keyboard II
    • REINER SCT tanJack USB
    • SafeNet eToken 5110+ FIPS
    • SafeNet eToken 5300 C
    • jSolutions s.r.o. Multi SIM card reader 4/8
  • parse: fix check when bNumDataRatesSupported = 0

Friday, August 6, 2021

New version of pcsc-lite: 1.9.3

I just released a new version of pcsc-lite 1.9.3.
pcsc-lite is a Free Software implementation of the PC/SC (or WinSCard) API for Unix systems.

Please do not use or deploy version 1.9.2 (the previous and bogus version) if you depend on systemd to start the pcscd process.


1.9.3: Ludovic Rousseau
6 August 2021

  •  fix a stupid regression with systemd introduced in the previous version

Wednesday, August 4, 2021

pcsc-lite: configuration using /etc/default/pcscd

Version 1.9.2 of pcsc-lite adds a new configuration possibility: systemd EnvironmentFile


systemd EnvironmentFile

With systemd it is possible to configure a file that will contain definitions for the process started by systemd. In our case the started process is the daemon pcscd.

The file name is defined in pcscd.service and is, by default, /etc/default/pcscd. You can change the path using --sysconfdir= argument for ./configure.

pcscd environment variables

A first use case is to define environment variables to change the behaviour of pcscd.

For example you can add in this file:


so that readers with "Twin" in the name will be ignored.

See "Remove and/or customize PC/SC reader names" for more details and use cases.

You can also define other variables like:


pcscd arguments

pcscd is started with the extra parameter $PCSCD_ARGS. By default this variable is empty. But you can define PCSCD_ARGS in /etc/default/pcscd to add more arguments to pcscd.

For example you can use:


to get debug messages in the systemd journal.

To see the pcscd logs in live use:

$ journalctl --unit pcscd --follow


/etc/default/pcscd is a user file so you can edit it as you like. It should not prevent a package upgrade for example.

It is also much simpler and safer than editing systemd files directly.

Tuesday, August 3, 2021

New version of pcsc-lite: 1.9.2

I just released a new version of pcsc-lite 1.9.2.
pcsc-lite is a Free Software implementation of the PC/SC (or WinSCard) API for Unix systems.


1.9.2: Ludovic Rousseau
3 August 2021

  • improve NetBSD support
  • pcsc-spy: version 1.1
    • add option -t|--thread
    • x10 speed increase
    • correctly exit at end-of-file
    • remove, now useless, support of macOS
  • systemd:
    • use /etc/default/pcscd as EnvironmentFile
    • use $PCSCD_ARGS to specify more arguments
  • SetProtocol: Handle IFD_NOT_SUPPORTED from the driver
  • hotplug_libudev.c: sanitize interface name
  • pcsc_demo: change licence from GPLv3 to BSD
  • use Python 3 for Python scripts (psc-spy, UnitaryTests)
  • Some other minor improvements