Tutorials

Treiber per KI - wie Claude Code einen Scanner und eine Laptop-Kamera unter Linux zum Laufen brachte

claude-code reverse-engineering linux treiber tutorials

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 usbmon mitschneiden – 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