把TP-Link 3G路由器改成打印服务器,核心思路是用它的USB口接打印机,通过OpenWrt固件实现网络共享打印。这个方法能让老旧的3G路由重新上岗,省下买专用打印服务器的钱。
改前必读:TP 3G路由当打印服务器的可行性
很多人家里的TP-Link 3G路由器(比如TL-MR3220、TL-MR3420这些经典型号)都带一个USB接口,这个接口原本是插3G上网卡用的,但它同时也能识别USB打印机,行业共识认为,只要硬件架构是Atheros芯片组的机型,刷入OpenWrt系统后,USB口就能被重新定义为打印共享端口。
改之前先确认三件事:
- 路由器型号是否在OpenWrt官方支持列表里
- 打印机是否支持PCL或PostScript语言(大部分HP、Canon喷墨机没问题)
- 电脑系统是Windows还是macOS,后续配置命令略有差异
刷入OpenWrt固件的具体操作步骤
第一步:备份原厂固件
在刷机前,登录路由器管理界面(一般是192.168.1.1),找到系统备份功能,把当前配置导出保存,万一刷失败了还能恢复。
第二步:下载匹配的OpenWrt固件
去OpenWrt官网的Table of Hardware页面,搜索你的路由器型号,下载对应版本的factory.bin文件,注意区分刷机固件和升级固件,第一次刷机必须用factory版本,直接在原厂Web界面升级即可。
第三步:执行刷写
操作路径:进入原厂管理界面 → 系统工具 → 固件升级 → 选择下载好的bin文件 → 确认升级
整个刷写过程大概3-5分钟,路由指示灯会频繁闪烁,这时候千万别断电,等指示灯恢复稳定,说明刷写完成。
配置打印共享功能的详细流程
刷好OpenWrt后,需要把USB打印机挂载到系统里,再启用p910nd打印服务。
安装USB存储和打印内核模块
用SSH连接路由器(IP地址是192.168.1.1,用户名root),依次执行:
opkg update opkg install kmod-usb-printer opkg install p910nd opkg install luci-app-p910nd
设置打印机自动挂载
在OpenWrt管理界面里,找到系统 → 启动项,把p910nd设为开机自启,然后进入服务 → p910nd,配置:
- 绑定端口:9100(通用打印端口)
- 设备节点:/dev/usb/lp0
- 双向通信:打开
保存后,插入USB打印机,执行ls /dev/usb/确认设备识别成功了。
Windows电脑添加网络打印机
操作路径:控制面板 → 设备和打印机 → 添加打印机 → 选择”使用TCP/IP地址或主机名” → 输入路由器IP(192.168.1.1) → 端口填9100 → 安装打印机驱动
这样电脑就把打印任务直接扔给路由器,由路由器转发给USB打印机。
打印速度和兼容性实测表现
把3G路由改成打印服务器后,实际输出速度取决于打印机接口类型和文件大小。
- 黑白文档:10页以内等待时间约5-8秒,和直连USB差距不大
- 高分辨率图片:传输时间会明显拉长,但能接受
- 多台电脑同时发送任务:p910nd会排队处理,不会乱码
改完打印服务器后能否保留3G上网功能
这个问题不少人都关心改设置后3G上网功能是不是就废了?
答案是可以共存,OpenWrt系统里,USB口既能识别打印机,也能识别3G上网卡,两者靠设备节点区分,用以下方法实现:
同时挂载打印机和3G卡
在网络 → 接口里,把3G上网卡的接口保留为wwan0,打印机走/dev/usb/lp0的通道,两条模块互不干扰,但需要注意,部分老型号路由器USB口供电有限,如果打印机和3G卡同时插,可能会供电不足,解决办法是给路由器USB口加一个带供电的HUB。
常见故障排查和修复方法
打印机无法被识别
插上打印机后,执行dmesg | grep usb,如果没有任何信息,检查打印机供电是否正常,如果显示USB设备已经枚举但没有lp0节点,执行:
mknod /dev/usb/lp0 c 180 0
电脑能找到打印服务器但打印没反应
这是端口对接问题造成的,确认电脑添加打印机时选的端口是9100,同时看OpenWrt界面里p910nd是不是正在监听状态。
打印速度特别慢,大文件卡死
试着在p910nd配置里开启双向支持,然后关掉Windows驱动里的双向通信选项,某些兼容驱动会不停握手询问状态,导致传输效率下降,改成原始打印模式能明显缓解。
打印机在路由器重启后失效
手动执行/etc/init.d/p910nd enable,再确认/dev/usb/lp0是不是每次开机后自动生成,如果不行,需要安装hotplug脚本:
opkg install hotplug2
然后到/etc/hotplug.d/usb/里建一个脚本,让插入打印机时自动触发p910nd启动,所以改造成打印服务器后,稳定性要比原厂固件好不少,因为OpenWrt不会像官方固件那样动不动自动重启。
改造打印服务器对路由器性能的影响
不少人担心老路由配置低跑不动打印服务,以TP-Link MR3220为例,CPU是Atheros AR7240(400MHz),内存64MB,实际使用时,打印任务占用CPU负载还不到10%,毕竟打印传输是单向流水线,不涉及复杂的路由器运算。
不过要注意,如果同一台路由同时开无线AP、3G上网、打印共享三个功能,内存占用会接近90%,适当精简插件(关掉IPv6、去掉QoS)能腾出不少空间,会玩的话可以给路由加一个swap分区,用U盘扩展虚拟内存。
改造后适合哪些使用场景
- 家里有多台电脑,没有网络打印机
- 办公室想共享打印机但不想买Windows打印服务器
- 手头正好有闲置TP-Link 3G路由,花小钱办大事
- 刷坏了也不心疼,设备成本几乎为零
从经济学角度讲,网上买个正经打印服务器要150-300元,而利用现成路由加一根USB线就解决问题,属于最划算的方案。
原厂3G路由还能怎么复用
既然已经刷了OpenWrt,除了当打印服务器,还可以:搭建离线下载机、做网络存储(插U盘)、当无线中继器、跑简易Web服务器,一套固件全家桶,把老设备的剩余价值榨干,比吃灰强太多。
用3G路由改造打印服务器,本质上是把专用设备变成开放平台,这是折腾的乐趣,也是省钱的路子,操作门槛不高,跟着这篇步骤走,成功率相当可观,全程动手加起来大概一两个小时,换来一个稳定便宜的打印共享方案。
TP 3G上网改打印服务器相关问题解答
问:TP-Link 3G路由刷机后还能连联通3G上网卡吗?
可以,OpenWrt内置的wwan接口支持华为E1750等主流3G上网卡,打印服务器和3G上网同时启用占用系统资源较多,建议在OpenWrt系统 → 启动项里把不用的服务关掉。
问:改打印服务器后打印质量会和USB直连有差别吗?
不会有差别,打印服务器只是把数据通过TCP/IP传输到路由器USB口,再由内核原样本转发给打印机,驱动设置不变,分辨率、色彩模式都保持原样,唯一区别是传输链路变成了网络传输 + USB传输的混合模式,信号衰变可以忽略不计。
问:刷OpenWrt改打印服务器对路由器型号有什么硬性条件?
必须满足三个关键条件:CPU架构为Atheros或Ralink且官方发布过OpenWrt适配镜像,内存至少32MB,带USB 2.0标准接口,低于16MB内存的机器跑不动p910nd服务,硬刷上去也会频繁死机,不建议折腾。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/701563.html





