• OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印


    家里的施乐 CP116w 工作快五年了终于罢工了. 黑粉报错, 自己也不会拆, 只能搁置了. 后来换了个 HP CP1025. 这个打印机也不错, 墨盒便宜没什么废粉, 就是启动慢一点, 而且 -- 没有网络, 打印不太方便.

    今天用一个刷好OpenWrt 20.02.2 的小米路由器3G, 配置了网络打印, 记录一下过程.

    硬件准备

    • 小米路由器3G (或者其它带USB口的, 能运行OpenWrt的路由器), 如何刷机可以参考前面的笔记
    • 打印机 CP1025

    安装软件

    SSH登录到小米路由器3G上,

    opkg update
    opkg install kmod-usb-printer
    opkg install p910nd luci-app-p910nd
    

    重启路由器, 登录到Luci界面下, 可以看到增加了一个 Services -> p910nd - Printer server 菜单

    连接打印机

    连接打印机到路由器的USB口, 如果正常识别的话, 执行dmesg命令应该会显示如下的信息

    Wed May 25 20:12:27 2022 kern.info kernel: [ 2405.266691] usb 1-1: new high-speed USB device number 4 using xhci-mtk
    Wed May 25 20:12:46 2022 kern.info kernel: [ 2424.223008] usb 1-1: USB disconnect, device number 4
    Wed May 25 20:13:12 2022 kern.info kernel: [ 2450.738376] usb 1-1: new high-speed USB device number 5 using xhci-mtk
    Wed May 25 20:13:18 2022 kern.err kernel: [ 2456.430394] usb 1-1: device descriptor read/64, error -145
    Wed May 25 20:14:18 2022 kern.info kernel: [ 2516.767524] usb 1-1: USB disconnect, device number 5
    Wed May 25 20:14:20 2022 kern.info kernel: [ 2518.153931] usb 1-1: new high-speed USB device number 6 using xhci-mtk
    Wed May 25 20:14:20 2022 kern.info kernel: [ 2518.310862] usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x03F0 pid 0x112A
    Wed May 25 20:15:18 2022 user.info : luci: accepted login on /admin/services/p910nd for root from 192.168.15.142
    Wed May 25 20:16:15 2022 daemon.notice hostapd: wlan1: STA-OPMODE-SMPS-MODE-CHANGED d4:d2:52:ad:16:aa off
    

    并且在 /dev 目录下出现 usb/lp0 设备

    遇到的问题

    运行中的打印机, 如果直接连接可能无法识别, /dev下不会显示新设备, 通过dmesg看, 能看到有usb设备连接, 但是没有usblp0: USB Bidirectional printer这样的信息. 出现这种情况原因可能是打印机还保持在原来的运行状态, 或者被识别成了其它设备(例如CD光驱).

    解决办法: 断电重启打印机, 或者长按开关键彻底重启打印机

    启动打印服务

    在 Services -> p910nd - Printer server 下,

    • 勾选 enable
    • Device: /dev/usb/lp0 使用默认就行, 在ssh下ls /dev/usb确认一下设备存在, 如果不存在这里设置是没用的
    • Interface: unspecified
    • Port: 9100
    • Bidirectional mode 勾选 -- 注意这里要看打印机的型号, 有些型号网上说不能勾选, 否则会无限打印. 我用的 CP1025 可以勾选

    然后保存应用就可以了

    开启防火墙

    如果你的电脑是直接连到这个路由器上, 可以省掉这步. 如果这个路由器和你的电脑都一起接在上一级路由器上, 则往下设置

    设置静态IP

    在 Network -> Interface -> WAN 点 Edit

    • 切换协议为 Static address, 点击切换
    • IPv4 address: 自行指定
    • IPv4 netmask: 255.255.255.0
    • IPv4 gateway: 上一级路由器的IP
    • 在 Advanced Settings 下设置 Use custom DNS servers, 添加上一级路由器的IP作为DNS

    保存应用, 连上这个路由器检查一下访问外网是否正常

    打开WAN的9100端口

    在 Network -> Firewall -> Traffic Rules, 点击 Add 添加

    • Name: Allow-9100
    • Protocol: TCP
    • Source Zone: wan/wan6
    • Source address: 空
    • Source port: any
    • Destination zone: Device (input)
    • Destination address: 空
    • Destination port: 9100
    • Save 保存

    保存&应用

    从 Win10 连接

    先安装好打印机驱动, 最后设置打印机这步可以跳过

    设置 -> 打印机和扫描仪

    • 点击 添加打印机或扫描仪
    • 点击 我的打印机不在列表中
    • 选择 通过TCP/IP 地址或主机名, 下一步
      • Device Type 设备类型: TCP/IP 设备
      • Hostname or IP address: 如果你是直接连在连接打印机的路由器上, 就填路由器IP, 如果你是连在上级路由器上, 就填上一步设置的路由器WAN IP
      • 勾选 Query the printer and automatically ... to use
      • 下一步
    • 大概率是认不出驱动的, 这里手动选择驱动安装就可以了

    最后打印测试页试试

    参考

  • 相关阅读:
    WebGL层次模型——单节点模型
    无人机+自组网:2U机架车载式自组网电台技术详解
    计组作业&笔记【 总线 】
    Python基础操作练习
    Loj#3320-「CCO 2020」旅行商问题
    论文阅读[51]通过深度学习快速识别荧光组分
    尝试阅读理解一份linux shell脚本
    ISIS的基本概念
    word办公小技巧:方框打勾、上下标、横隔线、排序
    【网络协议详解】——DHCP系统协议(学习笔记)
  • 原文地址:https://www.cnblogs.com/milton/p/16311201.html