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.

Requirements and limitations

  • 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.
  • 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.
  • 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.
  • Hardware outcomes and Claude involvement are author-reported; this collection did not run the harness or reproduce the scanner results. REA use is unconfirmed, and no complete device or original-source recovery is claimed.
  • The pinned harness code is MIT-licensed. Vendor software and driver dependencies remain separate inputs.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Protocol

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/examples/plustek-film-scanner/README.md
  2. https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/README.md
  3. https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/doc/method.md
  4. https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/examples/ipu7-imx471/README.md
  5. https://github.com/cschalle/hw-harness/blob/093afc5c576c200f29b771d01624a327d0ff1806/LICENSE
  6. https://blogs.gnome.org/uraeus/2026/10/15/aiandreverseengineerhardware/