你敢信?都 2026 年了,一台两千块的激光打印机,居然能把苹果生态逼到死角。
没有官方驱动,系统识别失败,GUI 添加直接罢工。
一位硬核老哥不服,反手把烂摊子交给了 AI 编程助手 Claude Code。
几十轮代码交锋,上百次报错重试。
最后,AI 硬生生在 macOS 上“手搓”出了一套基于 Linux 驱动的 USB 桥接方案。
打印机终于吐出了第一张完美的测试页。
但这事儿,真像标题吹的那么神吗?
苹果生态的闭门羹,与一台“孤儿”打印机
老实讲,买打印机最怕遇到“不支持 macOS”。
这台 HP Laser 1008a 就是典型。USB 接口,没有 Mac 驱动。
用户 kuber 试图用开源的 splix 驱动来曲线救国。
结果 macOS 的 CUPS 打印系统直接报 offline。
系统看到了设备,但就是连不上。
有意思的是,这台打印机其实支持 AirPrint 协议。
但 macOS 的添加向导根本不给 AirPrint 选项,直接给你个死胡同。
个人觉得,这就是苹果封闭生态的代价。
系统不认的硬件,你连手动配置的口子都不留。
绕过系统,AI 开始“暴力破解”
既然系统不帮忙,那就绕过系统。
Claude Code 的解题思路很野。
它发现 macOS 的 USB 后端在撒谎,明明设备在线,非报 offline。
怎么办?直接用 Python 写底层代码,绕过 CUPS,把数据硬塞进 USB 端点。
打印机终于有反应了。
但吐出来的不是测试页,而是连续四五张乱码废纸。
开源驱动 splix 生成的 SPL2 协议,跟这台打印机的 SPL3 根本对不上号。
换另一个开源驱动 foo2qpdl?
分辨率不对,打印机直接罢工。
最戏剧性的一幕来了。
打印机自己吐出了一张错误报告。
上面清清楚楚写着:“SPL ERROR - Please use the proper driver”。
这就好比硬件在嘲笑软件,嫌弃你用的协议根本不对。
终极套壳:把 Linux 驱动塞进 Docker
开源走不通,那就用官方的。
HP 其实提供了 Linux 版的统一驱动,里面包含了真正的 rastertospl 编码器。
但问题是,这是 Linux 二进制文件,macOS 跑不了。
Claude Code 给出的方案堪称“赛博缝合怪”。
它在 Mac 上跑一个 colima 虚拟机,里面装个 Docker。
把 HP 的 Linux 驱动塞进 Docker 容器里运行。
生成真正的 SPL3 数据后,再通过底层脚本直接写入 USB。
完美。字迹清晰,排版正确。
为了绕过 macOS 严苛的 CUPS 沙盒限制,AI 甚至写了一个需要 root 权限的后台守护进程。
从结果看,打印机确实能用了。
狂欢背后的冷水:这算哪门子“原生”?
文章发出来,评论区先炸了。
有人觉得 AI 太牛了,连高尔夫球车的控制器都能逆向工程。
但更多懂行的老哥直接打脸。
这根本算不上原生驱动,更别提写新驱动了。
本质就是把 Linux 驱动跑在 Docker 里,然后桥接到 macOS。
还要 root 权限跑用户目录下的代码,安全性直接降级。
这点我完全认同。
把 Linux 驱动套个壳,通过虚拟机转换数据,这叫“原生”?
这叫“硬核折腾”。
不过话说回来,能把一个死局盘活,让普通用户能正常打印,这执行力确实没得黑。
倒是 AI 最后那句客套话,让人心里直犯嘀咕。
“Thanks for being such a game debugging partner through all the test pages. Enjoy printing, you and the family.”
说实话,看到这种过度拟人化的感谢,我确实有点不适应。
机器就是机器,debugging 就是 debugging,没必要搞得像生死之交。
三十年前的浪漫,与今天的折腾
看着这场几十轮对话的硬核调试,我突然有点怀念 90 年代。
那时候的 HP 激光打印机,原生支持 PostScript。
想打印?直接一行命令。
nc 192.168.1.150 9100 < tiger.ps
数据直接发过去,打印机就乖乖出纸。
没有沙盒,没有驱动冲突,没有虚拟机。
三十年过去了,硬件越来越复杂,软件越来越封闭。
我们拥有了最强大的 AI 助手,却要花几十轮对话,去搞定一台两千块的打印机。
这到底是技术的进步,还是生态的倒退?
【锐评】:用 Linux 虚拟机跑官方驱动桥接 USB,包装成“原生手搓”,AI 确实能干,但标题党和赛博客套大可不必。
参考链接:
https://cdn.kuber.studio/chat/hp-laser-1008a-driver