移动神器RAX3000M路由器变身家庭云之八:解锁无线打印,低成本打造全屋打印中心
1. 为什么需要无线打印解决方案家里那台老打印机是不是经常让你头疼明明打印效果还不错但每次都要用USB线连接电脑才能打印手机里的文件想打印更是麻烦。我家里就有一台Brother DCP-7055用了十多年依然坚挺但每次打印都要先传到电脑上特别不方便。RAX3000M路由器自带的USB接口这时候就派上大用场了。通过简单的设置我们可以把它变成一个打印服务器让家里所有设备都能无线打印。实测下来这个方案特别适合以下几种情况家里有多台设备需要共享一台打印机老式打印机不支持无线功能想省下买新打印机的钱需要在手机上直接打印文件最棒的是整个过程几乎零成本只需要一根USB线就能搞定。我试过市面上好几款路由器RAX3000M的稳定性是最好的连续打印几十页都不会断连。2. 准备工作与环境搭建2.1 硬件准备清单在开始之前你需要准备好这些东西RAX3000M路由器已开通SSH权限USB打印机我的是Brother DCP-7055打印机USB连接线一台可以SSH连接路由器的电脑这里有个小技巧建议使用打印机原装的USB线。我试过用手机充电线连接结果经常识别不到打印机。另外路由器的USB接口最好是2.0以上的打印速度会快很多。2.2 软件环境配置首先通过SSH登录路由器。如果你还没开通SSH可以参考这个系列的第一篇文章。登录后依次执行以下命令opkg update opkg install p910nd kmod-usb-printer luci-app-p910nd这几个包的作用分别是p910nd打印服务器核心程序kmod-usb-printerUSB打印机驱动支持luci-app-p910nd图形化管理界面可选安装过程中可能会遇到依赖问题。我踩过的坑是有时候opkg update会失败这时候可以多试几次或者换个时间再更新。3. 打印机连接与配置3.1 物理连接与设备识别用USB线把打印机连接到路由器的USB接口。等个30秒左右执行以下命令检查是否识别成功ls /dev/usb如果看到类似lp0这样的设备说明识别成功了。我遇到过打印机没反应的情况解决方法很简单先把打印机电源关掉等10秒再开一般就能识别了。3.2 p910nd服务配置接下来配置p910nd服务。可以直接编辑配置文件vi /etc/config/p910nd修改为以下内容config p910nd option device /dev/usb/lp0 option port 9100 option bidirectional 1 option enabled 1这里有几个关键点要注意device参数必须和ls /dev/usb查到的设备名一致port默认是9100但如果冲突可以改成其他值bidirectional设为1支持双向通信比如获取墨水余量保存后启动服务/etc/init.d/p910nd enable /etc/init.d/p910nd start4. 电脑端打印机添加4.1 Windows系统设置在Windows电脑上添加打印机打开控制面板 → 设备和打印机点击添加打印机选择我需要的打印机不在列表中选择通过TCP/IP添加输入路由器IP如192.168.1.1和端口9100这时候系统会尝试连接打印机。如果卡在正在查找驱动程序可以直接跳过手动选择驱动。我建议提前下载好打印机驱动选择从磁盘安装最稳妥。4.2 驱动兼容性解决方案老打印机经常找不到对应驱动。我的经验是同系列不同型号的驱动通常可以通用如果实在找不到试试Windows自带的通用驱动Brother打印机可以试试DCP-1200的驱动有个小技巧先在USB直连模式下安装好驱动然后再添加网络打印机这样系统会自动识别驱动。5. 手机无线打印实战5.1 PrintHand应用配置手机打印推荐使用PrintHand虽然收费但确实好用。设置步骤打开应用 → 管理打印机选择附近的WiFi打印机手动设置IP地址路由器IP端口9100协议Raw第一次使用需要选择驱动。和电脑端一样可以尝试同系列其他型号的驱动。我测试过打印PDF、Word文档甚至网页效果都很稳定。5.2 安卓/iOS替代方案如果不想用PrintHand还有其他选择安卓PrinterShare免费版有广告iOSAirPrint但需要打印机支持跨平台通过电脑共享打印机实测下来PrintHand的兼容性最好特别是对老打印机的支持。打印照片时建议选择高质量模式效果会好很多。6. 常见问题排查6.1 打印机无法识别如果ls /dev/usb看不到打印机设备检查USB线是否插紧重启打印机和路由器执行dmesg命令查看内核日志尝试换个USB口如果有多个我遇到过最奇葩的问题是打印机电源不足后来换了个带供电的USB hub就解决了。6.2 打印服务异常p910nd服务经常遇到的问题端口冲突netstat -an查看9100端口是否被占用权限问题chmod 777 /dev/usb/lp0临时解决方案服务崩溃/etc/init.d/p910nd restart建议把p910nd的日志级别调高方便排查问题。在/etc/config/p910nd中添加option debug 17. 高级优化技巧7.1 打印队列管理安装cups可以更好地管理打印队列opkg install cups但会占用更多资源适合需要高级功能的用户。我平时打印量不大p910nd完全够用。7.2 外网打印设置如果想在外网打印比如公司打印家里的文件需要做好端口转发9100端口建议使用VPN连接更安全设置打印用户权限不过这个方案安全性较低我建议还是在内网使用。如果需要远程打印可以考虑其他方案比如通过电脑中转。经过这样一番改造那台老打印机终于重获新生。现在家里不管是电脑、手机还是平板想打印随时都能打再也不用折腾数据线了。最关键的是整个过程几乎没花钱就利用了路由器的闲置功能。如果你也有类似需求不妨试试这个方案遇到问题欢迎交流讨论。