openwrt路由安装配置USB打印机OpenWrt共享打印机P910nd+HP P1007+HG255D已成功不完美
1,安装kmod-usb-printer, p910nd, luci-app-p910nd,重启,到“系统-启动项”确认P910ND已经启动。没看到USB-PRINTER,老固件是有这一项的。
2,SSH登录,输入
dmesg | grep printer
查看返回信息,确认安装打印驱动成功
2,SSH登录,输入
netstat -an
命令查看端口9100已经监听
3,添加windows 打印
详细原文:《openwrt路由安装配置打印机》
看了官方的,才明白CUPS缩写是啥意思,哈哈
我手头是HGH55d+HP P1007,直接安装了P910nd,算是已经搞定了!
偶尔第二个打印任务发送不到打印机(轻微的咔哒一声,然后没有反应了),但是再试几次有可以了。总之不太完美。
后来发现CUPS对资源吃的多,决定还是再好好试试p910nd,有可能是没有开防火墙的原因。
p910nd Printer Server
https://wiki.openwrt.org/doc/howto/p910nd.server
CUPS Server
https://wiki.openwrt.org/doc/howto/cups.server
【2017-04-22 22:39】【补充一下】
使用了另外一台Samsung SCX-4521F的打印机,路由器上针对此打印机的啥脚本都没弄(应该只有防火墙的rules起作用),接上就直接好使了,看来以后买打印机还是别图便宜啊,还是别买主机型打印机。
所以今天的结论是:P910nd好使,关键还是麻烦在主机型打印机(也叫windows 打印机,GDI打印机)需要每次上传固件这事儿上。对于非GDI打印机,“几乎”就是即插即用的。
昨天就基本搞定了,不会咔哒咔哒响了,也不会重复打印了,而且打印任务也能正常停止,也没有用到usb_printerid(需要交叉编译),但是不太稳定的地方是:有时打印任务出不来,打印测试页每次都OK,但是有时word和Excel的任务出不来。
关键步骤就是:在Windows中去掉“双向打印”的对勾即可。
考虑到目前对于共享打印的诉求不是太强烈,暂时放弃了。以后有机会再试试CUPS,不过好像OpenWRT官方停止对CUPS的支持了。
我把用到的脚本贴上来,供大家参考一下,强烈建议大家仔细看原帖的内容,这些脚本都是从那儿COPY过来修改的:
/etc/config/p910nd, 是不需要修改的!
/etc/hotplug.d/usb/10-printer
#!/bin/sh # Copyright (C) 2006 OpenWrt.org if [ "$PRODUCT" ="3f0/4817/100" ] then case "$ACTION" in add) /etc/init.d/p910nd stop echo "`date`: HP LaserJet P1007 added" >> /tmp/hp-1007 /etc/init.d/p910nd start >> /tmp/hp-1007 echo "Done." >> /tmp/hp-1007 ;; remove) echo "`date`: HP LaserJet P1007 removed" >> /tmp/hp-1007 /etc/init.d/p910nd stop >> /tmp/hp-1007 echo "Done." >> /tmp/hp-1007 ;; esac fi
上述命令成功了,插拔打印机之后,有反应。
/etc/hotplug.d/usb/10-hplj1007
#!/bin/sh set -e # change this to the location where you put the .dl file: FIRMWARE="/usr/lib/sihpP1007.dl" DEVICE=/dev/usb/lp0 LOGFILE=/tmp/hp-fm if [ "$PRODUCT" = "3f0/4817/100" -a "$ACTION" = "add" ]; then for i in $(seq 30); do if [ -c $DEVICE ]; then echo "$(date) : Sending firmware to printer…" > $LOGFILE cat $FIRMWARE > $DEVICE echo "$(date) : done." » $LOGFILE exit fi sleep 1 done fi
上述脚本也可以用,但是同样会不停的打印,而且打印任务也无法结束。
针对HP的GDI系列,应该改为下列的样子
#!/bin/sh set -e # change this to the location where you put the .dl file: FIRMWARE=/usr/lib/sihpP1007.dl DEVICE=/dev/usb/lp0 LOGFILE=/tmp/hp-fm if [ "$PRODUCT" = "3f0/4817/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
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包