当前位置: 首页 > article >正文

华硕梅林固件下,让HP1020打印机在Linux网络环境中重获新生

1. 为什么HP1020打印机在Linux网络环境中会罢工每次看到那台尘封已久的HP LaserJet 1020打印机我都觉得特别可惜。这台老伙计在Windows系统下表现一直很稳定但当我尝试把它接入刷了梅林固件的华硕路由器时却遇到了大麻烦——打印机就像被施了定身术完全无法响应网络打印请求。问题的根源在于HP1020采用的是GDI打印技术。这种技术有个特点它把大部分打印处理工作都交给了电脑端完成打印机本身更像是个听话的执行者。在Windows环境下系统自带的驱动会帮我们处理好所有细节。但当我们把打印机接到Linux系统比如梅林固件的路由器时情况就完全不同了。我查了很多资料才发现GDI打印机在Linux系统里需要特殊的固件支持。这个固件就像是打印机的启动钥匙没有它打印机就处于待机状态根本不会响应任何打印指令。更麻烦的是HP官方并没有为这类打印机提供Linux驱动这就导致了很多用户在尝试网络共享时碰壁。2. 准备工作搭建你的打印机急救站在开始拯救行动前我们需要准备好几样关键工具。首先确保你的华硕路由器已经刷好梅林固件我用的是RT-AX86U Pro其他型号应该也大同小异。你还需要准备一台能SSH连接路由器的电脑Windows用户可以用PuTTYMac用户直接用终端打印机的USB数据线建议用原装线我试过杂牌线有时会出问题大约15分钟的耐心实际操作可能更快重要提示在开始前建议先登录路由器后台在USB应用→网络打印机服务器里确认服务已经开启。虽然这个设置本身不能直接解决问题但它是后续操作的基础。我建议先在路由器上创建一个工作目录把相关文件都放在这里。通过SSH连接路由器后执行以下命令mkdir -p /jffs/etc mkdir -p /jffs/scripts这样我们就有了两个专用文件夹/jffs/etc用来存放打印机固件/jffs/scripts用来存放我们的自动化脚本。这种组织方式既整洁又便于维护以后升级固件时也不会手忙脚乱。3. 获取关键解药打印机固件下载与部署经过多次尝试我发现oleg.wl500g.info这个网站托管了HP GDI打印机所需的固件文件。对于HP1020来说我们需要的是sihp1020.dl这个文件。这里有个小技巧如果直接下载速度慢可以先用电脑下载好再上传到路由器。通过SSH执行以下命令直接下载固件curl -o /jffs/etc/sihp1020.dl http://oleg.wl500g.info/hplj/sihp1020.dl如果网络连接不稳定我就遇到过这种情况可以先在电脑浏览器里访问这个链接下载然后通过WinSCP等工具上传到路由器的/jffs/etc目录。记得检查文件是否完整下载一个完整的sihp1020.dl文件大小应该是1.1MB左右。为了验证固件是否就位可以运行ls -lh /jffs/etc/sihp1020.dl如果看到类似-rw-r--r-- 1 admin root 1.1M Jan 1 00:00 /jffs/etc/sihp1020.dl的输出说明固件已经准备就绪。这一步很关键我刚开始就因为没有检查文件完整性导致后续步骤全都白费功夫。4. 编写智能脚本让路由器自动识别打印机现在我们要创建一个智能脚本让路由器在检测到打印机插入时自动加载固件。这个脚本相当于打印机的私人助理会处理所有繁琐的初始化工作。用vi编辑器创建脚本文件vi /jffs/scripts/usblp_hotplug.sh然后把以下内容粘贴进去注意不要漏掉开头的#!/bin/sh#!/bin/sh set -e HPLJSITEhttp://oleg.wl500g.info/hplj LOGFILE/jffs/usblp_hotplug.log FIRMWARE if [ $# -eq 3 ]; then DEVNAME$1 ACTION$2 DEVD$3/../../.. else DEVD/sys${DEVPATH}/../../.. fi if [ -f $DEVD/product ]; then product$(cat $DEVD/product) vid$(cat $DEVD/idVendor) pid$(cat $DEVD/idProduct) case $vid-$pid in 03f0-2b17) FIRMWAREsihp1020.dl ;; esac if [ $FIRMWARE ]; then if [ ! -f /jffs/etc/$FIRMWARE ]; then echo $(date %Y-%m-%d %H:%M:%S) : Downloading firmware $FIRMWARE $LOGFILE curl -o /jffs/etc/$FIRMWARE $HPLJSITE/$FIRMWARE fi if [ -c /dev/$DEVNAME -a $ACTION add ]; then echo $(date %Y-%m-%d %H:%M:%S) : Sending $product firmware to $DEVNAME $LOGFILE cat /jffs/etc/$FIRMWARE /dev/$DEVNAME echo $(date %Y-%m-%d %H:%M:%S) : done. $LOGFILE fi fi fi保存退出后按ESC后输入:wq别忘了给脚本加上执行权限chmod x /jffs/scripts/usblp_hotplug.sh这个脚本做了几件重要的事情首先它会检查连接的USB设备是否是HP1020打印机通过vendor ID和product ID识别然后检查固件是否已下载如果没有就自动下载最后将固件发送给打印机完成初始化。我在脚本里添加了日志功能方便以后排查问题。5. 配置路由器启动项让解决方案持久生效为了让我们的设置能在路由器重启后依然有效需要修改启动脚本。梅林固件提供了很好的扩展性我们可以通过/jffs/scripts/目录下的特定脚本实现自定义启动项。创建或编辑services-start脚本vi /jffs/scripts/services-start加入以下内容#!/bin/sh # 启动其他服务 /koolshare/bin/ks-services-start.sh # 修改mdev配置 sed -i s/\/sbin\/mdev_lp/\/jffs\/scripts\/usblp_hotplug.sh/ /etc/mdev.conf # 手动调用usblp_hotplug.sh脚本来初始化USB打印机 /jffs/scripts/usblp_hotplug.sh usb/lp0 add /sys/bus/usb/devices/1-2同样记得给脚本加上执行权限chmod x /jffs/scripts/services-start这里有个容易踩坑的地方USB接口的路径可能会变。如果你把打印机插在USB3.0接口蓝色接口设备路径可能是1-3而不是1-2。可以通过以下命令确认ls /sys/bus/usb/devices/找到你的打印机对应的路径后记得修改services-start脚本中的最后一行。我刚开始就因为这个细节折腾了好久打印机死活不工作后来发现是路径不对。6. 电脑端配置完成最后一块拼图现在路由器端的配置已经完成我们需要在电脑上添加网络打印机。这里以Windows系统为例打开控制面板 → 设备和打印机 → 添加打印机选择我需要的打印机不在列表中选择使用TCP/IP地址或主机名添加打印机输入路由器的IP地址端口号保持默认的9100在后续对话框中选择自定义然后点击设置协议选择RAW队列名称可以留空从列表中选择HP LaserJet 1020的驱动如果没有需要先安装官方驱动关键步骤添加完成后右键打印机选择属性在端口标签页确认配置正确然后在高级标签页中务必取消勾选启用双向支持。这个选项会导致GDI打印机无法正常工作是我踩过的另一个大坑。测试打印时建议先打印测试页。如果遇到卡顿可以尝试重启打印后台服务services.msc中找到Print Spooler选择重启。有时候打印机可能需要30秒左右来初始化这是正常现象。7. 常见问题排查与优化建议在实际使用中可能会遇到一些小问题。这里分享几个我遇到的状况和解决方法问题一打印机偶尔无法响应这种情况通常是因为固件没有正确加载。可以检查/jffs/usblp_hotplug.log日志文件看看是否有错误信息。如果发现下载失败可以尝试手动下载固件并放到/jffs/etc目录。问题二路由器重启后打印机不工作这可能是services-start脚本没有正确执行。可以通过以下命令手动测试/jffs/scripts/services-start然后检查打印机是否恢复正常。如果没有可能是USB设备路径发生了变化需要重新确认。问题三打印速度慢GDI打印机在网络环境下的确会比直连电脑慢一些。可以尝试以下优化使用质量更好的USB线缆将打印机连接到USB2.0接口蓝色USB3.0接口有时会有兼容性问题在路由器设置中关闭不必要的USB服务为了让系统更稳定我建议定期清理日志文件避免占用过多jffs分区空间echo /jffs/usblp_hotplug.log这套方案我已经稳定使用了一年多期间经历过多次路由器固件升级都没有出现兼容性问题。最关键的是它让一台本该淘汰的老打印机重新焕发了生机既节省了开支又减少了电子垃圾。

