小米路由器3G刷入OpenWrt

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://dwsun.blog.csdn.net/article/details/89737513

小米路由器3G刷入OpenWrt

声明

刷ROM会导致设备失去保修,同时操作本身风险也极高,本人不对读者刷ROM的任何操作及其造成的任何损失负责。

背景介绍

自己家用的小米3G路由器,最近觉得网络很卡,排除运营商的问题之后,总觉的路由器那里可能是不堪重负了,小米家的东西,硬件不错,软件也还可以,但我想尝试下能不能通过OpenWrt挖掘一下硬件的潜能。

小米3G路由器

停产了,官网都找不到介绍了,各路网站倒是也有详细信息,但是呢,我犯懒,就不介绍了。

OpenWrt

OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。

对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。

–来自百度百科

简单点说就是一个几乎可以随便折腾的diy路由器rom。

关于LEDE & OpenWrt的爱恨情仇

LEDE是2016年,一些OpenWrt的开发者,不满当时OpenWrt社区的一些政策,出来单干的产物。2018年的时候,LEDE和OpenWrt的亲们,都觉得各自为战太累(个人观点),就又回归了OpenWrt社区,所以现在没有LEDE了,统称为OpenWrt。

一些细节参考这里

准备工作

刷开发者ROM

熟悉小米的朋友了解小米家的产品,他们的ROM,不管是手机的还是别的什么,一般都分为开发版和稳定版本。开发版一般比较新,而且有更多的功能,可以更好的折腾。稳定版本则偏向于稳定,没得折腾。

不过这个3G的路由器倒是很特别,我这里(2019-05-01)看到的开发版发布时间是10-30,显然是去年的,倒是稳定版是4-8更新的,应该是上个月的。见鬼了,不知道小米在想啥。

到这里可以下载小米路由器的ROM开发版本 http://www.miwifi.com/miwifi_download.html。

我这里下载到的固件名称是:miwifi_r3g_firmware_12f97_2.25.124.bin。没啥好说的,连上路由器web页面,找到常用设置->系统状态->系统版本->手动升级,开搞就好了。

提示我降级的时候,需要清除用户配置,我没有选。不知道会发生什么情况。忐忑不安中。。。

。。。。

经过几分种的等待,路由器升级成功,虽然升级用的网页显示还在升级中,但是我电脑已经连上wifi了,所以,果断刷新之。。。

到常用设置->系统状态->系统版本,确认路由器ROM版本变成了2.25.124。继续下一步。

开启路由器SSH

后续直到web界面安装成功前的操作都要在命令行里面执行了,所以你需要一个命令行客户端,windows用户推荐MobaXterm或者你喜欢的话Putty也可以,至于Linux,Mac用户,系统自带了命令行。我自己是Debian用户。

首先要做的是开启路由器的SSH访问,方便后续操作。

这里需要注意,路由器必须绑定一个小米账户,才能开SSH,这一步没啥好介绍的,略过。

去这里https://d.miwifi.com/rom/ssh找到路由器开启SSH的ROM,点击下载工具包,按照提示操作即可。这个页面有详细步骤,所以我这里偷懒就不写了。

需要注意,这个页面是要登录有小米帐号才可以访问的。

路由器重启完成之后就可以通过下面的命令连接到路由器上折腾了,密码就是工具包下载页面提供的密码,每个路由器都不一样。

ssh root@192.168.1.1

我这里连上去之后,看到这么个中二的玩意儿:
在这里插入图片描述

以前一直知道我的网络里面有个叫XiaoQiang的设备,怀疑就是路由器,现在证实了。

OpenWrt

下载OpenWrt

去OpenWrt官网下载就好了,这个没啥好说的。

下载地址是:https://downloads.openwrt.org/releases/18.06.2/targets/ramips/mt7621/

注意这里我用的是18.06.2的版本,也就是最新稳定版本。有的教程给得是snapshot版本,这个是开发版,个人不建议使用,因为不一定会出什么问题。

我这里下载到了如下4个文件,但是最终其实就用了两个文件:

-rw-r--r-- 1 david david 3.3M 1月  31 15:57 openwrt-18.06.2-ramips-mt7621-mir3g-initramfs-kernel.bin
-rw-r--r-- 1 david david 1.8M 5月   1 12:26 openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-kernel1.bin
-rw-r--r-- 1 david david 3.4M 1月  31 15:57 openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-rootfs0.bin
-rw-r--r-- 1 david david 4.2M 5月   1 12:24 openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-sysupgrade.tar

用如下的命令把这几个文件批量复制到路由器上:

scp openwrt-18.06.2-ramips-mt7621-mir3g-* root@192.168.1.1:/tmp

如果不想这么弄,也可以copy到U盘,然后插到路由器上,注意U盘必须是FAT/FAT32格式的,U盘挂载在路由器的**/extdisks/sda**目录下。

