OpenWrt/PandoraBox/LEDE打印服务器连接HP1020发送GDI驱动HP1020打印一次一直重复打印
此解决方案适用于HP 1000 1005 1018 1020打印机
需要在路由器上面禁用双向模式,否则无法正常打印
HP1020等GDI打印机发送驱动的问题
能识别,能添加网络打印机,不能打印,下发打印任务之后,发现打印机根本没反应,Windows系统日志有报错
Administrator 拥有的文档 打印文档 无法在打印机 HP LaserJet 1020 上打印。请尝试再次打印文档,或重新启动后台打印程序。
数据类型: RAW。后台文件大小(以字节为单位): 1414944。打印的字节数: 1414944。文档页面总数: 1。打印页面总数: 0。客户端计算机: \DESKTOP-EOG90GN。打印处理器返回的 Win32 错误代码: 1803。打印机命令无效。
原因:主机型打印机(也叫Windows 打印机,GDI打印机)需要每次上传固件,1020就是这种的
复制固件sihp1020.dl到路由器/etc
执行
cat /etc/sihp1020.dl >>/dev/usb/lp0
加载固件到打印机(/dev/usb/lp0为打印机挂载点),会发现打印机有反应,能正常打印
问题二
手动加载固件后成功打印一次,然后无法打印,错误和问题一相同
原因:打印机工作时每次打印都需要加载固件
添加脚本到路由器,自动加载固件到打印机
脚本内容
#!/bin/sh set -e # change this to the location where you put the .dl file: FIRMWARE=/etc/sihp1020.dl DEVICE=/dev/usb/lp0 LOGFILE=/tmp/hp1020 if [ "$PRODUCT" = "3f0/2b17/100" -a "$ACTION" = "add" -a "$DEVTYPE" = "usb_interface" ]; then echo "$(date): STARTING" > $LOGFILE for i in $(seq 30); do echo "$(date): Attempt number $i on $DEVICE" >> $LOGFILE if [ -c $DEVICE ]; then echo "$(date): Device $DEVICE found." >> $LOGFILE if [ -z "`usb_printerid $DEVICE | grep FWVER`" ]; then echo "$(date): No firmware found on $DEVICE" >> $LOGFILE echo "$(date): Sending firmware to printer…" >> $LOGFILE cat $FIRMWARE > $DEVICE echo "$(date): done." >> $LOGFILE else echo "$(date): Firmware already there on $DEVICE" >> $LOGFILE fi echo "$(date): EXITING" >> $LOGFILE exit fi sleep 1 done fi
保存为/etc/hotplug.d/usb/10-usb_printer(替换原有的10-usb_printer文件)
usb_printerid需要自行编译
HP1020打印一次后打印一直重复打印
HP1020打印一次后打印一直重复打印
设置打印机属性,禁用打印机双向支持
重启路由器,测试
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看