[SmartcardServices-Dev] pcsc - driver selecting problem

Mark Baumann mark.baumann at project-run.com
Tue Feb 17 07:38:51 PST 2009


Working environment:
System Version: Mac OS X Leopard 10.5.6 (9G55) [up-to-date]
Kernel Version: Darwin 9.6.0
PCSC Framework 1.4.0

Problem:
pcscd takes the ccid-driver instead of the driver from Omnikey

Description:
Not always, but regulary the pcsc daemon loads the generic CCID driver bundle from Ludovic Rousseau when a card reader
from Omnikey is plugged in. The plist-file (Info.plist) of this driver matches the Pid of the reader, but doesn't support
all features.

In the system are now two driver bundles installed which both match the reader device through its Pid and the Info.plist
file, but just one of them supports all features. For the customers it is an unpleasant procedure not to know which driver
is loaded because some cards need either a special API which only works with the drivers of the reader device manufacturer
or they need some special requirements because they are not fully ISO7816 compliant so that they are not supported by the
free CCID driver.

At the  moment pcsc daemon prefers to take more often the pre-installed free CCID driver than the driver from the device
vendor.

The pcsc daemon just checks one driver after the other (directory listing / alphabetical index / directory layout) until
the Vid/Pid matches the first founded Info.plist file that contains an entry for the connected device.

Bad Solution:
Deleting the generic CCID driver bundle
or through renaming or symlink builds a priority list / directory listing - workaround

Better Solution:
Built in priority list in pcscd (Apple) - as file, editable
vendor drivers have higher priority, lower priority for generic driver

Any other ideas or solutions?


Thanks!



More information about the SmartcardServices-Dev mailing list