dwSun假设看这个文的亲知道我这里在逼逼啥。

刷OpenWrt

后续的操作,请用网线连接你的路由器进行,因为OpenWrt刚刷好之后,wifi是disable的状态

依次执行下面几个命令就好了。

mtd write openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1 # 别问我,我也不知道这些命令在干啥
mtd write openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0
nvram set flag_try_sys1_failed=1
nvram commit
reboot

这里dwSun没有用breed,因为breed似乎有一些特殊的操作方式才能用。使用breed的话,是另外的命令,跟这里不一样。这里就不再给出了。

不用breed的话,感觉很没有保障,但是在这里breed本身就是不稳定因素,所以也就没啥好说得了。

配置OpenWrt

刷完之后,路由器会重启(reboot命令导致的),等待一下就好了。

电脑提示网络连接之后,先用ssh连上路由器,因为这会儿web界面还没有安装,所以只能用命令行。

OpenWrt默认是没有root密码的,我们连上去之后用passwd设置一下:

ssh root@192.168.1.1
passwd # 之后按照提示操作就好了

设置好密码之后,执行web界面的安装:

opkg update # 这一步是在更新软件源,跟ubuntu下的apt update命令是一样的作用
opkg install luci # 安装web界面
opkg install luci-i18n-base-zh-cn # 安装web界面的中文语言包

到这里,OpenWrt的安装和初步设置就完成了。可以去192.168.1.1打开web界面进行进一步的设置了。

总结

没啥好总结的,想折腾就折腾,懒得折腾就用着小米官方固件也不错。

关于breed

这个玩意儿号称不死bootloader,但是我这里就刷死了,breed倒是不死,但是路由器功能不正常了,蛋疼。

所以我这里重新鼓捣了一下之后,就没再做这一步。而是直接刷的openwrt。

有兴趣的亲可以参考我后面的breed操作。

Breed简介

BREED,全称Boot and Recovery Environment for Embedded Devices,这玩意儿是一个BootLoader,相信不是折腾嵌入式的,一般搞不清这玩意儿是啥。简单来说,这个东西跟电脑的BIOS有点像,或者说跟Android的Recovery有点像。这里使用Breed的目的是为了防止出什么幺蛾子,路由器就变砖头,不能用了。

刷breed

https://breed.hackpascal.net/下载breed-mt7621-xiaomi-r3g.bin,千万别下错了,我也不知道下错了会出现什么状况。

用如下命令将这个bin文件上传到路由器的tmp目录下面:

scp breed-mt7621-xiaomi-r3g.bin root@192.168.1.1:/tmp

这里需要输入ssh的密码。

如果不想这么弄,也可以copy到U盘,然后插到路由器上,注意U盘必须是FAT/FAT32格式的,U盘挂载在路由器的**/extdisks/sda**目录下。

dwSun假设看这个文的亲知道我这里在逼逼啥。

用如下命令刷入breed

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

我这里执行上述命令后,的到了如下提示:

root@XiaoQiang:/tmp# mtd -r write ./breed-mt7621-xiaomi-r3g.bin  Bootloader
Unlocking Bootloader ...

Writing from ./breed-mt7621-xiaomi-r3g.bin to Bootloader ...     
Rebooting ...

执行完这些之后,等着路由器重启,但是我这里等了半天也没见电脑连上无线。果然出了什么幺蛾子了,我这里判断是路由器重启之后进入breed了,没有进入路由器自己的系统,但是插上网线之后,也没啥反映。

想了一下,果断重启之

  • 拔掉路由器电源
  • 按住reset
  • 插上路由器电源
  • 指示灯先黄色闪烁
  • 然后蓝色闪烁
  • 电脑浏览器打开192.168.1.1,就进入breed后台了。

后台长这个样子:
在这里插入图片描述

固件备份备份一下,虽然我也搞不清楚这备份的到底是啥,所以这里俩都备份了,得到了两个文件。

-rw-r--r-- 1 david david 256K 5月   1 11:37 eeprom.bin
-rw-r--r-- 1 david david 128M 5月   1 11:38 full.bin

上一步操作完,去breed的重启页面重启了路由器,但是半天也没见路由器有什么动静,网络也连不上,初步判断还是出幺蛾子了。但是具体是什么幺蛾子我就不知到了。尝试了几次拔电源重启路由器,也不好用,但是按住reset拔电源还是能进入breed。

最终,我确认我的路由器刷坏了,不管怎么弄都只能进入breed了。蛋疼的很。

没办法,去小米社区找了一个官方的bootloader,用breed刷回去,就好了,ssh啥的也都得重新弄。

官方bootloader下载地址:

https://pan.baidu.com/s/1OJmh8VUTVSaCyYu8hU6unw

展开阅读全文

没有更多推荐了,返回首页