Closed ajmas closed 3 months ago
Ask AB Circle for help if you use their driver.
I have now uninstalled the vendor driver, and built and installed from source, though I am still having issues.
The device should be supported, but I am still getting the same error output as above.
The version of libnfc I have is 1.8.0, which appears to be the latest.
Output of sudo ./src/parse
gives:
idVendor: 0x31AA
iManufacturer: Circle
idProduct: 0x3001
iProduct: CIR315
bcdDevice: 2.01 (firmware release?)
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 3
bulk-IN, bulk-OUT and Interrupt-IN
bInterfaceClass: 0x0B [Chip Card Interface Device Class (CCID)]
bInterfaceSubClass: 0
bInterfaceProtocol: 0
bulk transfer, optional interrupt-IN (CCID)
iInterface: CIR315 PICC
CCID Class Descriptor
bLength: 0x36
bDescriptorType: 0x21
bcdCCID: 1.10
bMaxSlotIndex: 0x00
bVoltageSupport: 0x07
5.0V
3.0V
1.8V
dwProtocols: 0x0000 0x0003
T=0
T=1
dwDefaultClock: 4.800 MHz
dwMaximumClock: 4.800 MHz
bNumClockSupported: 0 (will use whatever is returned)
IFD does not support GET CLOCK FREQUENCIES request: LIBUSB_ERROR_PIPE
dwDataRate: 12903 bps
dwMaxDataRate: 412903 bps
bNumDataRatesSupported: 0 (will use whatever is returned)
IFD does not support GET_DATA_RATES request: LIBUSB_ERROR_PIPE
dwMaxIFSD: 512
dwSynchProtocols: 0x00000000
dwMechanical: 0x00000000
No special characteristics
dwFeatures: 0x000404BA
....02 Automatic parameter configuration based on ATR data
....08 Automatic ICC voltage selection
....10 Automatic ICC clock frequency change according to parameters
....20 Automatic baud rate change according to frequency and Fi, Di params
....80 Automatic PPS made by the CCID
..04.. Automatic IFSD exchange as first exchange (T=1)
04.... Short and Extended APDU level exchange
dwMaxCCIDMessageLength: 522 bytes
bClassGetResponse: 0x00
bClassEnvelope: 0x00
wLcdLayout: 0x0000
bPINSupport: 0x00
bMaxCCIDBusySlots: 1
idVendor: 0x31AA
iManufacturer: Circle
idProduct: 0x3001
iProduct: CIR315
bcdDevice: 2.01 (firmware release?)
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 1
bAlternateSetting: 0
bNumEndpoints: 3
bulk-IN, bulk-OUT and Interrupt-IN
bInterfaceClass: 0x0B [Chip Card Interface Device Class (CCID)]
bInterfaceSubClass: 0
bInterfaceProtocol: 0
bulk transfer, optional interrupt-IN (CCID)
iInterface: CIR315 SAM
CCID Class Descriptor
bLength: 0x36
bDescriptorType: 0x21
bcdCCID: 1.10
bMaxSlotIndex: 0x00
bVoltageSupport: 0x01
5.0V
dwProtocols: 0x0000 0x0003
T=0
T=1
dwDefaultClock: 0.250 MHz
dwMaximumClock: 0.250 MHz
bNumClockSupported: 0 (will use whatever is returned)
IFD does not support GET CLOCK FREQUENCIES request: LIBUSB_ERROR_PIPE
dwDataRate: 10752 bps
dwMaxDataRate: 129032 bps
bNumDataRatesSupported: 0 (will use whatever is returned)
IFD does not support GET_DATA_RATES request: LIBUSB_ERROR_PIPE
dwMaxIFSD: 254
dwSynchProtocols: 0x00000000
dwMechanical: 0x00000000
No special characteristics
dwFeatures: 0x000200BA
....02 Automatic parameter configuration based on ATR data
....08 Automatic ICC voltage selection
....10 Automatic ICC clock frequency change according to parameters
....20 Automatic baud rate change according to frequency and Fi, Di params
....80 Automatic PPS made by the CCID
02.... Short APDU level exchange
dwMaxCCIDMessageLength: 271 bytes
bClassGetResponse: 0x00
bClassEnvelope: 0x00
wLcdLayout: 0x0000
bPINSupport: 0x00
bMaxCCIDBusySlots: 1
BTW "NFC Tools for Desktop" is likely using "Core NFC", so this would be a red herring in my analysis and worked even with the the CIR315A driver uninstalled.
To check a reader works fine follow https://blog.apdu.fr/posts/2014/03/level-1-smart-card-support-on-mac-os-x/
I just tried pcsctest
and this appears to have worked:
pcsctest ajmas@ghostwalker-echo
MUSCLE PC/SC Lite Test Program
Testing SCardEstablishContext : Command successful.
Testing SCardGetStatusChange
Please insert a working reader : Command successful.
Testing SCardListReaders : Command successful.
Reader 01: Circle CIR315
Enter the reader number : 0
Invalid Value - try again
Enter the reader number : 1
Waiting for card insertion
: Command successful.
Testing SCardConnect : Command successful.
Testing SCardStatus : Command successful.
Current Reader Name : Circle CIR315
Current Reader State : 0x54
Current Reader Protocol : 0x1
Current Reader ATR Size : 13 (0xd)
Current Reader ATR Value : 3B 88 80 01 00 00 00 00 11 81 71 00 E8
Testing SCardDisconnect : Command successful.
Testing SCardReleaseContext : Command successful.
Testing SCardEstablishContext : Command successful.
Testing SCardGetStatusChange
Please insert a working reader : Command successful.
Testing SCardListReaders : Command successful.
Reader 01: Circle CIR315
Enter the reader number :
So the reader and driver work fine.
If you have an issue with libnfc you should ask for help there.
No problem in CCID driver. Closing.
I am wanting to use my NFC reader via a node.js project, but I am running into an issue with libnfc based tools:
I am using the forked version of the project here, but I'm hoping this is close enough to the original CCID that I can get some pointers here? I am a newbie here, so I don't totally know whether libnfc is using CCID as a system driver or a bound library?
I did try "NFC Tools for Desktop" which did recognise the reader.
OS: macOS 14.4.1