家里的施乐 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
    • 下一步
  • 大概率是认不出驱动的, 这里手动选择驱动安装就可以了

最后打印测试页试试

参考

最新文章

  1. PyCharm 教程(五)断点 调试
  2. NGUI研究院之在Unity中使用贝塞尔曲线(六)[转]
  3. execute连接 类型
  4. mysql中的group_concat函数的用法
  5. 谈B2B电商平台与大数据
  6. [Swust OJ 582]--放学了,抢机子了(SPFA)
  7. 详解iOS7升级细节:引领视觉革命
  8. 做外贸,独立B2C商城好,还是平台好
  9. linux ssh连接不自动断开
  10. hdu 3478 Catch--二分图判断
  11. 需求规格说明书(SRS)特点
  12. [SCOI2016]萌萌哒
  13. linux 笔记 第一天
  14. 2018 CCPC网络赛 hdu6444 Neko's loop
  15. laravel5.6上传图片
  16. Ubuntu16---安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码
  17. Tomcat数据源的原理,配置及使用(JNDI)
  18. 一、程序设计与C语言
  19. 44.JS--hover事件防重复效果
  20. 跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)

热门文章

  1. H5页面实现下载文件(apk、txt等)的三种方式
  2. Codepen 每日精选(2018-4-4)
  3. c++实现职责链模式--财务审批
  4. Spring Security的使用
  5. Java中if else条件判断语句的执行顺序
  6. 使用js实现复选框的全选、取消功能
  7. 麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12
  8. linux升级Nginx1.6到Nginx1.12.2
  9. HTML/CSS+JS制作一个高考倒计时页面
  10. vue预渲染及其cdn配置