2017-08-04 342 views
3

我在使用ACR122U RFID讀卡器ACS時遇到問題。我需要使用PC/SC驅動程序將它連接到我的Mac。我從ACS網站安裝了驅動程序,並確認它正在運行。在ACR122U NFC閱讀器上強制使用PC/SC驅動程序

但是,每當我測試使用nfc-list命令,我收到以下錯誤:

nfc-list uses libnfc libnfc-1.7.1-189-g2869ae2 
error libnfc.driver.acr122_usb  Unable to claim USB interface (Permission denied) 
nfc-list: ERROR: Unable to open NFC device: acr122_usb:020:002 

至於我從谷歌上搜索瞭解的是,它是MAC接管,可防止USB PC/SC使用該設備,但是如何強制計算機使用PC/SC驅動程序而不是默認的Apple USB?

PS:我已經安裝了libusb

回答

1

你似乎是混合兩種不同的選擇,用於連接ACR122U到libnfc:

  1. 您可以使用直接USB驅動程序的ACR122U,libnfc.driver.acr122_usb(這是你目前使用的)。在這種情況下,您需要確保PC/SC守護進程不會接管閱讀器的控制(因爲一次只能有一個實例訪問閱讀器的USB接口)。

    • 快速和骯髒的解決方法是禁用PC/SC守護程序接管ACR122U控制。儘管在Mac OS X上這不是直接的,但是可以在Ludovic's blog中找到詳細的解釋。
    • 或者,您可以通過編輯/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist來阻止PC/SC守護進程控制該特定閱讀器。你會需要搜索條目

      <key>ifdProductID</key> 
      

      下面這個項,存在形式的條目的陣列

      <string>0xXXXX</string> 
      

      你需要搜索包含值0x2200,0x90CC和0x2214項。刪除這些行,但請記住相關行號(即<array>中的偏移量)。然後,還刪除相應的線下

      <key>ifdVendorID</key> 
      

      他們都應該包含值0x072F,因而具有形式

      <string>0x072F</string> 
      

      此外,你還需要刪除

      <key>ifdFriendlyName</key> 
      
      下的相應行

      他們都可能會從<string>ACS開始。

  2. 或者,您可以使用PC/SC基於駕駛員libnfc爲ACR122U(libnfc.driver.acr122_pcsc)。該驅動程序使用系統PC/SC守護程序訪問閱讀器,而不是直接控制USB接口。要使此選項生效,您需要配置lib-nfc以使用PC/SC驅動程序,而不是直接的USB驅動程序。當您編譯libnfc自己,你可以通過明確僅激活PC/SC基於驅動程序做到這一點:

    ./configure --with-drivers=acr122_pcsc 
    make 
    

    但是請注意,此驅動程序現在已經貶值和libnfc作者強烈不鼓勵使用。

+0

謝謝!這是我在互聯網上發現的最具信息量的答案。 –

相關問題