小米路由MINI(R1C)刷 OpenWrt

moonjerx
2022-06-12 / 0 评论 / 398 阅读 / 正在检测是否收录...

本文包括三个部分:

连接路由器 Shell
下载和写入 OpenWrt 升级包
配置 OpenWrt

一、连接路由器 Shell

现在小米已禁止刷官方ssh开启工具: https: //d.miwifi.com/rom/ssh
这里使用 openwrt 提供的方法:https://openwrt.org/toh/xiaomi/mini

一、路由器固件降级

下载官方旧版本固件(新版固件可能没法用以下方法):http://bigota.miwifi.com/xiaoqiang/rom/r1cm/miwifi_r1cm_firmware_b9d56_2.7.11.bin
打开浏览器进入192.168.31.1路由管理界面
选择【常用设置】-> 【系统状态】 -> 【升级】,选择刚才下载的文件确定。
此时会提示系统降级最好删除配置文件,勾选并继续。
等执行完,路由器会重启,并闪烁黄灯。一直等到蓝灯常亮,表示降级完毕。

二、开启 telnet (现在还开不了 SSH)

打开浏览器进入 192.168.31.1 ,配置并等待初始化完成。
此时会包含 stok=xxxxx ,把 xxxx 复制出来,以下用表示复制出来的部分。

l5r0ftxx.png

注:一定要等上面初始化完成,否则下面的命令无法执行。
复制下面这串:

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqnetwork/set_wifi_ap?ssid=whatever&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd

l5r2mjnt.png

贴到浏览器(注意替换 <STOK> ),回车。这个用来开启 telnet

执行结束会提示: {"msg":"未能连接到指定WiFi(Probe timeout)","code":1616}

虽然信息是错误,但实际上是成功。
复制下面这串:

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/set_name_password?oldPwd=<CURRENTPASS>&newPwd=<NEWPASS>

l5r2m4o8.png

贴到浏览器(注意替换 <STOK> <CURRENTPASS> <NEWPASS> (当前路由登陆密码) (新的登陆密码)),回车。
这个用来重新设置密码。
执行结束会提示: {"code":0}
此时 telnet 已开启。
打开 Windows 的 cmd,并连接路由器:

telnet 192.168.31.1 23

l5r2l5ix.png

如果提示找不到 telnet,需要在控制面板的【程序和功能】->【启用或关闭 Windows 功能】里面找到 【Telnet 客户端】,前面的打勾,并点【确定】。
连接时的用户名为 root,密码为刚才的

三、备份 MTD

在cmd输入命令

cd / && ls

l5r2pv7j.png

