恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1001|回复: 9

7620的openwrt用CUPs连HP1007做网络打印机,自动脚本,无惧打印机拔插

[复制链接]
发表于 2022-5-12 19:43 | 显示全部楼层 |阅读模式
本帖最后由 gaze 于 2022-5-12 19:45 编辑

很多朋友都用各种带有USB接口的家用路由器刷了openwrt,用p910nd打印服务器来接普通打印机作为打印服务器。但是,有一些GDI打印机,在打印之前需要把特定的固件发送到打印机上,p910nd 力有不逮,于是翻了下中古的软件,发现CUPs还是比较方便的。自己就写了一个 查询-传输脚本,探查USB打印机是否接入,如果接入了,就把固件发送过去,使得这种比较“廉价”的打印机也能变身为网络打印机....^_^

====================================

【实操:我用的是HP-P1007  openwrt运行在16+64M的7620路由器上,AP模式】


0:根据你路由器的处理器架构,自行下载并安装CUPs 的ipk

(ytwl333大神的编译:https://gitee.com/ytwl333/openwrt-musl-cups/tree/master  )


1:创建一个  /etc/123 目录,将 轮询脚本 dl_sent.sh 和 dl驱动文件放进去,记得设置脚本可运行权限 +x

在使用SPI-Flash的普通openwrt路由器里,etc目录是通过overlay方式叠加在root_rom文件系统之上的。写入 /etc目录的文件变化,可以在后台被保存到Flash里,从而持久化,重启之后仍旧存在,你仅需要注意的是Flash里是否有足够的空间即可(df -h 看一下 overlayfs:/overlay对应的 / 目录的使用情况就知道了)。在使用 tf卡、eMMC 的arm处理器或者x86处理器的路由器里,/etc空间有如PC上的硬盘容量足够,你随便用。

  • #ls -l  /etc/123
  • -rwxr-xr-x    1 root     root           393 May 12 16:44   dl_sent.sh
  • -rw-r--r--    1 root     root        222443 May 12 15:10   sihpP1007.dl

2:修改 /etc/rc.local 让脚本以crontab方式运行

(或在路由器web界面修改 自启动脚本:http://192.168.1.1/cgi-bin/luci/admin/system/startup

在 exit 0 之前增加:

  • sleep 5
  • echo  "* * * * *  /bin/ash  /etc/123/dl_sent.sh"  > /etc/crontabs/root
  • #修改crontab,每分钟执行一下sh程序,查询是否有usb打印机插入、是否需要传递驱动给打印机

3:  dl_sent.sh 脚本内容如下:

  • if  [ -e /dev/usb/lp0 ]
  •      then
  •         if [ -f /tmp/dl_sent.mark ]
  •         then
  •           return
  •         else
  •           cat /etc/123/sihpP1007.dl > /dev/usb/lp0 && touch /tmp/dl_sent.mark && echo "PRN:lp0=UP mark=0, sent dl and marked..." >> /tmp/syslog
  •         fi
  •      else
  •         if [ -f /tmp/dl_sent.mark ]
  •          then
  •           rm /tmp/dl_sent.mark && echo "PRN:lp0=DOWN mark=1, rm mark..." >> /tmp/syslog
  •         fi
  • fi

#解释:

# if判断,-e 表示是否存在此文件,-f表示是否普通文件

# 如果探查到usb打印机,且标记mark存在,说明一切正常,直接退出本sh

# ------如果mark文件不存在,则说明刚启动,要发送驱动给打印机,并记录事件到日志文件/tmp/syslog

#如果探查不到usb打印机,且mark标记存在,

#-------说明打印机掉线,需删除已发送mark标记,防止打印机连接后mark文件存在 从而不发送驱动了


4:  PC上安装HP的驱动: ljP1000_P1500-HB-pnp-win64-sc.exe


5:浏览 http://192.168.1.2:631/ (根据你的实际情况修改IP) 配置CUPs,增加插入的USB打印机


6:在PC上添加网络共享打印机,通常是  http://192.168.1.2:631/printers/1007 等等这样的格式,请从CUPs的管理界面里获得


OK了!


该脚本会每分钟自动运行一下,探查打印机状态,并做相应设置,你也可以修改crontab,改为2、3、5分钟均可。

无论打印机和openwrt谁先开机,无论中间打印机是否断线、断电,在设置的巡查时间间隔之后,打印机都能正常联机打印。


================================================

【参考文章】

https://www.likecs.com/show-204015396.html 加入 sihpP1007.dl > /dev/usb/lp0 就行了


【教训:丢失了 kmod-usb-printer】

不知道为啥丢失了,于是乎,找不到 /dev/usb/lp0 !!!  为此搞了3个小时不得其解。

后来重新 update 一下源,在 kmod-usb 开头的软件包里寻找,找到后,Install之,

再 ll /dev/usb/lp0  正常了。



我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-12 20:03 | 显示全部楼层
支持苹果隔空打印吗?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-12 20:53 | 显示全部楼层
之前不是有用Padavan的没用CUPS也成功了么,主要就是要把固件发给打印机...
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-5-13 01:14 | 显示全部楼层
9500pro 发表于 2022-5-12 20:03
支持苹果隔空打印吗?

这个没用过,明天试试看…
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-5-13 01:17 | 显示全部楼层
邪恶海盗 发表于 2022-5-12 20:53
之前不是有用Padavan的没用CUPS也成功了么,主要就是要把固件发给打印机...

是滴,
就是看到很多人说用起来不爽,
主要就是打印机开机关机会影响驱动的装载,

我就自己写了个脚本自动检测并装载驱动…

高级些的打印机就没这问题,
直接用CUPs连接就可以了。

点评

好像有个脚本是隔一段时间检测一次USB状态的,以这样的方式避免关机再开机掉打印机的问题  详情 回复 发表于 2022-5-13 10:31
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-13 10:31 | 显示全部楼层
gaze 发表于 2022-5-13 01:17
是滴,
就是看到很多人说用起来不爽,
主要就是打印机开机关机会影响驱动的装载,

好像有个脚本是隔一段时间检测一次USB状态的,以这样的方式避免关机再开机掉打印机的问题
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-13 21:19 | 显示全部楼层
iOS隔空打印 cups上 armbian需要装一个软件包,如果openwrt能搞出来,那就牛逼了!
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-5-14 00:28 | 显示全部楼层
9500pro 发表于 2022-5-13 21:19
iOS隔空打印 cups上 armbian需要装一个软件包,如果openwrt能搞出来,那就牛逼了!

你说的是 netatalk 和avahi 吗?
这两个软件都有openwrt的版本。

好像还需要些(⊙o⊙)啥?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-8 22:34 | 显示全部楼层
感谢楼主热心分享
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-9 08:26 | 显示全部楼层
谢谢分享,学习学习
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2023-2-8 03:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表