node-hid not showing all USB devices

2.3k views Asked by At

I'm using node-hid with this call:

HID.devices()

and I should get a list of all connected USB devices as listed here in the guide.

As result I'm getting this devices list:

[ { vendorId: 1452,
  productId: 33346,
  path: 'USB_05ac_8242_6500000',
  serialNumber: '',
  manufacturer: 'Apple Computer, Inc.',
  product: 'Apple IR',
  release: 22,
  interface: -1 },
{ vendorId: 1452,
  productId: 567,
  path: 'USB_05ac_0237_6300000',
  serialNumber: '',
  manufacturer: 'Apple Inc.',
  product: 'Apple Internal Keyboard / Trackpad',
  release: 144,
  interface: -1 },
{ vendorId: 1452,
  productId: 567,
  path: 'USB_05ac_0237_6300000',
  serialNumber: '',
  manufacturer: 'Apple Inc.',
  product: 'Apple Internal Keyboard / Trackpad',
  release: 144,
  interface: -1 },
{ vendorId: 0,
  productId: 0,
  path: '',
  serialNumber: '',
  manufacturer: '',
  product: 'Apple Mikey HID Driver',
  release: 0,
  interface: -1 },
{ vendorId: 1452,
  productId: 567,
  path: 'USB_05ac_0237_6300000',
  serialNumber: '',
  manufacturer: 'Apple Inc.',
  product: 'Apple Internal Keyboard / Trackpad',
  release: 144,
  interface: -1 },
{ vendorId: 1452,
  productId: 567,
  path: 'USB_05ac_0237_6300000',
  serialNumber: '',
  manufacturer: 'Apple Inc.',
  product: 'Apple Internal Keyboard / Trackpad',
  release: 144,
  interface: -1 } ]

which does not include the ACR122U-A9 device (NFC/RFID device provided by ACS Ltd) connected through USB to my Mac.

All the peripherals connected to the Mac are listed under System Report -> Hardware -> USB, here the screenshot: ACR122U connected to the Mac

Can you figure out how to solve this issue?

1

There are 1 answers

3
Michael Roland On BEST ANSWER

node-hid is a library to access USB HID devices from node.js. HID.devices() will therefore only list USB HID devices and not just any USB device.

The ACR122U is a CCID (USB class for smartcard readers) and not a HID (USB class for human interface devices) device. Consequently, it cannot be listed by node-hid.