小米路由器3G 刷openwrt并安装cups一拖多台打印机攻略

时间:2024-03-04 08:03:01

R3G刷openwrt,这篇写的非常好了。

https://www.wunote.cn/article/3709/

为了防止原文被和谐或者丢失,复制一下备份。

——————————————————————————————————————————————

最近,在内网配置AdGuardHome服务以截拦部分广告,可是,在配置完成AdGuardHome后,准备将IPV4/IPV6 DNS全部更改为内网服务器时,却遇到一个很无语的问题—小米路由器3G的固件似乎对IPV6支持不是非常完善,无法将我的内网服务器设为IPV6 DNS服务器。在经过一番折腾无果后,打算把路由器刷成OpenWRT,因为小米官方固件真的太难用了,真的和屎一样难用

废话不多说,开刷!

1.在开始之前

1.1.下载开发版固件

小米官网下载:网页链接

未知下载站:网页链接

1.2.下载开启SSH固件和保存SSH账号密码

请打开网页链接,登录后,即可查看你当前登录小米账号绑定的所有路由器,选择你要开启SSH的路由器,下载工具包和保存一下提供的ROOT密码(注意,开启SSH后将会失去保修)

https://www.wunote.cn/wp-content/uploads/2021/01/20210127192639-1024x621.png

1.3下载Breed

官方下载:网页链接

未知下载站下载:网页链接

1.4下载OpenWRT

此处提供的OpenWRT版本:19.07.6

官方下载:网页链接

未知下载站下载:网页链接

注意要下载4个文件(initramfs-kernel、squashfs-kernel1、squashfs-rootfs0、squashfs-sysupgrade),如果从我下载站下载的话..我已经把这些文件全部打包成压缩包了

1.5.安装WinSCP和PuTTY

因为过程太简单了,所以….就不具体讲啦

2.更新开发版

将下载的开发板固件直接在常用设置–>系统状态–>升级检测–>手动升级处升级即可。因为过程非常简单,就不截图啦,2333

3.开启SSH服务

3.1.准备U盘

将U盘格式化为FAT32格式,然后将下载的工具包复制到U盘中,并且保证文件名为miwifi_ssh.bin

https://www.wunote.cn/wp-content/uploads/2021/01/20210127195810.png

3.2.开始刷机

断开小米路由器的电源,然后插入U盘到USB接口,接着先按住reset键,然后接通电源。待指示灯变为黄色闪烁时,即可松手啦

等待3-5秒后即可刷入成功,然后会自动重启,并且开启SSH权限

4.刷入Breed

4.1.上传Breed固件

按照图中的指示使用WinSCP连接一下路由器

https://www.wunote.cn/wp-content/uploads/2021/01/20210127200307.png

连上后,把breed-mt7621-xiaomi-r3g.bin上传到/tmp文件夹

https://www.wunote.cn/wp-content/uploads/2021/01/20210127201133.png

4.2.刷入Breed

接着,就是刷入Breed了,命令非常简单,但是请慎重,不要再执行过程中断电,否则就要用编程器刷机了。。。(下面命令中的/tmp/breed-mt7621-xiaomi-r3g.bin可以替换为你上传的breed的绝对路径)

mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader

 

https://www.wunote.cn/wp-content/uploads/2021/01/20210127201401.png

5.刷入OpenWRT

本以为刷入了Breed以后就简单了,什么都不用管了,结果,现实狠狠的给了我一个大嘴巴子,这路由器似乎有kernel0和kernel1,还有在Breed下进行一些设置,我没有设置,刷入固件以后出现了一些奇奇怪怪的bug,比如重启配置文件就丢失什么的

5.1.在官方系统中刷入OpenWRT

此步不会的可以参照一下“刷入Breed”这一步骤,都是刷入固件,大同小异

首先,我们要上传OpenWRT镜像到/tmp目录(initramfs-kernel、squashfs-kernel1、squashfs-rootfs0)使用一下命令进行刷机(注意:请把下面命令中的bin文件自行替换为你bin文件的实际文件名和路径)

mtd write openwrt-19.07.6-ramips-mt7621-xiaomi_mir3g-initramfs-kernel.bin kernel0
mtd write openwrt-19.07.6-ramips-mt7621-xiaomi_mir3g-squashfs-kernel1.bin kernel1
mtd write openwrt-19.07.6-ramips-mt7621-xiaomi_mir3g-squashfs-rootfs0.bin rootfs0

 

