OpenWrt 20.02.2 小米路由器3G設定CP1025網路列印

2022-05-26 06:01:20

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

最後列印測試頁試試

參考