家里的施乐 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. Hive启动后show tables报错:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    错误详情: FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive ...

  2. CCF201812-1小明上学

    题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间.他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿 ...

  3. android的布局xml文件如何添加注释?

    xml布局文件如图添加注释后报错,错误内容如下: 上网查阅xml添加注释的语法规则: XML 中的注释 在 XML 中编写注释的语法与 HTML 的语法很相似: <!--This is a co ...

  4. css3,css的基础全局运用

    浮动 1.浮动起来的盒子不占用位置,浮动了一个盒子下面的标准流的盒子会顶上来 ​ 可用清除浮动的方法来解决标准流会顶替位置的问题 清除浮动给父盒子加overflow: hidden; 鼠标经过事件 : ...

  5. DOCTYPE(⽂档类型) 的作⽤

    DOCTYPE是HTML5中一种标准通用标记语言的文档类型声明,它的目的是告诉浏览器(解析器)应该以什么样(html或xhtml)的文档类型定义来解析文档,不同的渲染模式会影响浏览器对 CSS 代码甚 ...

  6. Struct2中三种获取表单数据的方式

    1.使用ActionContext类 //1获取ActionContext对象 ActionContext context = ActionContext.getContext(); //2.调用方法 ...

  7. windows上用命令行我们查看机器cpu信息(使用计算器-程序员模式-四字时,查看系统类型)

    查看系统是64位还是32位 C:\Users\qingshuic>wmic os get osarchitecture OSArchitecture 64-bitC:\Users\qingshu ...

  8. FinClip 黑客马拉松正式开赛,码力集结,等你来战!

    从2017到2022,小程序已经走过了5年的光景.从无人问津到互联网巨头纷纷入局,短短数年间,小程序已然发展成为超级 App 的标配!微信.支付宝.百度.抖音.今日头条--这些超级app的背后都有巨量 ...

  9. SpatiaLite 数据库使用记录

    SpatiaLite 数据库使用记录 官网 https://www.gaia-gis.it/fossil/libspatialite/index 下载地址 https://www.gaia-gis.i ...

  10. 正则表达式小技巧,sql中in的字符串处理

    工作中我经常写sql,当写带in的语句时,需要敲好多单引号,逗号,敲写起来容易易出错.因此,我写了一个小工具,处理这种繁琐工作.原理简单,利用正则表达式匹配.替换. 先看界面,一个html页面,包含三 ...