Force PC/SC driver on ACR122U NFC reader

前端 未结 1 533
醉酒成梦
醉酒成梦 2020-12-18 06:13

I have trouble with using my ACR122U RFID card reader form ACS. I need to connect it to my Mac using the PC/SC driver. I installed the driver from the ACS website and confir

1条回答
  •  無奈伤痛
    2020-12-18 06:46

    You seem to be mixing two different options for connecting the ACR122U to libnfc:

    1. You can either use the direct USB driver for the ACR122U, libnfc.driver.acr122_usb (which is what you are currently using). In this case, you need to make sure that the PC/SC daemon does not take over control of the reader (since only one instance can access the USB interface of the reader at a time).

      • The quick-and-dirty fix is to disable the PC/SC daemon that takes control over the ACR122U. Though this is not straight forward on Mac OS X, a detailed explanation can be found in Ludovic's blog.
      • Alternatively, you could prevent the PC/SC daemon from taking control over that specific reader by editing /usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist. You would need search for the entry

        ifdProductID
        

        Below this entry, there is an array of entries of the form

        0xXXXX
        

        You will need to search for entries containing the values 0x2200, 0x90CC, and 0x2214. Remove those lines, but remember the relative line number (i.e. the offset in the ). Then, also remove the corresponding lines under

        ifdVendorID
        

        They should all contain the value 0x072F and thus have the form

        0x072F
        

        Moreover, you also need to remove the corresponding lines under

        ifdFriendlyName
        

        All of them will probably start with ACS.

    2. Alternatively, you could use the PC/SC based libnfc driver for the ACR122U (libnfc.driver.acr122_pcsc). This driver uses the system PC/SC daemon to access the reader instead of taking control over the USB interface directly. For this option to work, you need to configure lib-nfc to use the PC/SC driver instead of the direct USB driver. When you compile libnfc yourself, you could do this by explicitly activating only the PC/SC based driver:

      ./configure --with-drivers=acr122_pcsc
      make
      

      However, note that this driver has been depreciated and libnfc authors strongly discourage its use.

    0 讨论(0)
提交回复
热议问题