惠普老款GDI打印机(如HP LaserJet 1020)liunx 自动识别并自动上传固件
2025-08-03
我在浏览 CUPS 相关的视频评论时注意到,很多朋友都遇到了一个共同的问题:配置好后可以打印,打印机重启后无法正常打印。
这类情况在许多老款惠普 GDI 打印机(如 HP LaserJet 1020)上尤为常见——每次重启后都需要手动上传固件才能正常工作。
Windows会自动上传固件,而 Linux 系统默认不会自动完成这一过程,使用体验非常不便。
为了解决这个问题,我编写了一个小脚本:它可以自动识别打印机并上传当前目录下的固件,实现“插电即用、打印机重启也会自动上传固件”,大大简化了使用流程。
一、准备工作
适用环境
Linux 操作系统(Debian、Ubuntu、Fedora、飞牛NAS、等均可)
具有
sudo
权限的用户或 root 权限
所需文件
脚本文件 setup-hp-firmware-kuntech.sh(点击连接可以下载)
固件 hp相关固件.7z (里面包含了)
二、脚本功能介绍
自动检测连接的 HP 打印机 USB 设备
列出系统中存在的
.dl
固件文件,供用户选择上传自动生成固件上传脚本
/usr/local/bin/hp-fw-upload.sh
自动写入对应的
udev
规则,实现插入打印机时自动上传固件重载
udev
规则,立即生效
三、部署步骤
1. 下载并上传脚本
将脚本 setup-hp-firmware-kuntech.sh
和下载的.dl
上传至设备,放置在家目录或任意位置。
2. 设置脚本执行权限
chmod +x setup-hp-firmware-kuntech.sh
3. 运行脚本
sudo ./setup-hp-firmware-kuntech.sh
注意: 如果你已是 root 用户,则不需加
sudo
。
4. 选择固件文件
脚本会自动检测当前目录 .dl
固件,默认选第一个。
5. 脚本自动完成部署
脚本会生成上传脚本和 udev
规则文件,并自动重载规则。
四、测试
拔掉并重新插入打印机 USB 端口,打印机应自动完成固件上传,无需手动操作。
也可手动运行上传脚本测试:
sudo /usr/local/bin/hp-fw-upload.sh
如果打印机正常工作,表示配置成功。
五、常见问题
未检测到打印机设备
请确认打印机已正确连接并开机,且 USB 线正常。可用命令lsusb
检查设备列表。找不到固件文件
请先下载对应打印机型号的.dl
固件文件并放入/lib/firmware/hp
目录。权限问题
脚本涉及写入系统目录和重载规则,需要使用 root 或带sudo
权限的用户执行。
六、脚本源码简要说明
利用
lsusb
获取打印机 USBidVendor
和idProduct
。利用 Bash
select
命令交互选择固件。生成上传脚本,使用
cat 固件 > /dev/usb/lp0
方式上传固件。写入
udev
规则,实现打印机插入时自动运行上传脚本。使用
udevadm control --reload-rules
使规则立即生效。