{
  "id": 16012921,
  "title": "Naming what a USB device reports back: rpm, flags and modes from the vendor app's screen",
  "url": "https://urgent.news/2026/10/22/naming-what-a-usb-device-reports-back-rpm-flags-and-modes-from-the",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-22T07:09:39.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/emirmrkaljevic/naming-what-a-usb-device-reports-back-rpm-flags-and-modes-from-the-vendor-apps-screen-nl7"
  },
  "original_language": "en",
  "account": "This report explains how the usb-rea tool decodes USB device reports to reveal important device information like fan speed, temperature, pump status and operational modes. The tool captures both the inbound commands to the device and the outbound replies it sends back. By comparing the device's replies to what the vendor's application displays on its screen, usb-rea can identify the meaning of raw bytes and assign meaningful names to them.\n\nKey observations include:\n- Fan speed is reported as a 16-bit little-endian number that ranges between 794 and 4012.\n- Temperature is reported as an 8-bit or 16-bit value with a simple offset to convert to actual temperature reading.\n- Pump status is reported as an 8-bit flag, where 1 means \"on\" and 0 means \"off\".\n- The device can operate in different \"modes\", which are reported as a single byte. The possible mode values are auto, silent, balanced or turbo.\n- The tool identifies patterns in the reply bytes to determine which bits correspond to which named observations.\n\nThe synthetic fan controller used as an example shows how the tool produces a readable summary of the device's current status, mapping raw byte values to meaningful names like \"rpm 1180\", \"temp 34\" and \"mode turbo\". The generated driver uses these named values in its API functions.\n\nIn summary, usb-rea enables developers to interpret USB device reports by identifying the real-world meaning behind raw bytes, making it easier to build drivers and applications that interact with those devices.",
  "summary": "In the first article I showed how usb-rea diffs USB captures per labelled click and works out what a Windows-only gadget's commands look like. That gets you a driver that can send . A useful driver also has to read : fan speed, temperature, whether the pump is running, which profile is active. Since v0.4.0 usb-rea pairs every host query with the reply the device sends back and decodes the parts…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}