­

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
    • 下一步
  • 大概率是認不出驅動的, 這裡手動選擇驅動安裝就可以了

最後打印測試頁試試

參考