本文包括三个部分:
连接路由器 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 复制出来,以下用表示复制出来的部分。
注:一定要等上面初始化完成,否则下面的命令无法执行。
复制下面这串:
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
贴到浏览器(注意替换 <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>
贴到浏览器(注意替换 <STOK>
<CURRENTPASS>
<NEWPASS>
(当前路由登陆密码) (新的登陆密码)),回车。
这个用来重新设置密码。
执行结束会提示: {"code":0}
。
此时 telnet
已开启。
打开 Windows 的 cmd,并连接路由器:
telnet 192.168.31.1 23
如果提示找不到 telnet,需要在控制面板的【程序和功能】->【启用或关闭 Windows 功能】里面找到 【Telnet 客户端】,前面的打勾,并点【确定】。
连接时的用户名为 root,密码为刚才的
三、备份 MTD
在cmd输入命令
cd / && ls
插入U盘,在telnet里面进入U盘文件夹。在 /extxxxx/ext4
里面(本例中为 /extdisks/sda1
)
这里的 xxxx 根据不同情况可能不同,你可以 cd / && ls 看到以 ext 开头的文件夹
执行以下命令:
for name in $(grep -v 'dev' /proc/mtd | awk -F ':' '{print $1}'); do dd if=/dev/$name of=/extdisks/sda1/$name.bin; done
四、刷引导 BootLoader(不死 Breed)
主要是为了避免把路由器刷坏,没法恢复。只要刷成功,以后就不用怕了。而且刷固件用界面操作也比较方便。
进入官网 https://breed.hackpascal.net
找到 breed-mt7620-xiaomi-mini.bin
并下载到 U 盘
进入 U 盘,执行命令写入:
mtd -r write /extdisks/sda1/breed-mt7620-xiaomi-mini.bin Bootloader
等待路由器重启
重启后灯会闪烁,等待灯常亮,即表示成功。
进入Bread
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)