相关文章:

华硕梅林固件下,让HP1020打印机在Linux网络环境中重获新生

1. 为什么HP1020打印机在Linux网络环境中会"罢工"? 每次看到那台尘封已久的HP LaserJet 1020打印机,我都觉得特别可惜。这台老伙计在Windows系统下表现一直很稳定,但当我尝试把它接入刷了梅林固件的华硕路由器时,却遇到…...

Qwen3-VL-4B Pro行业案例:法律合同截图关键条款提取与语义摘要生成

Qwen3-VL-4B Pro行业案例:法律合同截图关键条款提取与语义摘要生成 1. 项目核心能力与应用场景 想象一下,你是一名法务人员或商务经理,每天需要审阅大量来自邮件、聊天记录或扫描件的合同截图。这些截图里包含了付款条款、违约责任、保密协…...

FPGA做信号处理,你的浮点加减法拖后腿了吗?聊聊Vivado Floating-point IP核的性能调优

FPGA信号处理中浮点加减法的性能瓶颈与Vivado Floating-point IP核深度调优 在雷达脉冲压缩、波束成形等实时信号处理系统中,浮点运算单元往往是制约整体性能的关键瓶颈。许多工程师在完成基础功能验证后,常发现系统吞吐量不达标或时序无法收敛&#xff…...

