linux下pcsc读卡器驱动安装及使用
安装linux的pcscd服务需要安装libusb,ccid,pcsc-lite三个库libusb安装下载网址: https://sourceforge.net/projects/libusb/files/latest/download下载之后解压安装包tar jxvf libusb-版本号.tar.gz编译且安装$ cd libusb-版本号$ ./configure$ ./make$ ./ma
安装linux的pcscd服务
需要安装libusb,ccid,pcsc-lite三个库
-
libusb安装
下载网址: https://sourceforge.net/projects/libusb/files/latest/download
下载之后解压安装包
tar jxvf libusb-版本号.tar.gz
编译且安装
$ cd libusb-版本号
$ ./configure
$ ./make
$ ./make install <- 要有 root 权限,Ubuntu 下可以 sudo ./make install
运行做测试:
$ lsusb
显示出如下类似信息则为安装成功Bus 002 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard -
安装ccid
下载地址:Download (apdu.fr)
我选择的是ccid-1.4.33.tar.bz2, 其他版本应该也可以
然后按照与libusb同样的方式解压、编译、安装
在安装好 pcsc-lite 后一块做测试。 -
安装pcsc-lite
下载地址: 1.8.10-1ubuntu1 : pcsc-lite package : Ubuntu (launchpad.net)
选择pcsc-lite_1.8.10.orig.tar.bz2
下载好之后同样解压且安装
然后可以启动pcscd服务运行测试了,插上读卡器,输入
$ sudo /usr/local/sbin/pcscd -adf (要用 root 权限启动 pcscd 服务)结果如下
00000013 pcscdaemon.c:545:main() pcsc-lite 1.8.10 daemon ready.
00002566 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000125 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000134 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x301A, path: /dev/bus/usb/001/002
00000117 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000133 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x08E6, PID: 0x3437, path: /dev/bus/usb/001/006
00000039 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x08E6, PID: 0x3437, path: /dev/bus/usb/001/006
00000008 hotplug_libudev.c:321:HPAddDevice() Adding USB device: Gemalto PC Twin Reader
...
eventhandler.c:266:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000038 Card ATR: 3B 97 95 80 1F 47 80 31 E0 73 FE 21 1B 3C
00005038 ifdhandler.c:1167:IFDHPowerICC() action: PowerDown, usb:08e6/3437:libudev:0:/dev/bus/usb/001/006 (lun: 0)
可看到pcsc-lite 1.8.10 daemon ready. pcscd进程已经成功启动了,并且连接上了读卡器,有ATR返回,卡启动成功。
如果出现以下错误
-
error while loading shared libraries:libpkcs15init.so.2: cannot open
shared object file: No such file or directory解决方案: $ sudo ldconfig <- 重新加载一下动态连接库的索引
-
00001001 hotplug_libhal.c:527:HPRegisterForHotplugEvents()No bundle
files in pcsc drivers directory: /usr/local/pcsc/drivers解决方案: 按照步骤2安装 ccid 驱动
4.运行示例程序
/pcsc-lite-1.8.10/doc/example中有示例程序pcsc_demo.c
编译:gcc pcsc_demo.c -I /usr/local/include/PCSC -L. /usr/local/lib/libpcsclite.so
一定要加上动态库路径和头文件路径
编译成功后运行
可看到已经连接读卡器,成功执行APDU命令。
执行时若遇到错误
SCardEstablishContext: Cannot Connect to Resource Manager 8010001D
原因是没有启动pcscd服务
执行 sudo pcscd -d -f启动
参考:(10条消息) 智能卡编程环境搭建-libusb,ccid,pcsc-lite,opensc_weixin_34112208的博客-CSDN博客
更多推荐
所有评论(0)