他的扫描仪在 Linux 上不能用,于是让 Claude 研究 Windows 驱动
红帽工程总监 Christian Schaller 想把一箱旧家庭底片数字化,但买的 Plustek OpticFilm 8200i 扫描仪在 Linux 上不工作。原因是厂商换了芯片,现有 Linux 驱动认不出来。他最初让 Claude Code 直接写驱动,折腾很久没进展,搁置几个月。后来他换个办法:让 Claude 运行厂商的 Windows 软件、抓取 USB 通信数据,再和 Linux 驱动发送的数据对比,用能用的 Windows 驱动当参照来定位问题。几小时内他拿到第一张能认出的扫描图,几天后驱动还支持了红外扫描。他把这套方法开源成 hw-harness(MIT 许可),并顺手用同样思路修好了 ThinkPad 笔记本摄像头发暗、偏色的问题。对读者来说,这说明 AI 编程代理可以靠“对比可用实现”来啃下没有文档的硬件驱动难题,但最终仍需人工在真机上测试。目前他的扫描仪驱动只是概念验证,上游 SANE 已有另一位开发者的支持;摄像头补丁也尚未合并,仍在评审中。
文中可用工具
- Claude CodeAI 编程代理,用来运行 Windows 驱动、抓取 USB 数据并对比修改 Linux 驱动代码
- hw-harness开源工具集(MIT 许可),用于记录设备行为、对比可用与损坏的实现,让编程代理处理 Linux 尚不支持的硬件
- SANELinux 扫描仪驱动框架,作者为其编写后端
- Negative Vibes用 Rust 编写的 GNOME 底片处理应用,保留 16 位原始扫描数据并支持去尘、调色和导出
- ArgyllCMS在 Negative Vibes 中用于色彩校准
- libcameraLinux 摄像头图像处理框架,作者的补丁修改了其中的镜头阴影校正和黑电平计算
- Plustek OpticFilm 8200i作者的底片扫描仪,使用 Genesys GL128 芯片,Linux 原本不支持
- Lenovo ThinkPad X1 Carbon Gen 14 Aura Edition作者的笔记本,其索尼 IMX471 摄像头在 Linux 下成像过暗偏色,被本次补丁修复
- Intel IPU7笔记本摄像头的成像系统,原文未说明更多用途
评论 · 分享第一个看法