母親が亡くなった後、著者は古いフィルムネガの入った箱を相続し、Plustek 8200iのネガスキャナーを購入しましたが、そのチップセットが変更されており、Linuxでは非対応のものになっていることがわかりました。以前、著者は自身の一部のハードウェア向けにLinux用の設定ツールを作るためにClaude Codeを使っていたので、これで動作するSANEドライバーを書けるかもしれないと考えました。
数か月間行き詰まっていた著者は、Glorious Eggrollとして知られるTom Criderの投稿を目にしました。そこには、マウスドライバーを修正するためにAIツールを使った方法が書かれていました。AIエージェントはWindowsインスタンスを操作して、修正に必要なデータを取得していたのです。著者はClaudeに、スキャナーでも同じことができるようWindowsの仮想マシンを設定するよう依頼しました。Windows上でスキャンを実行する機能とUSBデータの取得、そしてClaude Codeの改善を組み合わせることで、数時間のうちにLinuxでの最初の動作するスキャンに成功しました。数日後には赤外線スキャンに対応したほぼ完璧なドライバーができあがりましたが、その間に誰かがSANEにスキャナーサポートをコミットしていたことがわかりました。
勢いづいた著者は、同じ仕組みをノートPCのMIPIカメラにも応用しました。その日の終わりまでに、Claudeはカーネルドライバーとlibcameraの両方にパッチを作成しました。著者はさらに、この仕組みを汎用的で文書化されたものにするようClaudeに頼み、他の人も自分のハードウェアで同じ手法を試せるようにしました。
hw-harnessと呼ばれるこの手法では、デバイスをパススルーした状態でKVM仮想マシン内のベンダー製Windowsドライバーを実行し、基準となるセッションを記録します。トラフィックは、パススルー層の下で動作するusbmonを使ってLinuxホスト上で取得されます。その後、同じ操作をユーザー自身のLinuxドライバーで繰り返し、2つのトレースを比較します。何を作るかを決め、実機で検証するのは依然として人間ですが、AIは文書化されていないバス通信を解析する面倒な作業の多くを取り除いてくれます。
出典: Hacker News · 要約:HeadlinesBriefing