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

最后打印测试页试试

参考

OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印的更多相关文章

  1. 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录

    小米 R3G 参数 Architecture: MIPS Vendor: Mediatek Bootloader: U-Boot System-On-Chip: MT7621 family CPU/S ...

  2. 小米路由器刷Xiaomi Mi WiFi Mini openwrt

    Current Stable Release - OpenWrt 18.06.1,released on August, 18th 2018. there is also PandoraBox fir ...

  3. 小米路由器4a千兆版刷openwrt

    现在网上搜小米路由器4a千兆版刷机的都是刷的padavan的,很少能找到openwrt的刷机教程. 首先刷openwrt系统的时候要先刷入引导程序breed,网上有一篇帖子写的很详细(https:// ...

  4. 使用 OpenWrt Image Generator 为 WR703N 路由器定制固件

    标题:使用 OpenWrt Image Generator 为 WR703N 路由器定制固件 之前试着自己编译固件,编译是成功了,但是在后期安装官方仓库的ipk时出现问题,因为自己编译的固件和官方固件 ...

  5. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】

    还有不到4个月就要毕业了,前几天半夜没事捣鼓小米路由没想到竟然实现了wifi的ipv6. 正好又安利了同学一台小米路由mini,从刷机到inode到ipv6全搞了一遍. 这里将教程写出来,服务学弟妹. ...

  6. Cisco SG300系列交换机划分VLan与普通路由器连接配置

    思科SG300系列三层交换机是针对中小企业设计的一款产品,Marvell 主控和128M Ram,最大支持52个千兆RJ45端口和2个SFP端口,因公司业务需求,最近也进行了解和配置,具体型号为 SG ...

  7. 小米路由器mini如何设置外网访问wan网站的方法

    很多的玩友都在小米路由器mini上面搭建了自己的网站,有些朋友还需要设置对外网进行开放,我自己也在路由器上面实践了使用,下面与大家分享一下如何设置外网访问路由器网站的办法. 工具/原料 小米路由器mi ...

  8. 小米路由器mini搭建个人静态网站的方法

    小米路由和小米路由mini从本质上来说差距就在1T的硬盘上,其它并没有明显差别,但是功能却差很多,例如:小米路由有自带的LAMP模式,而小米路由mini则没有,换句话说,其实这个功能是被阉割了,仔细研 ...

  9. 【玩转开源】BananaPi R2 —— 第三篇 基于Openwrt开发一个简单的路由器

    上一篇讲解了R2的网口配置,这一篇我们以BananaPi R2为例子来实现一个简单的路由器:那么一个简单的路由器应该具备什么样的功能呢?最简单的说就是wan+lan+ap这三个功能. 首先wan+la ...

随机推荐

  1. 用 JWT 实现小程序本地用户标识

    panda-chat-room 继上节「理解小程序 session」 ,本节我们以 jsonwebtoken 来实现小程序端的用户状态标识.如果你对小程序用户登录流程及 session 管理还有些疑惑 ...

  2. TextView显示html样式的文字

    项目需求: TextView显示一段文字,格式为:白雪公主(姓名,字数不确定)向您发来了2(消息个数,不确定)条消息 这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色. 一开始我 ...

  3. 记一次使用git报错,解决Unable to negotiate with **** port 22: no matching host key type found. Their offer: ssh-rsa

    windows电脑重装系统,去官网下载了最新的git安装,一路next下来,打开bash按老路子设置,生成公钥 git config --global user.name "yourname ...

  4. 解决“WARNINGThe remote SSH server rejected X11 forwarding request.“警告

    使用xshell连接服务器时,出现了"WARNING! The remote SSH server rejected X11 forwarding request.",意思是&qu ...

  5. Mybatis-sql语句的抽取

    1.抽取之前的UserMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  6. Ubu18安装RabbitMQ

    RabbitMQ安装 https://www.jianshu.com/p/5c8c4495827f 安装 RabbitMQ基于erlang语言,需要先安装 sudo apt-get install e ...

  7. 界面优化--如何提升用户体验(Velocity.js和GSAP)

    Velocity.js和GSAP 我们需要提升代码质量来留住用户.作为用户界面的建设者,我们的工作是迅速引导和引导用户的注意力,指导他们如何有效地使用我们的应用程序. 1. 如何提升代码质量 定向聚焦 ...

  8. .NET MAUI RC 是完整的 API 并准备好起飞 (GA)

    2022年4月12日 微软发布了 .NET Multiplatform App UI (.NET MAUI) 作为候选版本RC ,具体参见 https://devblogs.microsoft.com ...

  9. JQuery学习高级

    ## 今日内容:     1. JQuery 高级         1. 动画         2. 遍历         3. 事件绑定         4. 案例         5. 插件 ## ...

  10. Jenkins+Allure测试报告+飞书机器人发送通知

    一.前言 之前讲了jenkins如何设置定时任务执行脚本,结合实际情况,本篇讲述在jenkins构建成功后,如何生成测试报告,以及推送飞书(因为我公司用的是飞书,所以是发送到飞书机器人). 本次实践搞 ...