刷完后直接断电即可,然后通电并按reset键进Breed设置一下(断电的情况下按住reset,通电10秒左右,灯黄闪松开

5.2.修改Breed配置

首先,你要在小米R3G设置栏目找到并删除normal_firmware_md5,因为他似乎会影响启动;然后你要在环境变量编辑中添加一个xiaomi.r3g.bootfw,值为2(至于为啥要这么搞,因为….breed在没有这个值的时候,默认启动kernel0。虽然看上去似乎没啥影响,但是不知道为什么,没有这个环境变量我的路由器配置重启就全没了)

https://www.wunote.cn/wp-content/uploads/2021/01/20210128142251.png

5.3.在系统中刷入squashfs

重启退出Breed,进入OpenWRT后在System–>Backup / Flash Firmware处直接刷入squashfs-sysupgrade(openwrt-19.07.6-ramips-mt7621-xiaomi_mir3g-squashfs-sysupgrade.bin),等待系统自动重启即可

https://www.wunote.cn/wp-content/uploads/2021/01/20210128142418-1024x456.png

6.完成!

终于摆脱了小米原生垃圾固件的束缚,投入了OpenWRT的怀抱!Yes!

另外…..如果本文存在任何错误,欢迎在评论区指出!

——————————————————————————————————————————————

 

后面就是进行cups插件的安装以及多台打印机的设置。恩山论坛的 https://www.right.com.cn/forum/thread-172494-1-1.html 这篇攻略对此版本的openwrt补适用,会提示找不到cups。

于是只能继续搜索,找到这篇,

https://www.right.com.cn/FORUM/thread-4054457-1-1.html

按照这个方法,需要自行到gitee下载对应平台的插件包并安装。

安装完成后的设置就是一步步的添加打印机了,那个很多文章都可以搜到  就补再赘述了。

 

最后一步,就是实现无线连接这台打印路由,还要能上网的设置。 其实就是在openwrt的 无线中,将网卡添加两次,第一次用来连接主路由上网,第二个用来实现wifi热点。这样你的电脑连接这个wifi热点就可以实现打印并同时可以上网了。

 

再就是关于界面中文,需要 opkg update命令,但是由于openwrt官网到国内的速度蜗牛一般,所以一般推荐修改配置文件使用国内镜像。

#替换openwrt 升级源

#https://mirrors.ustc.edu.cn/help/openwrt.html

#https://mirrors.ustc.edu.cn/

sed -i \'s/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g\' /etc/opkg.conf

sed -i \'s/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g\' /etc/opkg/distfeeds.conf

安装中文包以及ssl证书

opkg update
opkg install ca-certificates luci-ssl-openssl
opkg install luci-i18n-base-zh-cn

 

防丢失复制:

——————————————————————————————————————————————————————————

我最近更换了HomeLEDE固件,但发现其没有集成网络打印机。在尝试安装使用p910nd后发现打印机没有反应,无法使用。某bing一番后,发现了CUPS,便打算折腾一番。

一、下载安装CUPS

  • 看了别人的资料后,原本以为可以直接在opkg中安装使用。但我的源里却没有这个包。无奈之下,一番搜索,发现有大佬提供ipk包。点此下载,有能力的大佬也可以自己编译,源码地址
  • 根据自己平台下载好相应的包(有十多个都是)后,上传到LEDE的tmp目录下,(其中cups-filters这个包好像和cups不太兼容,我选择删去cups-filters这个包,不安装它),在ssh下输入命令opkg install /tmp/*.ipk --force-depends来安装这些包。
    注:如果安装了kmod-usb-printer,该模块可能与cups存在兼容问题,请使用下面命令卸载opkg remove kmod-usb-printer
  • 安装完成后,打开/etc/cups/cupsd.conf文件。对应更改下方配置
  1. 这个配置打开网页配置,和配置中文
  2. WebInterface Yes +DefaultLanguage zh
  3. 下方是设置允许访问的IP地址范围,根据自己情况配置,如你LAN_IP为192.168.1.1,则改成如下方所示
  4. <Location />
  5.   Order Allow,Deny
  6.   Allow From 127.0.0.1
  7.   Allow From 192.168.1.0/24
  8. </Location>
  9. 下方是设置允许访问使用admin账户的IP地址范围,如下设置即可
  10. <Location /admin>
  11.   AuthType Basic
  12.   AuthClass Anonymous
  13.   Order Allow,Deny
  14.   Allow From 127.0.0.1
  15.   Allow From 192.168.1.0/24
  16. </Location>
复制代码

 

然后,输入ssh命令/etc/init.d/cupsd restart重启CUPS服务。

二、在CUPS上添加打印机

  • 使用http://lan_ip:631/admin登陆CUPS管理页面。
    如果需要登录,则用户名:root 密码:你配置的路由器的登陆密码。
  • 添加打印机
  • 一般来说,接上打印机后应当能在此看到,选中后继续。
  • 写一个简单的名字,(Location输入框用来打印时显示在打印机列表候选的名字),选择上共享这台打印机
  • 这里默认没有驱动,选择Raw,点击continue,然后点击Add Printer添加打印机即可
  • 添加成功后,稍等几秒应该会跳转到打印机信息界面。这里,我们复制这个网页链接。应如:http://lan_ip:631/printers/你前面设定的打印机名

三、WIN系统上添加该打印机

    • 点击微软图标,点击设置后再进入设备
    • 进入打印机和扫描仪,点击添加打印机或和扫描仪,等一段时间后会出现下图选项,点它
    • 然后点按名称选择选择打印机,输入你刚复制的地址 ,点击下一步
    • 如果连接成功会让你选择打印机驱动。
    • 当然,如果你的打印机并不是热门打印机,很可能需要你到官网自行下载驱动,然后此处选择从磁盘安装,再选择你下载的驱动文件解压包,通常需要点进去自己寻找一下对应的.ini配置文件,如果找对了就会显示出你打印机的名字,否则会提示错误,驱动完成后进入下一步。
    • 然后下一步,完成即可
    • 此时,打印机应当能正常工作了。