適合 Linux 的晶片卡讀卡機

由於在台中 Monospace 共同工作空間舉辦 Ubuntu 18.04 Release Party 時,不小心講出了多年來在 Linux 上跟讀卡機奮鬥的經驗,被很多人敲碗,所以這邊分享一下適合 Linux 的晶片卡/智慧卡讀卡機。

首先第一類型:支援 CCID 的讀卡機

CCID 是什麼維基百科寫了,我就不贅述,總之他是一套標準。遵守這套標準的讀卡機就可以使用 CCID 的通用驅動( Windows / Linux / macOS 都有提供),這樣無論廠商有沒有提供 Linux 驅動都不用怕了,如果是 ArchLinux 可以透過下面指令安裝 CCID 驅動:

pacman -S  ccid

Ubuntu 可以透過下面的指令安裝:

sudo apt-get isntall ccid

但是有個問題, CCID 的讀卡機很難找,以下列出幾台我知道的:

  • Cherry SR-4300 (ExpressCard 的讀卡機,已停產)
  • GEMPLUS USB-SW (遊戲橘子 PlaySafe 套組,已停產)
  • InfoThink IT-500U / IT-100MU (官網有標示支援 CCID)

以上除了 InfoThink 之外,我都有實際測試過在 Linux 下只要安裝 CCID 驅動就可以直接使用,Windows 跟 macOS 則是隨插即用。

不過除了 CCID 之外,還有另外一條路: ACSCCID

ACS 是香港的海航科技投資,致力於開發智慧卡、智慧卡讀寫器(也就是我們要用的讀卡機),而 ACS 做了一件非常棒的事情:開放 Driver 的原始碼

你可以直接點上面的連結前往 SourceForge 下載 Binary Packages ,裡面是編譯好的 Driver 直接下載對應版本的 deb 包就可以安裝,可惜他們沒有編譯 18.04 的 Binary。ArchLinux 可以透過 AUR 安裝 acsccid 套件。

而採用 ACS 的而且台灣買的到的讀卡機我知道的清單如下:

  • DIGILION EasyATM Pro2(代理商 DIGILION 收了)
  • aibo 防駭專家 二代按鍵式晶片讀卡機

其他 ACS 的讀卡機可以先試著搜尋他的驅動,下載後尋找 ReadMe.txt 開啟尋找有沒有 Advanced Card Systems 字樣。

呆翰我自己是用 EasyATM Pro2 ,不過當我看到試著蒐尋驅動發現 EasyATM Pro2 跟 aibo 防駭專家二代按鍵式晶片讀卡機放一起時,我就知道這台在 Linux 上不太會有問題了。

其他讀卡機可以在購買時,搜尋看看有沒有支援 CCID 、有沒有提供「驅動程式原始碼」來找,像是 EZ100PU 我就不太敢用:在 Windows 10 上面都會造成 BSOD ,Linux 也只有二進位的  .so 檔,如果遇到 Linux 更新難保這些以前編譯好的 .so 能完全相容。

另外有幾台不保證可用的讀卡機,有錢我會想試試看但是目前沒錢:

至於其他型號可以看看有沒有「免驅動」「免安裝」「隨插即用」等宣傳詞,通常這類讀卡機有高機率是 CCID 標準,可以用 CCID 驅動讓它動起來。

題外話是室友有一台 IT-100MU,也許我該借來測試測試。

在〈適合 Linux 的晶片卡讀卡機〉中有 18 則留言

  1. Hi
    我是某間公司的小菜鳥,因為公司好像有在做CCID的讀卡(產品的部分功能),為了瞭解CCID到底在幹嘛,google了一下偶然看到你的網站,才發現其實CCID很難買(?
    如果你有興趣的話可以mail聯繫我,希望可以幫忙到 CCID讀卡的部分
    ps. 為了避免有工商嫌疑,我就不貼產品連結了

    1. CCID 不難買,難買的是 CCID 通用驅動可以直接上的讀卡機。有些讀卡機廠商寫支援 CCID 但是得靠另外的驅動,然後 Linux 就被無視掉或者像 EZ100PU 驅動不再更新造成 Win 10 BSOD。

      如果是主題相關的產品其實直接貼上來我不太介意,尤其是 Linux 下可以驅動的 CCID 讀卡機 XD

    1. 20200411 在7-11買了InfoThink IT-500U,依照vc0528大提到的方式從
      https://ccid.apdu.fr/
      下載released/stable version的驅動編譯。健保卡 emask, 玉山銀行網路ATM都可以運作
      但是 一開始 PC/SC lite dev 及 libUSB dev 沒安裝以致編譯失敗, 摸索了一陣子才成功

    1. 看來這個驅動可以解決很多 InfoThink IT-500U 的驅動問題

      很好又多找到一台好買有驅動的讀卡機了

  2. InfoThink IT-500U , 在ubnutn下安裝了 pcsc ccid 之後
    使用pcsc_scan 找不到設備, 但lsusb可以看到廠牌Sitronix.

    回到win7+chrome+高雄銀行, 先裝it-500u的驅動程式, 經網頁提示chome/edge要安裝一個程式, 照做. 順利使用高雄銀行webatm

    至於多年來使用的玉山, 在win7+chomre 底下, 一直試不出來!

  3. 最近也在測EZ100PU的CCID模式,lsusb有顯示出機型,但讀卡機一直沒有作用,有大大知道怎麼讓他運作呢?我的環境是RHEL6.9 64位元。對LINUX略懂而己…

    1. EZPU100 系列我沒有

      同時他的驅動只有提供編譯過的 Binary (也就是 .so 檔),這我實在是幫不上什麼忙…

    2. 更新進度,前陣子已經找到如何在linux使用這款讀卡機,不過也一直遇到運作不穩的情形,目前認為HP Server相容性不佳,或是讀卡機良率有關(據說CCID要再手工改機)。

  4. 這邊分享一下我的測試結果,在 Arch Linux 上使用 EZPAD 二代確認型晶片讀卡機,雖然官網文件有顯示支援 CCID,但是卻抓不到,反而是 Realtek 晶片的讀卡機可以使用

    1. Realtek 有幾個 Chip 的確是 CCID 免驅動

      之前測試學校電腦有一批內建讀卡機剛好是 Realtek 的讀卡機晶片,也是安裝好 ccid 就直接用

      但是沒權限我也不敢亂拆學校電腦,而且現在畢業了連要回去拍照當初的主機都有困難

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料