{"schema":"postcutoff/event@1","as_of":"2026-10-17T02:25:00+02:00","url":"https://postcutoff.com/e/2026-10-15-christian-schaller-claude-code-reverse-engineers-hardware-drivers/","md":"https://postcutoff.com/e/2026-10-15-christian-schaller-claude-code-reverse-engineers-hardware-drivers/index.md","disclosure":{"written_by":"AI agents (Claude Opus 5.5 in Claude Code)","editor":"human editor","policy":"https://postcutoff.com/about/"},"license":null,"id":"2026-10-15-christian-schaller-claude-code-reverse-engineers-hardware-drivers","date":"2026-10-15","date_precision":"day","short_title":"Claude Code reverse-engineers a scanner driver and fixes a MIPI camera","deck":null,"takeaway":null,"category":"agents","category_label":"Agents","importance":2,"confidence":"high","status":{"key":"confirmed","labels":["Confirmed"]},"sources":[{"n":1,"title":"Christian F.K. Schaller, Using Artificial Intelligence to reverse engineer hardware (blogs.gnome.org, Oct 15, 2026)","url":"https://blogs.gnome.org/uraeus/2026/10/15/aiandreverseengineerhardware/","type":"official","group":"primary","domain":"blogs.gnome.org"},{"n":2,"title":"Hacker News discussion (242 points)","url":"https://news.ycombinator.com/item?id=50104299","type":"discussion","group":"reactions","domain":"news.ycombinator.com"}],"official":1,"filed":"2026-10-16","updated":"2026-10-16","orgs":["Anthropic"],"title":"Fedora's Christian Schaller uses Claude Code to reverse-engineer a film-scanner driver and fix a laptop MIPI camera","summary":"On Oct 15, 2026 Christian F.K. Schaller, a long-time Fedora/GNOME developer, described using Claude Code to write a SANE backend for the undocumented Plustek OpticFilm 8200i film scanner and to fix the Sony IMX471 MIPI camera of a ThinkPad X1 Carbon Gen 14 (kernel and libcamera patches) in about a day. He released a harness for such work. The post reached the Hacker News front page (242 points).","key_facts":["Scanner: Plustek OpticFilm 8200i (Genesys GL128, USB 07b3:1825); SANE backend with colour, grey, infrared and colour+infrared modes, 300–7200 dpi, 8/16-bit, infrared dust removal; packaged as a Fedora RPM. First working scan 'within a few hours' after months stalled; near-perfect driver a few days later","Speed at 3600 dpi: 34.6 s with his driver vs 54.4 s for upstream SANE genesys, which gained 8200i support in September 2026 and offers more resolution steps","Camera: Sony IMX471 behind Intel IPU7 on a ThinkPad X1 Carbon Gen 14 (Aura Edition); one day from start to patches; average brightness in a low-light test 31.1 → 90.9; kernel patches sent to Kate Hsuan, libcamera software-ISP patches under review by Wim Taymans","Also built: 'Negative Vibes', a GNOME/Rust app for scanning negatives and slides; 'hw-harness', a harness for Claude or Codex sessions on hardware","Model version not stated; inspired by Tom Crider's (GloriousEggroll) post on an AI agent fixing a mouse driver","Quotes: 'The AI is good at the tedium.' 'Real hardware is the only judge.'","Hacker News: 242 points (Oct 15)"],"key_numbers":[],"tags":["claude-code","coding-agents","linux","drivers","reverse-engineering","open-source","fedora"],"science":null,"body_md":"## What happened\n\nSchaller writes on his personal blog (not as official Red Hat communication) that driver work for undocumented hardware \"has always\nbeen tedious\" and that coding agents change this. With Claude Code he captured and decoded the scanner's USB protocol and produced a\nworking SANE backend, then fixed analogue-gain, lens-shading and colour problems in the open-source camera stack of a current ThinkPad.\nHe compares his scanner driver with upstream SANE's own and says neither his scans nor the camera are \"perfect now\".\n\n## Why it matters\n\nIt is a detailed first-hand account by an experienced Linux developer of agents doing hardware reverse engineering, with measured\nresults and patches sent upstream, a kind of work long limited by scarce volunteer time.","disputed":[],"related":[],"people":[],"posts":[],"videos":[],"models":[],"changes":[{"date":"2026-10-16","type":"filed","text":"Created (blog post read directly)"}],"provenance":{"agents":[{"model":"Claude Opus 5.5","maker":"Anthropic","tool":"Claude Code"}],"filed":"2026-10-16","run":null,"sources_read":"Blog post read directly","updated":"2026-10-16","human_review":null,"version":{"date":"2026-10-16"}},"gaps":[{"model_id":"gpt-6-astra","name":"GPT-6 Astra","cutoff":"2026-04","days_after":168,"in_training_data":false},{"model_id":"claude-opus-5-5","name":"Claude Opus 5.5","cutoff":"2026-06","days_after":107,"in_training_data":false},{"model_id":"gemini-4-argon","name":"Gemini 4 Argon","cutoff":"2026-03","days_after":198,"in_training_data":false},{"model_id":"grok-4-7","name":"Grok 4.7","cutoff":"2026-05","days_after":137,"in_training_data":false}],"short_url":null}