usb-rea
For the USB gadget that only ships a Windows app. Capture the traffic, label your clicks, and get the protocol and a working driver.
UProject links
Visit productRequest correctionProject Note
A closer look at usb-rea
A free, MIT-licensed command-line tool that works out a USB device's protocol from captured traffic and writes a Python driver for it.
The gadget that only speaks Windows
You bought a liquid cooler with a little screen on it, or an RGB controller, or a mouse with adjustable DPI. It works fine, as long as you run the vendor's Windows app. On Linux it just sits there. Somewhere inside that app are a few bytes that set the fan speed, and nobody has written them down.
usb-rea is built to find those bytes. You click around in the vendor app while the USB traffic is captured, and you label what each click did. The tool compares the packets for each action, infers the protocol and writes an open-source Python driver, "with every conclusion linked to the exact packets that prove it," in the README's words.
Its author, Emir Mrkaljević, presents it as the step after Wireshark. Wireshark captures and dissects packets. usb-rea reads those captures and works out the command structure behind them.
What comes out the other end
Feed it a capture from usbmon on Linux or USBPcap on Windows, and you get a Markdown report and a standalone pyusb driver. It can also write a Wireshark dissector for the protocol it found, so later captures are easier to read. The same tools run as a plain command-line program or as an MCP server, which lets an AI assistant drive the analysis.
There's a concrete case to back this up. From captures of the NZXT Kraken X fan command, usb-rea recovered the bytes exactly as the liquidctl project sends them, and the generated driver produced identical packets for fan speeds it had never seen. It reports the same for the SteelSeries Rival 100 mouse, checked against the rivalcfg project, with the proof running in the repository's automated tests.
You don't need a device to try it. Install it with pip and run the built-in demo, which analyses a simulated fan controller.
Free, young, and open to inspection
usb-rea is MIT licensed, published on PyPI and needs Python 3.10 or newer. It's labelled alpha, at version 0.7.13 in November 2026, and has been validated on synthetic devices, protocols documented by liquidctl and rivalcfg, public Wireshark captures and one cooler capture a user shared. The repository only dates from October 2026 and has a single contributor, so treat it as early work.
It's a local tool. The device lookup is offline by default, with an optional online check. A short legal section argues that reverse engineering for interoperability is permitted under EU and US law and says the tool only analyses traffic from devices you own. That's the author's reading, not legal advice.
One more thing you'll notice. The README opens with a banner for the author's separate paid project, offered as a way to fund this one. The tool itself costs nothing.
If there's a USB device on your desk that Linux ignores, run the demo and see how far a capture gets you.

Project note details
Dates and editorial links
Published
November 12, 2026
Updated
November 12, 2026
Note history
Publication and substantive update dates for this public note.
- Nov 12, 2026
- Project note published.
Want to come back to usb-rea?
Save it to this browser. Your Saved list marks projects whose note or updates changed since you last looked.
Keep exploring
More like usb-rea
- Agent RidgeDeveloper Tools · Agent Ridge is an AI security audit tool for e-commerce websites and web platforms, sold as a team-run audit or as locally installed software.
- Blackcoin CoreDeveloper Tools · An MIT-licensed Blackcoin node and wallet implementation with desktop and command-line tools for local chain operation.
- iotauditDeveloper Tools · iotaudit is a free, MIT-licensed command-line tool that audits the smart devices on your own network, showing where they connect and grading each from A to F.
- Sitemap Cohort AuditorDeveloper Tools · A Node.js command-line tool for comparing sitemap URLs between releases and checking declared metadata.
- Dream GalaxyEducation Tools · Dream Galaxy compares a dream you write with 457 sourced dream records from public-domain and openly licensed works.
- EveryPay for JoomShopping by InteroperiaDeveloper Tools · A payment plugin that adds EveryPay to JoomShopping stores and checks each result against the order.
- Pactman Nonprofit Check Plus APIDeveloper Tools · An API that returns a U.S. nonprofit's IRS status, Pub 78 listing, revocations and OFAC result from an EIN.
- NOIRADIX StudioDeveloper Tools · A free browser pixel art editor for sprite sheets and animation clips, with Unity and TexturePacker-style exports.
For the makerAdd the badge to your site
If you made usb-rea, you can post about this note with a ready-to-edit announcement, or show it on your own site with an optional badge that links back here. Neither changes the note's text or placement. This note's link to the project is marked as user-submitted until the project's site links back, for example with the badge, and is a standard link while it does.
Want to keep this note's facts current yourself? Project Radar Pro lets a verified maker confirm status, pricing and platforms in a labeled block, post one update a month and see the note's activity totals. It never changes the note's text or placement. See what Pro includes
Building something useful?
Submit your project for free. If selected, it gets a Project Note that explains what it does and links to your work. Publication isn't guaranteed.
Submit a project
