I am working with a smart-card reader. I am in the middle of debugging a short application when I realized that I probably have to have pcscd running and various other things going on to get things to work. When I run the testpcscd script or whatever, it can issue certain commands, and not others and it says, "Don't panic". I can verify that I have a reader hooked up with dmesg:
dmesg
[276108.569119] usb 4-1: USB disconnect, device number 4
[311647.828864] usb 4-1: new full-speed USB device number 5 using uhci_hcd
[311647.962874] usb 4-1: not running at top speed; connect to a high speed hub
[311647.987877] usb 4-1: New USB device found, idVendor=072f, idProduct=223b
[311647.987881] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[311647.987884] usb 4-1: Product: ACR1252 Dual Reader
[311647.987887] usb 4-1: Manufacturer: ACS
I want to both re-build and re-install PCSC lite from the above Github link because I suspect that I need certain of the below flags (eg. USB Support since I'm hooking the reader into a USB port, port 4-1 I believe). Now, my BIG question is - I cannnot just follow the below directions since I must do a "maintainer" role of autoconf, eg. autoreconf -i since all I have is a configure.ac - am I correct in saying this? Would the below instructions work or not? I need to get it right this time. And when I'm building the tools, there is a problem - the tools packager can't find PCSCLite. Why can't it? And it doesn't say how to use the build flag when building PCSCtools to get the PCSCLite in the build. It says install PCSCLite or use ./configre PCSCFLAGS=...
but it doesn't say what flags. I guess the below flags. Anyway, I'll try something with this. But why did they say just use the below Installation when it could not possibly work without a configure file. Is it because they want me to put a certain configuration in for my application?
https://github.com/LudovicRousseau/PCSC
https://github.com/LudovicRousseau/pcsc-tools
INSTALLATION:
Installation is simple. Type ./configure and then make and make install.
Options:
./configure
--enable-libusb Enable USB libusb support
(on Linux, *BSD, etc.).
--enable-usbdropdir=DIR directory containing USB drivers
(default /usr/local/pcsc/drivers)
--disable-musclecarddebug Disable MuscleCard debugging messages
--enable-debugatr Enable ATR parsing debug output
--enable-scf use SCF for reader support
--prefix=location Install to <location>
--enable-confdir=DIR Use DIR as the configuration directory
(/etc by default)
--enable-runpid=FILE Store the daemon pid in file FILE
--enable-ipcdir=DIR directory containing IPC files
(default /var/run)
Output of testpcsc:
MUSCLE PC/SC Lite unitary test Program
[35mTHIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL FOR END USERS!
Do NOT use it unless you really know what you do.
[0mTesting SCardEstablishContext : Command successful.
Testing SCardIsValidContext : Command successful.
Testing SCardIsValidContext : [34mInvalid handle. (don't panic)
[0mTesting SCardListReaderGroups : Command successful.
[32mGroup 01: SCard$DefaultReaders
[0mTesting SCardFreeMemory : Command successful.
Testing SCardListReaders : [34mCannot find a smart card reader. (don't panic)
[0mTesting SCardGetStatusChange
Please insert a working reader :
lsusb:
How do the Bus and Device relate to the Port? Is the Bus the Port?
Bus 004 Device 006: ID 072f:223b Advanced Card Systems, Ltd