我正在使用Ingenico的智能卡读卡器,试图让它在Ubuntu 12.4上运行。 64位
我已经安装了pcsc lite和libusb以及读卡器驱动程序 SCL01x非接触式读卡器 - 驱动程序。
情况是当我将rader插入USB端口时,读卡器上的信号灯熄灭。
当我尝试运行pcscd时,我得到了他的错误:
00000000 dyn_unix.c:37:DYN_LoadLibrary() /usr/local/lib/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09: /usr/local/lib/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09: wrong ELF class: ELFCLASS32
00000096 readerfactory.c:996:RFInitializeReader() RFLoadReader failed: 0xFFFFFFFF80100014
00000074 readerfactory.c:312:RFAddReader() SCL011G Contactless Reader [SCL01x Contactless Reader] (21161207200555) init failed.
00000047 hotplug_libudev.c:391:HPAddDevice() Failed adding USB device: SCL011G Contactless Reader
当我运行pcsc_scan时:
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.7.4
Using reader plug'n play mechanism
Scanning present readers...
0: SCL011G Contactless Reader [SCL01x Contactless Reader] (21161207200555) 00 00
Fri Jan 17 03:27:45 2014
Reader 0: SCL011G Contactless Reader [SCL01x Contactless Reader] (21161207200555) 00 00
Card state:
没什么......
我在java中也尝试过使用smartcardio包的例子,错误是:没有终端,无法找到cardreader。 当我运行lsusb时,设备列表中的读卡器标记为SCM Microsystem
[编辑] [1.0] 我已经设法启动pcscd服务,现在我可以看到该设备正在通过信号灯工作 当我刷智能卡时,灯正在工作。 已安装64位驱动程序
Trying to figure out why do i get error: SCardEstablishContext: Service not available.
after pcsc_scan command
答案 0 :(得分:1)
驱动程序无法加载:wrong ELF class: ELFCLASS32 00000096
您正在尝试在64位平台上加载32位库。运行32位chroot / multilib设置或获取/编译库为64位
答案 1 :(得分:0)
<强>解决强> 找到并安装64位驱动程序后,我刚刚杀死了pcscd服务。 我这样做了:
sudo killall pcscd
sudo pcscd -fd
之后我能够通过读卡器阅读智能卡。
来自java.samrtcardio的示例代码也很好用。