Case study
hw-harness: scanner USB protocol investigation
Documents an author-reported scanner investigation comparing vendor-driver USB control transfers with Linux-driver traces to infer initialization, timing and resolution parameters. The released harness organizes reference capture and comparison; it does not automatically recover a complete protocol specification.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Developed on Fedora with libvirt/KVM and a Windows 11 Pro guest running the vendor driver. The documented USB case uses a Plustek scanner with device ID 07b3:1825; physical hardware is required.
- Prerequisites: USB passthrough, host-side usbmon capture, appropriate host privileges and a matching Linux-side operation are needed for comparable traces. The harness supplies capture/control tooling rather than an automatic protocol decoder.
- Scope: The generic harness was published after the original bespoke investigation. Its separate MIPI camera example inspects configuration, ACPI and calibration data rather than using the scanner’s USB capture path.
- Testing evidence: Hardware outcomes and Claude involvement are author-reported.
- License: The pinned harness code is MIT-licensed. Vendor software and driver dependencies remain separate inputs.
About this entry
The description was reviewed against primary sources.
Primary sources
- examples/plustek-film-scanner/README.md GitHub · cschalle/hw-harness · Revision 093afc5
- README.md GitHub · cschalle/hw-harness · Revision 093afc5
- doc/method.md GitHub · cschalle/hw-harness · Revision 093afc5
- examples/ipu7-imx471/README.md GitHub · cschalle/hw-harness · Revision 093afc5
- LICENSE GitHub · cschalle/hw-harness · Revision 093afc5
- https://blogs.gnome.org/uraeus/2026/10/15/aiandreverseengineerhardware/
More in Protocols
- Roborock Local Server: a self-hosted stand-in for Roborock’s vacuum cloud · Case study
- pypush: a Python client for Apple’s push protocol · Case study
- PixMob IR reverse engineering: controlling event wristbands at home · Case study
- OpenDrop: an open reimplementation of Apple AirDrop · Case study
- bluefluff: reverse engineering Furby Connect's Bluetooth LE protocol · Case study
- pyatv: a reverse-engineered client for Apple TV and AirPlay protocols · Case study