Prev |  | Next

## 33. Why do you not use the Linux kernel HID driver when communicating with USB UPSes?

When the `usbhid-ups` was first written, it replaced an older driver `hidups` which used the Linux kernel USB HID API. At the time, the kernel HID API could not distinguish between identical Usage IDs that were nested in different parent IDs, so many common measurements were not available from `hidups`. For this reason, the libusb approach was chosen, which has the added side effect of being more portable than the Linux HID API. The Linux hiddev device nodes have very similar permissions problems as the `/dev/bus/usb` nodes that the libusb approach uses.

Due to difficulties in running libusb on OS X and Windows, those platforms might actually benefit more from a native HID approach.

Prev |  | Next
| Home |