Claude 为我那台只能在 Windows 上用的冷门 HP 打印机编写 macOS 驱动

一次使用 Claude AI 模型让一台仅支持 Windows 的 HP 激光打印机在 macOS 上工作的实验,引发了更广泛的思考:大型语言模型如何让不受支持的硬件重新焕发生机,从打印机和扫描仪到游戏手柄和工业设备。评论者分享了许多借助 AI 逆向协议、改造 Linux 或 Windows 驱动、以及构建他们原本既没时间也没专业能力独自完成的利基工具的例子。另一些人则质疑“AI 写了一个驱动”的营销说法,因为实际上只是封装了现有 Linux 组件,并对准确性、安全性、能耗以及这对传统底层编程工作的意义提出担忧。

核心结果

  • 这个讨论围绕着使用 LLM(Claude)让一台仅支持 USB 的 HP/Samsung 激光打印机在 macOS 上工作展开,尽管厂商没有提供驱动。
  • 最初的方案是在 Docker 中复用 HP 的 Linux“Unified Linux Driver”(ULD)组件,并将其桥接到 macOS 打印系统。
  • 在遭到批评后,该项目更新为“完全原生 macOS”的方案:从 Linux 驱动中提取 rastertospl 过滤器,将其接入 macOS 的 CUPS 栈,再加上一个小型 USB 桥接层。

这真的算“驱动”吗?

  • 有人认为这并不是真正的 macOS 驱动,而只是对现有 Linux 二进制文件做了容器化或用户态封装。
  • 也有人反驳说,只要某层软件能让操作系统与硬件通信,就算驱动,即便它内部嵌入了另一个操作系统或二进制程序。
  • 批评者认为标题/README 具有误导性,把这看作一种营销噱头;支持者则说,真正重要的只有“打印机原来不能用,现在能用了”。

LLM 作为逆向工程工具

  • 许多人分享了类似的成功案例:为以下设备编写或改造驱动和工具:
    • 游戏手柄和额外按键、MIDI 接口、扫描仪、打印机、BLE 灯、电子纸显示屏、高尔夫球车控制器、USB 摄像头、标签打印机、音视频应用、旧 CAD 格式等。
  • 常见模式是:提供规格说明、USB/Bluetooth 抓包、固件转储或已有实现;LLM 负责在大量繁琐步骤中反复迭代。
  • 逆向工程被反复描述为 LLM 的“甜蜜点”:规格明确、可验证,而且很繁琐。

怀疑、风险与权衡

  • 人们提出的担忧包括:
    • 安全性(root 启动器、运行不透明代码、容器化栈)。
    • 可维护性,以及 AI 生成修复没有被上游合并。
    • 夸大宣传:有时其实通过现有项目或简单搜一下就能找到解决方案。
    • 能耗/资源开销与直接买一台新打印机之间的权衡。
  • 也有人指出,LLM 在更难的案例中经常失败或陷入循环;成功并非必然。

更广泛的反思

  • 讨论进一步扩展到:
    • 厂商锁定和受限的硬件 API(NFC、UWB、扫描仪、打印机)。
    • 希望 AI 能让定制工具和“个人计算”重新变得更真实。
    • 对低层驱动工作的未来感到担忧,但也对唤醒旧硬件感到兴奋。