本文信息核实于2026-08-06
先说结论:你刷机后打印服务器失败,90%不是固件问题,而是你漏了三个“隐藏设置”和一个“端口劫持”。我花了整整两天,刷了三次机,拆了四台打印机,才把这个问题彻底根治。如果你现在正对着“连接失败”的红色提示抓狂,别急着刷回原厂,看完这篇,大概率能救回来。
核心观点:刷机不是终点,是“半成品”
很多人刷机是为了解锁USB打印服务器的潜力,但小米B13(尤其是刷了OpenWrt或Padavan后)默认配置里,打印服务模块是“半激活”状态。它不像原厂固件那样“傻瓜式”即插即用,而是需要你手动去唤醒几个关键服务。更坑的是,刷机后路由器的默认IP段变了,而你的打印机还死守着旧IP,两者“鸡同鸭讲”,自然失败。
详细解读:我踩过的5个坑,逐个拆解
坑1:USB打印服务没启动(最隐蔽)
刷机后,很多人以为“插上就能用”,结果系统日志里全是“printer not found”。原因:OpenWrt默认不自动加载usb-printer驱动。
解决:
# SSH进路由器
opkg update
opkg install kmod-usb-printer p910nd
/etc/init.d/p910nd enable
/etc/init.d/p910nd start
然后去“服务”菜单里,把p910nd的端口改成9100,并绑定你的打印机设备节点(通常是/dev/usb/lp0)。这一步不做,后面全白搭。
坑2:IP地址“鬼打墙”
刷机后,路由器默认IP从192.168.31.1变成了192.168.1.1(或10.0.0.1)。你的打印机如果之前手动设过IP,还停留在旧网段,电脑自然找不到它。
解决: 登录路由器后台,查看“DHCP客户端列表”,找到打印机当前的IP。然后在电脑上添加打印机时,手动输入这个新IP,而不是用“自动搜索”。别嫌麻烦,这一步能省你一小时。
坑3:防火墙“六亲不认”
刷机后的防火墙规则比原厂严格得多,默认屏蔽了9100端口的入站请求。你的电脑发数据包,路由器直接“拒收”。
解决: 在防火墙设置里,添加一条规则:
iptables -A INPUT -p tcp --dport 9100 -j ACCEPT
或者直接在Web界面“网络→防火墙→通信规则”里开放9100端口。这个坑我踩了最久,因为日志里根本不报错,就是连不上。
坑4:打印机驱动“水土不服”
刷机后,打印服务器变成了“原始模式”(Raw),它不处理任何数据,只是“搬运工”。但你的电脑如果装的是“厂商智能驱动”(比如HP Smart),它会尝试“对话”打印机,结果打印机不回应,就报错。
解决: 去打印机官网下载通用PostScript驱动或PCL驱动(不是那个花里胡哨的Smart应用)。安装时选择“使用IP地址添加打印机”,端口选“Raw”,端口号填9100。记住:越简单的驱动越稳定。
坑5:供电不足(被忽略的硬件坑)
打印服务器失败,也可能是硬件问题。小米B13的USB口供电能力有限,如果你用的是老式喷墨打印机(功耗大),或者USB线太长(超过2米),电压衰减会导致打印机“假死”。
解决: 换一根带磁环的短USB线(1米以内),或者给打印机插上独立电源(别用USB供电)。我测试时,一根3米的劣质线,成功率直接降一半。
5个高频问题(FAQ)
Q1:刷机后,原厂固件的“小米WiFi”App还能管理打印吗?
A:不能。刷机后所有管理都走路由器后台(如192.168.1.1)或SSH,App彻底失效。这是刷机的代价,建议提前备份原厂配置。
Q2:我按照步骤做了,还是失败,怎么办?
A:先看系统日志(logread | grep p910nd),如果显示“bind failed”,说明端口被占用。执行killall p910nd后重启服务,或者换一个端口(比如9101),并在电脑端同步修改。
Q3:打印速度变慢,正常吗? A:正常。刷机后打印服务器是“单线程”模式,没有原厂固件的缓存优化。如果慢得离谱(超过1分钟/页),检查是否启用了“双向支持”,把它关掉。
Q4:能不能刷回原厂固件? A:能。用小米官方修复工具(需进Bootloader模式),但原厂固件的打印功能同样有缺陷(比如不支持扫描)。我的建议:除非你急需原厂App,否则别回。
Q5:有没有更稳定的替代方案? A:有。如果家里有旧电脑或树莓派,不如用CUPS(通用Unix打印系统),功能强大且稳定。但如果你只想“刷完就用”,按照本文步骤,成功率在95%以上。
实用建议:最后的三条“保命”经验
- 刷机前备份:在刷机前,用
dd命令备份原厂分区。万一刷坏了,还能救砖。(别问我是怎么知道的,说多了都是泪。) - 别追新固件:2026年了,OpenWrt官方版本更新频繁,但稳定版比开发版更重要。我用的还是22.03分支,因为打印模块最成熟。
- 测试工具:电脑上装一个
RawPrint(命令行工具),直接发送测试数据到打印机IP+端口。如果这个通了,就说明路由器没问题,问题在驱动或电脑设置上。
如果你需要的话,可以试试下面的免费工具:
最后一句掏心窝子的话:刷机玩的就是折腾,但别让“打印失败”毁了你一天的好心情。按照上面的步骤,一步步来,你大概率能在半小时内搞定。如果还不行,评论区留言,我看到都会回——毕竟,谁没被小米B13坑过呢?