openwrt 接HP1020打印机,hotplug问题及解决办法
修改后记得重启openwrt 和断电重启打印机 否则无效
在Windows平台上安装好相应的驱动且按照步骤关闭好【双面打印】——————重复打印问题
主机型打印机(也叫windows 打印机,GDI打印机)需要每次上传固件,正巧,HP1020就是这种打印机
解决思路:用cat命令,将打印机固件传入HP1020中
提取到LaserJet 1020固件:sihp1020.dl,上传到 /etc
主机中运行:cat /etc/sihp1020.dl >/dev/usb/lp0 打印机开始有启动的声音
提取到LaserJet 1020固件
修订版:
一、驱动安装
1、安装usb内核驱动、usb打印机驱动如果没有安装的话,按需要安装:
kmod-usb-ohci kmod-usb-printer kmod-usb-uhci kmod-usb2 luci-app-p910nd
2、检查打印机驱动是否OK:
驱动安装后,打印机会被识别,不同版本的固件,打印机识别后稍有不同,backfire、dreambox等识别为“/dev/lp0”,trunk有的版本是“/dev/lp0”,有的版本是”/dev/usb/lp0“。
ls /dev/lp0
ls /dev/usb/lp0
如果看不到 lp0,说明打印机没有驱动起来,不能被路由器识别,检查驱动安装情况。
二、解决HP1020打印机的固件问题(打印机自身有固件的此步骤可省)
HP1020自身没有固件,打印机每次断电重启后,机身没有固件的,windows下固件保存在你的硬盘里,只要有打印任务,windows会把固件传到hp1020,在linux下面也需要把固件放到路由器里,再用同样的机制保证HP1020被识别后将固件传送给它。
1、把sihp1020.dl上传到路由里(为了刷机时备份方便,我是放在/etc/config下面的,刷机时可以选择保存配置,这个不用再上传了。)
2、在/etc/hotplug.d/下面放一条规则,当检测到HP1020打印机的时候,把固件“sihp1020.dl”传送到HP1020打印机。
就用这条命令发送固件,对应'/dev/lp0”的:
对应“/dev/usb/lp0”的:
以前没注意,所以用的是手工再添加一项"/dev/lp0"(见楼上的文字),
以上是为了说明原理,不能每次都进ssh设置,直接把相关检测、发送固件的命令放到hotplug.d里,建一个文件”20-hp1020“内容如下,放到/etc/hotplug.d/目录下:
三是修改/etc/config/p910nd,/dev/lp0?还是/dev/usb/lp0跟第二条的一致。
版权声明
本文仅代表作者观点,不代表Csuper立场。
本文系作者授权百度百家发表,未经许可,不得转载。