AI-AGENT概念解析 - LLM任务训练

**问题:LLM大模型是否针对写作,做PPT,编写程序,拆解任务这些输入参数,用同一个大模型需要训练为不同的模型结构或参数化的权重矩阵去适应那些不同的提示词输入参数? 对于不同的任务类型(写作、做…...

别再直接升glibc 2.25了!CentOS7下从2.17平滑升级到2.31的保姆级排雷手册

CentOS7下glibc升级避坑实战:从2.17到2.31的安全跃迁指南 当你在CentOS7服务器上部署最新中间件时,那个熟悉的报错信息又出现了——"GLIBC_2.25 not found"。作为运维老兵,我太了解这种被glibc版本束缚的无力感。但别急着执行yum u…...

Unity 2022 LTS 实战:用NavMesh Agent和OffMesh Link,5分钟搞定一个会‘跳’会‘绕’的智能敌人AI

Unity 2022 LTS 实战:用NavMesh Agent和OffMesh Link打造智能敌人AI 在3D动作游戏中,一个只会直线追击的敌人往往会让玩家感到乏味。想象一下,当玩家精心设计的陷阱被敌人轻松绕过,或是敌人突然从高处跳下发动突袭时,游…...

云效Codeup代码评审功能深度体验:如何用它提升团队代码质量(附真实项目案例)

云效Codeup代码评审实战指南:从规范制定到CI/CD集成 在当今快节奏的软件开发环境中,代码质量直接决定了产品的稳定性和可维护性。作为技术负责人,我经历过无数次因代码质量问题导致的深夜加班和紧急修复。直到团队开始系统化使用云效Codeup的…...

四旋翼无人机PID控制实战:从零搭建Matlab仿真模型(附完整代码)

四旋翼无人机PID控制实战:从零搭建Matlab仿真模型(附完整代码) 当第一次看到四旋翼无人机在空中灵活翻转、精准悬停时,很多人都会被这种看似违反物理直觉的飞行姿态所震撼。作为现代控制理论最生动的应用场景之一,无人…...

告别串口线!用STM32F103+W25Q64做个U盘式固件升级器(附完整Keil工程)

STM32SPI Flash打造零门槛U盘固件升级器:从原理到量产实战 在嵌入式设备维护和量产环节,固件升级一直是让开发者头疼的问题。传统串口升级需要专用线缆和上位机软件,而基于STM32和SPI Flash的U盘式升级方案,将复杂的刷机流程简化为…...

Ext2Read:终极Windows读取Linux分区解决方案,3分钟快速上手

Ext2Read:终极Windows读取Linux分区解决方案,3分钟快速上手 【免费下载链接】ext2read A Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows. 项目地址: https://gitcode.com/gh_mirrors/ex/ext2read 你是…...

OpenClaw+Qwen3.5-9B实战:5步完成本地AI助手部署与飞书接入

OpenClawQwen3.5-9B实战:5步完成本地AI助手部署与飞书接入 1. 为什么选择OpenClawQwen3.5-9B组合? 去年冬天,当我第5次因为忘记整理会议录音而被领导提醒时,终于决定给自己找个"数字助理"。在尝试了多个自动化工具后&…...

轻量级OpenClaw方案对比:nanobot与标准部署性能测试

轻量级OpenClaw方案对比:nanobot与标准部署性能测试 1. 测试背景与动机 最近在为一台闲置的2核4G云主机寻找合适的自动化方案时,我遇到了一个典型的技术选型问题:标准OpenClaw部署对资源要求较高,而新出现的nanobot方案号称是&q…...

OpenClaw备份恢复:Qwen3-VL:30B飞书配置迁移指南

OpenClaw备份恢复:Qwen3-VL:30B飞书配置迁移指南 1. 为什么需要备份恢复OpenClaw配置 上周我的主力开发机突然硬盘故障,导致所有数据丢失。最让我头疼的不是代码仓库——它们都有远程备份,而是那套精心调校的OpenClaw飞书助手配置。这个助手…...

虚幻引擎PicoVR开发避坑指南:PicoXR与PicoOpenXR插件选型与实战解析

1. PicoXR与PicoOpenXR插件核心差异解析 第一次接触PicoVR开发时,很多开发者都会被两个相似的插件名称搞懵——PicoXR和PicoOpenXR。这两个插件虽然名字相近,但在功能特性和适用场景上存在本质区别。我在去年开发健身类VR应用时就因为选错插件&#xff0…...

BMAD 开发者的日常如果你正在用

BMAD 开发者的日常如果你正在用 BMAD 方法论做开发,这套流程一定很熟悉:/bmad-bmm-create-story 1.1 # 创建故事 /bmad-bmm-dev-story 1.1 # 开发实现 /bmad-bmm-qa-automate 1.1 # 运行测试 /bmad-bmm-code-review 1.1 # 代码审查 # 发现 …...

MCP协议实战踩坑:当Claude Desktop遇上n8n 1.93.0的混合通信

MCP协议深度解析:从混合通信模型看AI Agent生态兼容性挑战 当Claude Desktop与n8n 1.93.0的MCP协议实现相遇时,表面上的连接故障背后隐藏着AI Agent通信架构的深层设计哲学差异。本文将带您穿透现象看本质,揭示不同MCP实现方案背后的技术权衡…...

Python新手必看:PyCharm 2021.2.3社区版安装与配置全攻略(附环境变量检查)

Python开发环境搭建指南:PyCharm社区版安装与高效配置实战 如果你正准备踏入Python编程的世界,选择一款趁手的开发工具至关重要。JetBrains推出的PyCharm社区版凭借其智能代码补全、强大调试功能和丰富的插件生态,成为众多Python初学者的首选…...

猫抓浏览器扩展深度解析:现代网页资源嗅探的技术内幕与实践指南

猫抓浏览器扩展深度解析:现代网页资源嗅探的技术内幕与实践指南 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今流媒体内容爆炸的时代,开发者和技术爱好者面临着一个共同…...

OpenClaw浏览器自动化:Qwen3.5-9B驱动复杂网页操作实录

OpenClaw浏览器自动化:Qwen3.5-9B驱动复杂网页操作实录 1. 为什么选择OpenClaw做浏览器自动化? 去年冬天,我为了给家里老人买一台性价比高的空气净化器,连续三天晚上手动比价到凌晨两点。在不同电商平台反复切换标签页、记录价格…...

Ryzen系统管理单元调试:基于SMUDebugTool的高级硬件参数调优策略

Ryzen系统管理单元调试:基于SMUDebugTool的高级硬件参数调优策略 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...

HDC1000温湿度传感器原理与嵌入式实战指南

1. 项目概述Grove - Temperature & Humidity Sensor (HDC1000) 是 Seeed Studio 推出的一款基于德州仪器(Texas Instruments)HDC1000 芯片的数字温湿度传感器模块。该模块采用标准 Grove 接口,支持 IC 总线通信,专为嵌入式系统…...

PX4无人机开发实战:5个关键ROS话题的订阅与发布详解(附代码示例)

PX4无人机开发实战:5个关键ROS话题的订阅与发布详解(附代码示例) 当你在PX4无人机开发中首次接触ROS通信时,可能会被各种话题和服务搞得晕头转向。作为连接飞控与外部系统的桥梁,这些通信接口直接决定了无人机的可控性…...

探索含简易撬棒电路crowbar的双馈风机Simulink仿真模型

【含有简易撬棒电路crowbar的双馈风机simulink仿真模型】 含过电压保护电路的双馈风机模型。 此模型中的撬棍(crowbar)不是使用 IGBT 或理想开关构建的。 通过改变转子侧变换器的参考电压,对撬棒电路的切入和切出进行建模。 控制策略是最常见…...

PCB布局设计规范与工程实践要点

PCB布局设计思路与工程实践指南1. 布局设计基本原则1.1 结构约束优先原则在PCB布局初期,必须优先考虑机械结构约束条件:定位安装孔、连接器等结构件需严格按照外壳设计文件放置连接器1脚方向必须与结构设计匹配,避免装配错误元件高度不得超过…...

深度学习模型的绿色优化:Torch-Pruning减少能源消耗的终极指南

深度学习模型的绿色优化:Torch-Pruning减少能源消耗的终极指南 【免费下载链接】Torch-Pruning [CVPR 2023] Towards Any Structural Pruning; LLMs / Diffusion / Transformers / YOLOv8 / CNNs 项目地址: https://gitcode.com/gh_mirrors/to/Torch-Pruning …...

SDL2项目实战:用Conan一键集成SDL_image库(附CMake配置避坑指南)

SDL2项目实战:用Conan一键集成SDL_image库(附CMake配置避坑指南) 在开发跨平台C游戏或多媒体应用时,处理多种图片格式是刚需。SDL2原生仅支持BMP格式,而现代项目往往需要JPEG、PNG甚至WebP等更高效的格式。SDL_image库…...

【蛋糕层数组合数量】2024-8-4

缘由求解这一道c问题_编程语言-CSDN问答 很简单,最小数是1,最大数分别乘以比例即得一个数循环乘以比例直到1,那么,有几个数就有多少规律的结合就是数量。 荔枝分析:5可得3 2 1则5、53、52、51、532、531、521、5321。…...

OpenClaw浏览器控制:GLM-4.7-Flash实现自动化数据采集

OpenClaw浏览器控制:GLM-4.7-Flash实现自动化数据采集 1. 为什么选择OpenClaw进行网页数据采集 去年我在做一个市场分析项目时,遇到了一个棘手的问题——需要从十几个行业网站定期采集数据,但每个网站的页面结构都不一样。手动复制粘贴效率…...

ADS差分传输线前仿真:从S参数模板到信号完整性快速评估

1. 差分传输线前仿真入门:为什么需要S参数模板? 刚入行那会儿,我最头疼的就是每次新项目都要从头搭建仿真环境。直到发现ADS里藏着现成的4端口S参数模板,工作效率直接翻倍。这就像做菜时有了预制高汤,不用再从熬骨头汤…...

终极指南:mozjpeg Trellis量化技术如何实现最佳质量与文件大小平衡

终极指南:mozjpeg Trellis量化技术如何实现最佳质量与文件大小平衡 【免费下载链接】mozjpeg Improved JPEG encoder. 项目地址: https://gitcode.com/gh_mirrors/mo/mozjpeg mozjpeg作为一款优化的JPEG编码器,通过创新的Trellis量化技术&#xf…...