前几天并夕夕的RedMi AX6000路由器开启百亿补贴团购模式,补贴加满减优惠券,最低到手价格350元,如果再有夕夕支付的银行卡优惠,甚至能做到320左右的极限低价。
这款路由器采用联发科MT7986A的CPU,4核2.0GHZ,比起很多软路由都不遑多让。512M的内存+128M闪存,目前看来不需要硬改扩容,已经能满足高负荷场景的需求以及同时运行多个插件的需要。最高支持248个设备同时在线,放在几年前妥妥企业级路由器的标准。而且它采用了8路独立信号放大器,信号覆盖广,穿墙能力更强(亲身体验)。
趁着价格合适,赶紧入手了两台。那么问题来了,这么强大的路由器,官方固件不能发挥它的全部实力怎么办?当然是刷机了,RedMi AX6000的刷机并不需要拆机,应该说对于新手还是非常友好的。所以,只要你有一点基础的电脑知识,就可以跟着我一步一步把它刷成OpenWRT系统,体验新系统带来的强大功能了。
刷机一共分三步,我们一步一步的来做。
注意,本文中用到的软件和固件在文末都由提供,所以在文中就不再重复声明了,有需要的可以直接下载。
一. 开启和固化SSH、Telnet
刷机的基础是能对文件系统进行操作,而路由器又不像计算机,有个可以输入的键盘和可以显示的显示器。更多的是通过计算机连接后进行操作。一般而言我们都是使用专用的通讯线缆,比如有专用线序的console线或者交叉接的串口线进行连接。但是对于家用路由器,一般不会配备专门的console接口,更多的是通过网络登录路由器后台(一般是linux或者类linux系统)进行操作。
说到远程登录,最强大的自然是SSH了。但是路由器一般为了方便管理和安全原因,厂商都是默认关闭SSH连接的,所以我们首先要做的就是开启它。
1. 路由器连接电脑
按照图上的接法,一根网线连接原来的路由器,一根网线连接用来调试AX6000的电脑。
2. 简单配置路由器
接通电源后,我们在浏览器内输入AX6000的默认地址“192.168.31.1”,就会弹出上图的配置界面。点击马上体验进入下一步。
在这里需要设置WIFI密码,什么双频合一之类的都不用去管,因为我们刷机后这些配置还都需要重新调整,在这里只需要随便设置个密码完成配置就可以了。
我随便设了个“11111111”作为密码。需要注意的是,我们路由器的管理员密码也是同步成同样的了,下次登录路由器要用到这个密码。至此对于这个路由器的简单配置就完成了。
3. 获取Token
我们重新输入路由器的ip“192.168.31.1”,这时打开的就是路由器的登录界面了,在密码框内输入我们刚才设置的密码,比如我设的是“11111111”,直接输入,然后按右侧的箭头进入。
注意我红框中圈出的部分,这就是我们需要的Token,可以简单地理解为通行证,有了这个通行证,我们对路由器就可以进行一些操作了。
上图中地址栏内的文字部分是:
http://192.168.31.1/cgi-bin/luci/;stok=c3a966b62ce80d155df260e3e920c5cd/web/home#router
我们需要的是"stok="后面,直到第一个“/”前的字符串。
我们后面的操作都会用到这个Token。注意,我上面的这个Token是从这个做演示的路由器上获取的,并不是公用的,每个人获取到的Token并不一样。
4. 开启telnet
我们一共需要在地址栏中输入四次内容:
1. 开启开发/调试模式,我们在地址栏中输入:
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20
注意,其中我标黑的{token}需要替换为我们上一步获取到的字符串。
网页会返回这个信息,证明我们成功了。
2. 通过命令重启,我们在地址栏输入:
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
输入命令后路由器会自动重启,同样用获取到的字符串代替{token},然后我们只需要耐心等待几分钟,等待路由器重新启动完成。
这一步执行完以后屏幕没有显示,但是可以通过路由器的指示灯看到它在执行重启的操作。
3. 设置Bdata永久开启telnet,我们在地址栏输入:
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20
注意:在路由器重启后Token会改变,我们需要按照上面的获取Token的步骤重新得到新的字符串,其他操作还是跟上面的一样,用这个字符串替换掉命令行中的{token}。
同样的屏幕提示,证明成功了。
如果返回的信息提示"Invalid token",那就证明输入的Token有误或者又更新了,只需要重复上面获取Token的步骤,重新取得字符串然后重新输入命令就可以了。
4. 再次重启路由器,同样是在地址栏输入以下命令:
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
输入命令后,耐心等待路由器重启完成,至此,telnet成功开启。
5. 开启SSH
首先我们使用终端软件登录telnet,比如我用的是putty,其他的终端软件也可以,根据喜好自行选择。设置参照我红框内的,设置好ip地址、端口和连接类型。然后点击打开按钮。
顺利的话,弹出上图,我们可以正常连接telnet,基本就算是成功大半了。
先改一下登录密码,便于以后使用,在终端内的提示符后输入:
echo -e 'adminnadmin' | passwd root
修改后超级用户root,密码admin。
然后固化SSH,输入:
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
输入命令后没有反馈信息,不用担心,已经成功了。
下一步我们设置SSH永久开启,这样即使路由器重启也不会影响SSH,随时随地我们都能通过SSH登录路由器了。我们输入:
mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh
chmod +x auto_ssh.sh
uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall
注意看一下输出信息,没有报错就证明我们成功了。
如果报错的话,大概率是因为路由器没有联网,我们一定要保证AX6000是可以联网的状态,保证它和原来的那台可以上网的路由器是用网线连接的。
最后一步,关闭开发/调试模式。在提示符后输入:
mtd erase crash
记得我们一开始在地址栏开启了开发/调试模式吗?这个模式一直开启是比较危险的,所以在我们完成了telnet和SSH的开启操作后,我们还是要把开发/调试模式关闭,保证日常使用的安全。
至此前期操作全部完成,重启路由器我们继续进行后续的工作,只需要输入:
reboot
耐心等待路由器重启。
二. 刷不死uboot
好了,我们终于把准备工作都完成了,下一步就是要先刷uboot,这样以后就能更加安心的愉快玩耍了。
1. 登录SSH
我们先登录上刚刚费了很大力气开启的SSH。还是用终端软件,注意连接类型改为SSH,端口默认22,IP地址没有变化。
提示登录,记得我们刚才改的用户名和密码吗?我们先输入用户名"root"。
在根据提示输入密码“admin”。
登陆成功,可以看到可爱的“#”,也就是超管权限,这象征着,对这个路由器我们可以为所欲为啦。
2. 备份原厂信息
为了安全起见,我们还是把原厂信息进行一下备份,这样万一以后有什么需要,我们还可以恢复原厂系统。
输入命令:
dd if=/dev/mtd1 of=/tmp/mtd1_BL2.bin
dd if=/dev/mtd2 of=/tmp/mtd2_Nvram.bin
dd if=/dev/mtd3 of=/tmp/mtd3_Bdata.bin
dd if=/dev/mtd4 of=/tmp/mtd4_Factory.bin
dd if=/dev/mtd5 of=/tmp/mtd5_FIP.bin
虽然我只备份了Factory和FIP,但是建议你们还是全都备份下,毕竟也占不了多大的空间。
所有文件都被备份到了tmp文件夹内,方便存储。
3. 下载备份文件
我们可以用WinSCP把备份的文件下载到电脑中。
打开WinSCP,新建站点,协议选择SCP,IP地址“192.168.31.1”,端口22,用户名:“root”,密码“admin”,然后点击登录。
点击右侧文件窗口中的向上箭头图标,进入上一层目录。
我们可以在目录列表中找到tmp,点击进入。
可以看到,红框中就是我们被分成公的五个文件。
跟使用文件管理器一样,选中这几个文件,右键单击,选择下载。
选择一个位置存储下载的文件,记住存在哪,以后需要用到的时候能找到就可以,这几个文件我们存档就可以,现在还不需要。
4. 上传uboot文件
趁着WinSCP打开状态,我们顺便把uboot文件也传上去。
在这里要特别感谢下恩山的hanwckf大佬,他制作的uboot不但非常好用,而且还可以省去不少不必要的步骤,为后面刷入OpenWRT系统打了个非常好的基础。
左侧的文件窗口选择本地文件,找到下载的mt7986_redmi_ax6000-fip-fixed-parts.bin文件所在的位置。
右键选择上传。
因为我们刚才下载备份的文件,工作目录是路由器的tmp目录,所以这一步直接点击确定即可。
5. 刷入uboot
我们返回SSH,通过命令行输入:
md5sum /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin
mtd erase FIP
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
命令行1是检查我们上传到tmp目录中的uboot文件的md5,如果跟我上图中显示的“7610a1722073748c3c3a860b75d94d5d”一样就证明文件没问题。命令行2擦除FIP中的内容,这一步有点类似于手机刷机前双清。注意!擦除FIP后一定不要断电!一定不要断电!一定不要断电!重要的事情说三遍!FIP有点类似于引导系统,如果擦除后断电,路由器就真的是彻底无法启动了。当然,即使是断电了,也还可以拆机后用编程器直接写入,不过那就比较麻烦了,所以千万记得不要断电。执行完命令行2立刻执行命令行3,把uboot写入FIP,这样就安全了。实际上写入只需要几秒钟的时间,只要不误操作,基本不会出现问题。命令行4校验mtd,如果没有问题,可以看到我红框中的Success的话,就证明刷uboot成功了。
三. 刷入OpenWRT系统
在这里鸣谢下恩山的237176253大佬,他制作的这个版本的OpenWRT支持大分区uboot,默认开启有线和无线的全部硬件加速,内置了常用的服务,比如DDNS、去广告、梯梯、KMS自动激活服务等等,还是很方便的。而且刷入简单,可以通过uboot直接从官方系统升级,省去了不少工作。
1. 设置电脑IP地址
因为进入uboot后是没有DHCP的,所以我们需要先手动输入IP地址,否则重启路由器进入uboot后电脑会无法连接路由器。我们进入电脑的设置——网络和Internet——以太网——更改适配器选项——选择以太网卡——点击属性——IPV4协议——把下图的信息填入其中:
IP地址:192.168.31.2
子网掩码:255.255.255.0
网关:192.168.31.1
最后点击确认。然后我们就可以重启路由器了。
2. 进入uboot
路由器后方最右侧有一个RESET按钮,是凹进去的,需要用牙签/取卡针/曲别针之类尖锐的物体插进去,可以感觉到里面是一个按钮。我们先拔下路由器的电源,然后用工具按下RESET按钮,保持按下的状态,接通路由器的电源,等待大概15秒的时间,然后松开RESET按钮,路由器就进入了uboot,我们就可以进行接下来的操作了。
在浏览器地址栏输入:192.168.31.1,能看到下面的页面就证明成功进入了uboot,如果没成功的话就重复上面的步骤,断电重启路由,按住RESET开机,15秒松开,再次尝试,直到能看到下面的页面为止。
3. 上传OpenWRT固件
点击选择文件的按钮,选择我们下载的OpenWRT固件,然后打开。
可以看到已经选择好了上传的文件,点击右侧的upload。
会显示上传的过程,大概十几秒钟,耐心等待。
传输完成后点击Upload按钮,固件会被写入。
大概等待1分钟左右,写入过程并不算太漫长。
如果看到升级失败的页面也不用担心,重复上面的刷机操作,再次写入OpenWRT固件文件。
如果页面提示升级完成,那么恭喜你,已经刷机成功了。等待重启的时候我们可以把电脑的网卡重新改为自动获取IP地址。
重启后路由器的ip地址刷机后会变成192.168.6.1,用户名root,密码password,输入后就可以进入配置页面了。
关于RedMi AX6000的OpenWRT设置,如果大家有需要我会再出一期教程,敬请期待。
文中提到的固件及软件链接: 百度网盘