TLDRocket
Sign in

Using Artificial Intelligence to reverse engineer hardware

Christian F.K. Schaller

Claude helped reverse-engineer a dead Linux scanner driver and a laptop camera fix. The trick was comparing Windows and Linux traces, then letting the AI hunt for the differences.

Based on reporting by Christian F.K. Schaller — read the original for the full story.

Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error

A developer who hit a wall with an old film scanner decided to let an AI do the boring part of hardware reverse engineering. The scanner story started with a box of family negatives, a Plustek OpticFilm 8200i, and a nasty surprise: the chipset had changed, so the Linux support he expected was gone.

After months of getting nowhere, he tried a different route. Inspired by a post from Tom Crider, aka Glorious Eggroll, about using AI to fix a mouse driver, he set up a Windows virtual machine with the real device passed through, captured USB traffic from the Linux host with usbmon, and asked Claude to compare the good trace with the broken one. A few hours later he had a first working scan under Linux. Days later he had a near-perfect driver with infrared support, though by then SANE had already picked up support for the scanner too.

He turned that workflow into hw-harness, a more generic set of scripts meant to help Claude or Codex sessions do the same kind of comparison. The idea is simple enough: record the vendor driver in Windows, record your own driver on Linux, diff the traces, and treat the differences as the bug list. For devices where you can’t tap a bus, like an internal MIPI camera, the harness leans on Windows-side clues instead, such as INF files, registry data, ACPI tables and device properties.

The scanner work also produced two other things: a SANE backend and a film-scanning app called Negative Vibes. The backend targets the newer OpticFilm 8200i, supports color, gray, infrared and color-plus-infrared modes, runs from 300 to 7200 dpi at 8 or 16 bits per channel, and is packaged as a Fedora RPM. Negative Vibes is a Rust GNOME app that keeps scans 16-bit and linear, adds negative inversion and dust removal, and exports TIFF, JPEG, PNG and DNG.

Then he used the same approach on his Lenovo ThinkPad X1 Carbon Gen 14 camera. That fix led to patches for both the kernel and libcamera, with the laptop’s Sony IMX471 sensor behind Intel IPU7 going from dark, vignetting-heavy images to a much better result. The broader point is less glamorous than AI magic and more useful: reference captures, patient diffing and a machine that never gets tired can shrink a miserable driver hunt into something survivable.

My take — AI-written commentary, not fact-checked reporting

This is the kind of AI use that actually deserves the hype: not writing another email blob, but chewing through ugly traces and register trivia nobody wants to babysit. The catch is obvious and healthy — the human still has to hold the hardware and judge reality, which means the machine is a very capable assistant, not a substitute priesthood. That’s the sweet spot for open tooling too: share the harness, not the mystique.

Read more about this at: Christian F.K. Schaller

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads all relevant sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.