借鉴原帖地址:http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=212810&page=1

实现环境:
HG255D(16MB闪存+64MB内存+USB),
潘多拉固件版本号PandoraBox 14.09 r1147 / LuCI 0.12 (0.12+git-4d0a20b)
HP1020打印机 硬件ID:03f0:2b17
(此解决方案适用于HP 1000 1005 1018 1020打印机,其他潘多拉固件请参照此文活学活用)

第一步,能识别,能添加网络打印机,就是不能打印,下发打印任务之后,会发现,打印机根本没反应。

原因说明:主机型打印机(也叫windows 打印机,GDI打印机)需要每次上传固件,正巧,HP1020就是这种打印机
解决思路:用cat命令,将打印机固件传入HP1020中,
具体步骤:
1.把sihp1020.dl复制到/etc/中,(sihp1020.dl即是惠普这款1020打印机的固件,一会儿下载地址我会在文后放出),
2.usb插上打印机,luci里查看系统日志,打印机被挂载在/dev/usb/lp0,(记住这个挂载位置,非常重要),
3.telnet进路由器,执行如下命令:
cat /etc/sihp1020.dl >>/dev/usb/lp0
按回车之后会发现,打印机有动静了,
4.按照正常步骤添加一个网络打印机,添加步骤点击查看这里之后,能够顺利打印测试页,但是,居然没完没了的打印了,根本停不下来直到纸张耗尽。至此,实现是实现了,但这是非常不完美的

第二步,必须解决重复打印问题,才能更好的使用共享打印机。
原因说明:有些打印机,比如1005年惠普激光打印机,停止正常工作时不止一次加载固件。 最好是利用usb_printerid命令检查固件是否已经出现在打印机中。
具体步骤:
修改/etc/hotplug.d/usb/10_usb-printer文件为如下内容:

#!/bin/sh

set -e

FIRMWARE=/etc/sihp1020.dl ###申明几个常量以备直接调用
DEVICE=/dev/usb/lp0
LOGFILE=/tmp/hp-fm

if [ "$PRODUCT" = "3f0/2b17/100" -a "$ACTION" = "add" -a "$DEVTYPE" = "usb_interface" ]; then
echo "$(date): STARTING" > $LOGFILE
for i in $(seq 30); do ###申明一个i的变量,数值在1~30中取整数
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 ###用usb_printerid去调用打印机信息会返回一个字符串,在这个字符串中查找FWVER字段。前面加-z的意思是为0则为真,那么这个判断语句的意思就是:如果usb_printerid返回的字符串中不存在FWVER,则执行下面的程序
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

在复制这个脚本过去的时候最好仔细看看,因为有的符号复制过去之后就会变成别的符号,从而导致潘多拉无法执行下去,笔者在实际操作中,复制修改后发现 这个符号>,在实际固件中变成了? 导致执行不下去,幸亏这个脚本有log文件输出,能够看到具体执行到哪一步,才让我把问题排除掉。

复制完成之后,先重启路由器,完成之后再重启打印机,然后就能畅快打印了。

相关下载:
sihp1020.dl和/etc/hotplug.d/10_usb-printer 百度云盘下载 提取码:ke9z
潘多拉固件官方下载地址:
http://downloads.openwrt.org.cn/PandoraBox/HuaWei_HG255D/firmware/stable/PandoraBox-ralink-rt305x-hg255d-squashfs-sysupgrade-r1147-20150710.bin
hp1020打印机驱动:官方下载地址

————————————分——————割——————线————————————————

更新一下:

经过实验,在斐讯K3刷lede固件中也完美解决了

PS:其实HP1020打印机真的非常好用,非常非常好用。笔者买的是个二手打印机,也才240大元。