在ACR122U NFC阅读器上强制PC / SC驱动程序

reb*_*ion 4 rfid nfc pcsc lib-nfc acr122

使用ACS的ACR122U RFID读卡器时遇到麻烦。我需要使用PC / SC驱动程序将其连接到Mac。我从ACS网站安装了驱动程序,并确认它正在运行。

但是,每当我使用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
Run Code Online (Sandbox Code Playgroud)

据我从谷歌搜索了解到的是,是Mac取代了USB阻止了PC / SC使用该设备,但是如何强制计算机使用PC / SC驱动程序而不是默认的Apple USB?

PS:我已经安装了 libusb

Mic*_*and 6

您似乎在混合两种不同的选项以将ACR122U连接到libnfc:

  1. 您可以使用ACR122U的直接USB驱动程序libnfc.driver.acr122_usb(这是当前使用的驱动程序)。在这种情况下,您需要确保PC / SC守护程序不会接管读取器的控制(因为一次只能有一个实例可以访问读取器的USB接口)。

  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
    
    Run Code Online (Sandbox Code Playgroud)

    但是,请注意,此驱动程序已过时,并且libnfc作者强烈不鼓励使用该驱动程序。