本帖最后由 aming.ou 于 2024-10-19 09:16 编辑
基于tl-wr703n蓝色小方盒,已经成功思考lede-imagebuilder-17.01.7工具定制集成编译固件,可以很方便的剔除默认ipk,加入第三方的ipk,也可以加入自定义文件,通过精简,编译出TL-WR702N硬改4M闪存原厂16内存的网线网络打印服务器固件,和TL-WR703N原厂4M闪存原厂32内存的无线网络打印服务器固件,打印固件的关键在于集成kmod-usb-printer和p910nd,以及web管理页面是luci-app-p910nd ,其实集成时已经写好配置文件/etc/config/p910nd,默认支持一台打印机。虽然uci-app-p910nd可以图形化添加多个打印机配置,但因为插入打印机,或者打印机上电顺序不一样,都会改变端口9100~9109和设备号/dev/usb/lp0,/dev/usb/lp1,/dev/usb/lp2.。。。。/dev/usb/lp9的映射关系,所以网上观点都是p910nd不支持多打印机模式,建议使用cups。
可是4M闪存32M内存根本跑不起cups,得益于luci-app-usb-printer模块的大神hackpascal 无私贡献,编写出通过脚本方式自动根据打印机vidpid设备号绑定到指定的端口的模块,不受lp0~lp9的设备资源影响,原脚本中有个考验我们的小bug,根据rayzhi大神的教程进行处理,再做了p910nd兼容适配,重新编译了一个ipk安装包,注意:附件中的luci-app-usb-printer端口范围9101~9109,预留了9100端口给/dev/usb/lp0设备。在wr703n设备中测试通过,理论上luci脚本在其他架构的路由器中也能运行。
如原作者所述,luci-app-usb-printer和luci-app-p910nd存在冲突,只能装其一,在只使用一台打印机时,建议使用官方luci-app-p910nd模块,如需要通过USBHUB扩展支持多台打印机时,才建议使用luci-app-usb-printer(先卸载luci-app-p910nd)经使用测试,本优化后的多打印机支持插件luci-app-usb-printer和luci-app-p910nd不冲突,可同时安装使用
对于单台打印机,可以通过luci-app-p910nd在web界面中添加/dev/usb/lp0设备,端口选0,或者telnet登录后台直接编辑配置文件 vi /etc/config/p910nd ,强烈建议编辑这个文件,以便p910nd自动启动支持9100端口绑定到/dev/usb/lp0设备
config p910nd 'prn0' option device '/dev/usb/lp0' option port '0' option bidirectional '1' option enabled '1
对于有多台打印机同时接入的需求,建议使用luci-app-usb-printer在web界面中绑定,
参考资料:
hackpascal ,支持多个打印机共享的 LuCI 模块 (p910nd 改进版) https://www.right.com.cn/forum/thread-142071-1-1.html
rayzhi ,PandoraBox多打印机共存bug解决 https://www.right.com.cn/forum/thread-214688-1-1.html
打印机信息检测脚本 https://www.right.com.cn/forum/thread-8272489-1-1.html
如编译发布ipk程序侵犯了版权,请私信我删除。
源码下载地址:
插件下载地址:
|