测试环境:
路由器型号:TP-Link WR841N V5 改装版(改装一个USB1.1口,8M闪存,64M内存);
路由器固件:OpenWrt Attitude Adjustment 12.09;TP-Link TL-MR3420 v1的固件
打印机型号:佳能Canon MX338 喷墨打印传真一体机。
由于WR841N的闪存容量非常有限,于是需要将软件安装在U盘中运行,至于如何在将OpenWrt系统中软件安装在U盘中,网上已经有相应的教程,这里不做说明。另外,一个USB口是不够用的,还需要加一个HUB来扩充USB口。
1、安装CUPS 软件包
opkg update
opkg install cups
opkg install cups-bjnp
2、启动并将CUPS设置为开机自启动
OpenWrt有LUCI界面的很好操作,在“启动项”里将cupsd改成“启用”,并点“开始”。
3、赋予USB打印机接口执行权限
为了开机就能自动赋予权限,我在“启动项”里添加了命令:
sleep 10; chmod -R 777 /dev/bus/usb/001/
(这里的USB挂载打印机的路径因人而异,自己修改下)。
为了防止USB打印机关机再开机后不能打印,建议在计划任务中再添加一个任务:
*/1 * * * * chmod -R 777 /dev/bus/usb/001/
4、在网页管理客户端添加打印机
打开路由器http://192.168.1.1:631这个页面,点击“Administration”,这里提示要输入账号和密码,就是路由器的登陆帐号和密码。
然后点击“Find New Printers”,正常情况下就能看到自己连接着的打印机了,
然后选“Add This Printer”,
勾选“Share This Printer”前面的勾,再点击“Continue”进入下一步,
看到“Make”项里面有个“Raw”,选中后先点“Continue”,最后再点“Add Printer”进入下一步,
接着保持默认点击“Set Default Options”,打印机就添加完成了。
5、查看共享的打印机地址
此时在http://192.168.1.1:631的“Printers”页面可以看到自己添加的打印机了,点击自己的打印机,可以在地址栏看到当前打印机的网络地址比如http://192.168.1.3:631/printers/Canon_MX330_series,复制这个地址。
6、在电脑上添加打印机
在控制面板的打印机里面,添加打印机,选择“添加网络打印机”,点“我需要的打印机不在列表中”,再选“按名称选择共享打印机”,输入刚才复制的地址http://192.168.1.3:631/printers/Canon_MX330_series,下一步就是添加自己打印机的驱动,这里不多说明了。
7、增加打印机可用的临时存储空间
默认情况下,OpenWRT的CUPS使用/tmp/cups用于存储临时和脱机文件。/tmp目录是OpenWRT使用空闲内存作为存储的一个文件系统。许多安装OpenWRT的路由器只有16MB的内存,剩下的可用空间非常的少。
根据您的打印作业可能需要相当多的剩余空间用于这种共享打印,有时候甚至只是一个简单的页面就需要8M,多页文档甚至可以很容易地增加到60~80M的空间。这种情况下,肯定是无法打印的!如果你使用默认配置,你将只能打印很小量的文字内容。(所需空间量会根据您的打印机,分辨率,渲染引擎,打印的材料类型等而有所不同)
如果你已经挂载好U盘,可以将目录挂载给CUPS使用:(目录内容因人而已,请自行修改)
mkdir /mnt/sda1
同时设置drwxrwx-T的权限:
chmod 1770 /mnt/sda1
然后修改/etc/cups/cupsd.conf中的RequestRoot和TEMPDIR设置:
RequestRoot /mnt/sda1
TempDir /mnt/sda1
2016.10.16更新:
最近重刷了路由器固件OpenWrt Designated Driver r49395内核4.1.23,同时安装了CUPS2.1.0版本,发现CUPS的缓存文件设置无效,经过多次试验和查找,最后找到设置的地方在/etc/cups/cups-files.conf和cups-files.conf.default中,如果你的CUPS程序是安装在U盘中,目录可能有所变动,可以此类推找到该文件;在cups-files.conf和cups-files.conf.default中找到RequestRoot和TempDir这两个项,去掉前面的#号使其生效,后面可自定义目录到U盘中,解决CUPS由于内存不足而无法打印多张图片或者无法连续打多页的问题。
现在,如果你已经正确设置了一切,就重启cupsd服务器,
接下来就可以正常使用打印机了。
文章评论
进来转转,博主新年快乐。
DD或者CC的CUPS源去哪里找,找到的都是源码,自己不会编译啊