普通网友 2025-10-18 00:05 采纳率: 98.4%
浏览 21
已采纳

TP-LINK TL-WR710N刷OpenWRT后如何配置打印服务?

刷入OpenWRT后的TP-LINK TL-WR710N如何配置USB打印服务?设备已成功识别打印机(通过lsusb可查看),也安装了`kmod-usb-printer`、`cupsys`或`p910nd`等相关软件包,但在局域网内其他电脑无法发现打印机或打印任务卡住无响应。常见问题包括:打印服务未启用或端口未正确监听、防火墙规则阻止了打印端口(如9100)、缺少必要的打印驱动支持,或因TL-WR710N内存较小导致服务运行异常。如何正确配置P9100打印服务器或CUPS,并确保网络权限与服务正常启动?
  • 写回答

1条回答 默认 最新

  • 火星没有北极熊 2025-10-18 00:07
    关注

    刷入OpenWRT后的TP-LINK TL-WR710N配置USB打印服务的完整指南

    1. 硬件与系统环境确认

    TP-LINK TL-WR710N是一款基于AR9331芯片的便携式路由器,刷入OpenWRT后可扩展其功能。该设备配备16MB闪存和64MB内存,在运行CUPS等资源密集型服务时存在性能瓶颈。因此,选择轻量级打印协议如P910nd是更优解。

    确保以下基础条件满足:

    • 已成功刷入稳定版OpenWRT(建议19.07或21.02)
    • USB接口供电正常,打印机被正确识别(lsusb输出包含设备信息)
    • 已安装核心驱动模块:kmod-usb-printer
    • /dev/usb/lp0 设备节点存在

    2. 打印服务选型对比分析

    服务类型内存占用配置复杂度兼容性推荐场景
    P910nd<5MB通用(RAW打印)TL-WR710N等低资源设备
    CUPSD15~30MB需额外驱动支持高性能OpenWRT设备

    3. 安装并配置P910nd打印服务器

    在终端执行以下命令:

    opkg update
    opkg install p910nd
    

    编辑配置文件 /etc/config/p910nd

    config p910nd
        option device /dev/usb/lp0
        option port 0
        option bidirectional 1
        option enabled 1
    

    其中,port=0 对应监听 9100 端口,适用于大多数客户端连接。

    4. 启动服务并验证运行状态

    启动并设置开机自启:

    /etc/init.d/p910nd start
    /etc/init.d/p910nd enable
    

    检查服务是否监听端口:

    netstat -tuln | grep 9100
    # 正常输出:tcp    0    0 0.0.0.0:9100    0.0.0.0:*    LISTEN

    5. 防火墙规则配置

    OpenWRT默认防火墙可能阻止9100端口访问。修改 /etc/config/firewall,添加如下规则:

    config rule
        option name 'Allow-P9100'
        option proto 'tcp'
        option dest_port '9100'
        option target 'ACCEPT'
        option src 'lan'
    

    重启防火墙使配置生效:

    /etc/init.d/firewall restart

    6. 客户端连接方式配置

    Windows系统中添加本地TCP/IP端口:

    1. 打开“设备和打印机” → “添加打印机”
    2. 选择“本地打印机”,创建新端口(类型:Standard TCP/IP Port)
    3. 输入路由器IP(如192.168.1.1),端口9100
    4. 选择通用驱动(Generic / Text Only)
    5. 完成安装后测试打印

    7. 常见问题排查流程图

    graph TD A[打印机未响应] --> B{lsusb能否识别?} B -- 否 --> C[检查USB供电或更换线缆] B -- 是 --> D{/dev/usb/lp0是否存在?} D -- 否 --> E[重新加载kmod-usb-printer] D -- 是 --> F{p910nd是否运行?} F -- 否 --> G[启动服务并检查日志] F -- 是 --> H{防火墙是否放行9100?} H -- 否 --> I[添加防火墙规则] H -- 是 --> J[客户端使用正确IP:9100?] J -- 否 --> K[修正IP或端口] J -- 是 --> L[打印测试页]

    8. 日志监控与调试技巧

    实时查看系统日志以定位异常:

    logread -f | grep -i "usb\|print"

    关键日志特征:

    • usblp0: USB Bidirectional printer dev —— 表示驱动加载成功
    • p910nd[1234]: bound to 0.0.0.0:9100 —— 服务已监听
    • Connection from 192.168.1.100 —— 客户端尝试连接

    9. 内存优化建议

    针对TL-WR710N内存有限的问题,采取以下措施:

    • 避免安装CUPS及其依赖(cupsys会显著增加内存压力)
    • 关闭不必要的服务(如miniupnpd、adblock)
    • 使用free -m监控可用内存,确保空闲>10MB
    • 考虑启用ZRAM或swap分区(需外接U盘)

    10. 替代方案:远程CUPS代理模式

    若打印需求复杂(如PDF处理、多格式支持),可在局域网内另设一台树莓派或NAS运行CUPS,并将TP-Link作为USB打印转发器:

    # 在CUPS服务器上添加网络打印机
    DeviceURI socket://192.168.1.1:9100
    

    此架构下,OpenWRT仅承担原始数据转发,降低本地负载。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 10月18日