How to reverse engineer USB HID on Linux
How to reverse engineer USB HID on Linux
How to reverse engineer USB HID on Linux
Discover how Linux exposes raw USB device data, even without a driver. This article details how to use /dev/hidraw and the HID report descriptor to reverse-engineer and read real-time data from a UPS....

I recently added a UPS to my server rack to keep my internet and home network running during a power outage. After unpacking it, I investigated its USB port and discovered it wasn’t for powering other devices. Instead, it connects to a host computer to provide information like battery charge status, remaining runtime, and current load.
I wanted to access this data without relying on third-party software, so I decided to see if I could reverse-engineer the protocol using Linux.