Linux 打印机驱动完整指南:foo2zjs 让 100+ 台旧打印机免费复活
2026/8/23 14:42:34 网站建设 项目流程

Linux 打印机驱动完整指南:foo2zjs 让 100+ 台旧打印机免费复活

【免费下载链接】foo2zjsA linux printer driver for QPDL protocol - copy of http://foo2zjs.rkkda.com/项目地址: https://gitcode.com/gh_mirrors/fo/foo2zjs

插上 USB 线,系统只认出一台 "Unknown Device",打印队列里转着圈,永远吐不出纸。这套名为foo2zjs的免费开源 Linux 打印机驱动,靠逆向工程把这些被厂商"抛弃"的私有打印协议逐个破解,让 100 多台惠普、三星、Oki 老机型在 Linux 下重新干活。

给老打印机装一个"协议翻译器"

foo2zjs 不是单个驱动程序,而是一整套驱动套件:它把 CUPS 打印队列发来的 PostScript 或 PCL 页面,实时转换成各厂私有协议的二进制数据流——惠普的 ZJ-Stream、三星的 QPDL、Oki 的 HIPERC、柯尼卡美能达的 LAVAFLOW。打个比方,它相当于给打印机装了一个同声传译:CUPS 说的是标准普通话,这套驱动临场把每句话译成打印机只听懂的方言。协议细节散见仓库根目录的foo2zjs.cfoo2qpdl.c等源码,每个协议对应一套独立的转换器。

为什么厂商的驱动到 Linux 这里就断了

这些私有协议从来没有公开文档,厂商只在 Windows 和 macOS 上发布驱动,Linux 用户长期无人问津;机型一停产,官方支持便彻底消失。设备明明通电、USB 也连上了,为什么它偏偏听不懂 Linux 的话?因为没人告诉 Linux 这台机器"母语"是什么,而 foo2zjs 的作者们把答案一句句逆向了出来。

3 条命令完成 Linux 打印机驱动安装

最短上手路径只有 4 步,全程不超过 5 分钟:

  1. 克隆仓库:
git clone https://gitcode.com/gh_mirrors/fo/foo2zjs cd foo2zjs
  1. 编译,依赖 Ghostscript:make
  2. 安装驱动、PPD 与滤镜:sudo make install
  3. 让 CUPS 生效:sudo make cups

装完在系统的打印设置里添加打印机,驱动选 "Foomatic + foo2zjs" 即可。差异化配置——给特定型号补固件和 ICC 配置文件——放到下一节单独讲。

💡 固件不在机身里的机型:自动喂固件方法

我手头这台 HP LaserJet 1020 就卡在这一步:驱动装好了,打印任务却永远挂起,机身指示灯正常,但就是不出纸。

问题出在固件上。这类 HP 1000 系列的机身不保存固件,它存在驱动一侧,每次断电重启后都必须重新"喂"一次,打印机才肯进入工作状态——漏掉这一步,后续任何打印都会静默失败。

解法分两步。先在仓库目录执行./getweb 1020(三星 CLP-300 换成./getweb 300,Oki C310dn 用./getweb c310),它会从厂商服务器拉取固件和 ICC 色彩配置文件,装到/usr/share/foo2zjs/firmware/下。然后一条命令把自动加载注册给系统:

sudo make install-hotplug

它会写入对应的 udev 规则(仓库里的hplj10xx.rules),以后每次开机、USB 识别到设备,固件自动送达,无需任何手动操作。验证是否喂成功:

usb_printerid /dev/usb/lp0

输出里出现FWVER字样,说明固件已就位,可以打印了。

覆盖范围:100+ 台机型的支持清单

  • 惠普:LaserJet 1000/1005/1018/1020/1022 全系、P1005~P1505、P2014/P2035、Pro P1102/P1566/P1606,Color LaserJet 1500/1600/2600n/CP1215/CP1025nw,以及 M1005/M1120/M1319 一体机
  • 三星:CLP-300/310/315/325/365/600/610/620,CLX-2160/3160/3175/3185
  • Oki:C110、C301dn、C3100~C3530、C5100~C810 彩色系列
  • 柯尼卡美能达 / 理光:magicolor 1600W~4690MF、2200DL/2300DL 等
  • 其他:Xerox Phaser 6110/6115/6121、Kyocera KM-1635/2035、Lexmark C500,以及部分 Dell、Epson 机型

不在清单里?去仓库的 PPD 目录翻一翻,每个.ppd文件名就是一台受支持的机器,一眼就能对上号。

开头那台"Unknown Device",现在每次开机 5 秒内自动完成固件加载,出纸速度和当年在 Windows 下没有差别。从克隆到第一张测试页,全程不到 10 分钟,一分钱驱动费没花。去 PPD 目录里找到你的型号,照着敲一遍命令吧。

【免费下载链接】foo2zjsA linux printer driver for QPDL protocol - copy of http://foo2zjs.rkkda.com/项目地址: https://gitcode.com/gh_mirrors/fo/foo2zjs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询