插入U盘,在telnet里面进入U盘文件夹。在 /extxxxx/ext4 里面(本例中为 /extdisks/sda1
这里的 xxxx 根据不同情况可能不同,你可以 cd / && ls 看到以 ext 开头的文件夹
l5r2svbp.png

执行以下命令:

for name in $(grep -v 'dev' /proc/mtd | awk -F ':' '{print $1}'); do dd if=/dev/$name of=/extdisks/sda1/$name.bin; done

l5r2wz56.png

四、刷引导 BootLoader(不死 Breed)

主要是为了避免把路由器刷坏,没法恢复。只要刷成功,以后就不用怕了。而且刷固件用界面操作也比较方便。

进入官网 https://breed.hackpascal.net
找到 breed-mt7620-xiaomi-mini.bin 并下载到 U 盘
进入 U 盘,执行命令写入:

mtd -r write /extdisks/sda1/breed-mt7620-xiaomi-mini.bin Bootloader

l5r3535a.png

等待路由器重启
重启后灯会闪烁,等待灯常亮,即表示成功。
进入Bread
l5r4kvzd.png

l5r4kmjp.png

l5r4k8pd.png

l5r4jvnh.png

1.关掉路由器电源
2.先按住reset键,再接通路由器电源,等待 3 秒,灯闪烁后再放开reset键
打开 192.168.1.1
刷 OpenWrt
法一:Bread 刷 OpenWrt
获取 OpenWrt 升级包下载地址
回到 OpenWrt 的页面
https://openwrt.org/toh/xiaomi/mini
找到【OpenWrt support】这一块,复制【Firmware OpenWrt Upgrade】下面的链接
下载这个以 -ramips-mt7620-miwifi-mini-squashfs-sysupgrade.bin 结尾的文件
进入 Bread
在【固件启动设置】里,将类型设置为【小米 Mini】
在【固件备份】里,都点一遍
在【固件更新】里,在【固件】一栏选择刚才下载的 bin。
点上传,等待上传完毕,路由器会自动重启。
重启后会亮红灯闪烁,等待红灯常亮,即表示成功。
法二:下载和写入 OpenWrt 升级包
获取 OpenWrt 升级包下载地址

回到 OpenWrt 的页面
https://openwrt.org/toh/xiaomi/mini
找到【OpenWrt support】这一块,复制【Firmware OpenWrt Upgrade】下面的链接
升级

刚刚连接的 telnet 执行:
cd /tmp
wget http://downloads.openwrt.org/releases/18.06.4/targets/ramips/mt7620/openwrt-18.06.4-ramips-mt7620-miwifi-mini-squashfs-sysupgrade.bin
检查 MTD
cat /proc/mtd
你可以看到有一行包含 OS1
写入升级包
mtd -r write 刚刚下载的文件名 OS1
写入完成后,路由器会自动重启
重启后会亮红灯闪烁,等待红灯常亮,即表示成功。
配置 OpenWrt
以下配置完成后,记得在【系统】->【备份/升级】->【动作】->【生成备份】创建备份。以后重新刷 OpenWrt 的时候,就可以直接导入。不用再做配置。

进入 OpenWrt 界面启用 WIFI

刚装完后,WIFI 没有默认开启。所以需要用网线连接路由器的 LAN 口。如果电脑连了其他路由器的 WIFI,则先断掉。
进入 192.168.1.1 。刚开始会要求设置密码。点【Login】按钮,再点【Go to password configuration…】进入设置界面。
在 Password 和 Confirmation 输入密码,点 【Save & Apply】。
进入顶部的 【Network】->【Wireless】,选择一个,点击 【Enable】就开启 WIFI 了。
点【Edit】进去设置 ESSID(WIFI连接名称)。
在【Wireless Security】一栏的 Encryption 选择 WPA2-PSK,然后在 Key 一栏填入密码。点【Save & Apply】。
开启 SSH

进入顶部的【System】->【Administration】
在 Dropbear Instance 下面的 Interface 选择 lan
Port 设置一个,比如 55555
确保勾选了【Password authentication】和【Allow root logins with password】
点【Save & Apply】
修改路由地址

我这里是路由器用线连接光猫,光猫的地址是 192.168.1.1,无法修改。OpenWrt 也是 192.168.1.1。
如果输入 192.168.1.1 会进入 OpenWrt 管理界面,而不是光猫的。所以可以选择将 OpenWrt 的地址改掉。

第一种方法是在管理界面的【Network】->【Interface】->【LAN】,把【IPv4 address】这一栏改成类似 192.168.23.1。点【Save & Apply】

第二种方法是进入 SSH,编辑文件:vim /etc/config/network

修改 config interface 'lan' 这一区块的 option ipaddr,修改后类似于:

config interface 'lan'

 option type 'bridge'
 option ifname 'eth0.1'
 option proto 'static'
 option ipaddr '192.168.23.1'
 option netmask '255.255.255.0'
 option ip6assign '60'

然后执行 /etc/init.d/network reload,等一会儿就可以通过 192.168.23.1 访问路由器了。
我试了好多次第一种方法,总是保存不了,用这个方法才成功。

安装管理界面中文包
网上说的安装方法大多过时,在 OpenWrt 18.06.4 版本,需要执行以下命令安装:
opkg update
opkg install luci-i18n-base-zh-cn
从下面这个文档找到的:
https://openwrt.org/packages/pkgdata/luci-i18n-base-lang

USB 支持
安装

opkg install kmod-usb-core \

        kmod-usb-uhci \
        kmod-usb-storage \
        kmod-usb2 \
        kmod-usb-ohci \
        block-mount \
        mount-utils \
        fdisk

如果 U 盘或移动硬盘是 FAT32 的,就装 kmod-fs-vfat;如果是 NTFS 的,就装 ntfs-3g。

挂载

执行 mkdir /mnt/usb 创建等下的挂载目录
插入 U 盘
执行 fdisk -l | grep "^/" 会看到与 U 盘容量差不多的分区。这里假设为 /dev/sda4
执行 mount /dev/sda4 /mnt/usb
这样进入 /mnt/usb 就能看到 U 盘的文件了

主要参考文档
基础知识:https://www.zoulei.net/2016/05/05/openwrt_recovery_you_need_to_know/
https://openwrt.org/toh/xiaomi/mini
https://leamtrop.com/2017/05/11/flash-openwrt-squashfs/
http://bbs.xiaomi.cn/t-13391060-1-o0
修改路由地址:https://www.cnblogs.com/double-win/p/3841017.html
Breed:https://www.jianshu.com/p/cab3062ef920
U 盘:https://jingyan.baidu.com/article/5225f26b6b273fe6fa090829.html
U 盘:https://www.cnblogs.com/double-win/p/3841801.html
MTD:http://blog.chinaunix.net/uid-28790518-id-5082378.html

转载自https://schaepher.github.io/2019/07/25/xiaomi_router_mini_openwrt/

0

评论 (0)

取消

您的IP: