2011年7月18日 星期一

Ubuntu 11.04無法使用EZ-100PU讀卡機

由於最近一年工作的環境都採用Mac OS,在開始使用Mac之前,於Ubuntu 10.04使用玉山銀行搭配EZ-100PU的讀卡機操作WebATM都是相當的順利。直到這次換工作之後才又回到Ubuntu,而很合理的就是直接安裝了目前11.04的最新版本,但今天試圖使用EZ-100PU讀卡機搭配玉山銀行的WebATM時卻無法正常操作。

研究了一下發現/etc/init.d/pcscd的服務完全沒辦法啟用,手動restart也沒有任何反應。而執行sudo pcscd -f時還會出現下列錯誤訊息:

00000000 readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (USB:0CA6/0010:LIBUDEV:0:/DEV/BUS/USB/004/004)
00000033 readerfactory.c:275:RFAddReader() CASTLES EZ100PU init failed.
00000037 hotplug_libudev.c:377:HPAddDevice() Failed adding USB device: CASTLES EZ100PU


此時上網搜尋了一下Google順利找到解法,原來是Ubuntu 11.04內source tree中的pcscd與libpcsclite1預設版本都是1.7.7,與pcsc_scan的pcsc-tools中版號不太一樣。執行pcsc_scan -V可以得到下列版本訊息:

PC/SC device scanner
V 1.4.17 (c) 2001-2009, Ludovic Rousseau
Compiled with PC/SC lite version: 1.5.5


只要手動下載pcscd-1.5.5-*與libpcsclite1-1.5.5-*安裝降版號即可。

pcscd-1.5.5-3ubuntu2.1 for Ubuntu maverick-updates

libpcsclite1-1.5.5-3ubuntu2.1 for Ubuntu maverick-updates

記得到/etc/apt/preferences鎖住版本,否則每次更新跳出來就會煩你一次。


Package: libpcsclite1
Pin: version 1.5.5*
Pin-Priority: 1001

Package: pcscd
Pin: version 1.5.5*
Pin-Priority: 1001