Tutorials
Treiber per KI - wie Claude Code einen Scanner und eine Laptop-Kamera unter Linux zum Laufen brachte
Ausgangslage
Christian Schaller (Red Hat, Fedora/GNOME) wollte alte Familien-Negative digitalisieren. Sein Plustek OpticFilm 8200i hatte aber einen neuen Chip (Genesys GL128) bekommen – ohne Linux-Support. Erste Versuche mit Claude Code liefen ins Leere, das Projekt lag monatelang.
Der Trick: Referenz-Mitschnitte
Den Durchbruch brachte ein Aufbau, bei dem der Agent eine Windows-VM vollständig steuert. Daraus entstand hw-harness, inzwischen generalisiert und auf GitHub veröffentlicht. Das Prinzip:
- Herstellertreiber in einer KVM-VM mit durchgereichtem USB-Gerät laufen lassen
- Den Verkehr auf dem Linux-Host per
usbmonmitschneiden – unterhalb der Passthrough-Schicht, für den Gast unsichtbar - Dieselbe Aktion mit dem eigenen Linux-Treiber wiederholen und ebenso aufzeichnen
- Beide Traces diffen: Die Unterschiede sind die Bug-Liste
Für Geräte ohne abhörbaren Bus, etwa interne MIPI-Kameras, wertet der Harness stattdessen INF-Dateien, Registry, ACPI-Tabellen und Geräteeigenschaften aus. Code wird nicht kopiert, nur beobachtetes Verhalten übernommen.
Ergebnisse
- SANE-Backend binnen Stunden mit erstem Scan, später inkl. Infrarot-Staubentfernung – bei 3600 dpi schneller als der inzwischen erschienene Upstream-Treiber (34,6 s vs. 54,4 s)
- Negative Vibes, eine GNOME-App in Rust für Negativ-Scans
- ThinkPad X1 Carbon Gen 14: Kernel- und libcamera-Patches an einem Tag; die Bildhelligkeit im Low-Light-Test stieg von 31,1 auf 90,9
Schallers Fazit: Hex-Dumps durchkämmen ist nicht schwer, aber zäh – genau die Arbeit, bei der eine KI nicht müde wird.
Quelle: Christian Schaller - Using AI to reverse engineer hardware | hw-harness auf GitHub