标签归档:救砖

华硕路由器(RT-AC66U)进入救援模式从小宝梅林固件等第三方固件刷回官方原厂固件的方法

刷回官方固件,有很简单的方法,比如在网页上直接上传官方固件,然后恢复出厂设置,最后重新配置路由器。但本文主要讲的是如何通过救援模式如何刷回原厂固件。

尝完鲜打算刷回华硕官方原厂固件。华硕提供的救援模式的文档中英文都有,甚至英文文档就是以AC66U为例图文并茂进行说明的。但是当尝试使用华硕提供的软件Firmware Restoration上传固件时,均不成功。官方文档如下:
如何使用紧急救援模式?
How do I use the rescue mode of a router?

下面提供一个可以通过救援模式刷回华硕官方原厂固件的方法。

1 下载最新的原厂固件

截至2017年最后一天最新固件是:ASUS RT-AC66U Firmware version 3.0.0.4.380.8120
解压zip包后得到固件,为了方便说明,把它放到D盘66u目录下:

D:\66u\RT-AC66U_3.0.0.4_380_8120-ge60d6e4.trx

2 将路由器置于救援模式

对照那个官方的英文版文档,所谓“RESTORE”按钮,是位于USB口和WAN口那个按钮,需要用取卡针戳;
操作过程中,无需拔掉电源,使用电源键进行断电和通电的操作即可。

方法是:通过电源键断电,按住“RESTORE”按钮5秒(无需很精确,不要松开),按下电源键通电,当看到电源指示灯开始慢闪时(时间间隔是3.0秒左右),松开“RESTORE”按钮。
此时路由器已顺利进入救援模式。

3 设置电脑的IP

这里有个坑:官方文档说是将电脑的IP设置为192.168.1.10(10为例子,可以为2-255),子网掩码设置为255.255.255.0。但是实际情况是,我们往往会更改华硕路由器的“内部网络(LAN) - 内网地址设置”,比如设置为192.168.0.1,以防和光猫的默认地址冲突。坑的地方在于华硕这个路由器的救援模式不是永远固定在192.168.1.1这个IP,而是我们修改过的IP地址:192.168.0.1。对于这种情况,使用192.168.1.10来操作是不会成功的。不过,即使将电脑IP改为192.168.0.10,使用Firmware Restoration软件上传固件也不会成功,具体原因不详。

如果没有在“内部网络(LAN) – 内网地址设置”更改过路由器的IP地址,那么就按官方文档设置电脑的IP为:192.168.1.10,子网掩码:255.255.255.0;
如果更改过路由器的IP地址,就按更改后的新IP段来修改,比如上面提到的192.168.0.10,子网掩码还是一样:255.255.255.0。
将网线连接在路由器的LAN口上,通过ping路由器的IP(192.168.1.1或192.168.0.1)查看电脑的IP是否已经设置正确。

我们以路由器IP为192.168.0.1,相应的设置电脑IP为192.168.1.10,子网掩码:255.255.255.0为例来进行后续的操作说明。

4 刷入原厂固件

这里我们用到一个工具:TFTP。在现代的Windows系统(Vista以后)中,这个工具无需下载,可以在Windows的控制面板程序管理中通过“启用或关闭Windows功能”来启用“TFTP客户端”功能。
打开命令行提示符,定位到固件所在目录D:\66u,执行如下命令刷入固件:

tftp -i 192.168.0.1 put RT-AC66U_3.0.0.4_380_8120-ge60d6e4.trx

经过漫长的等待,会出现如下提示:

Transfer successful: 31449088 bytes in 123 second(s), 255683 bytes/s

观察路由器的电源指示灯,当不再慢闪而是变成长亮时,说明固件已经刷入成功。

对于华硕路由器来说,这种方法仍然会保留原来的设置,此时可以通过浏览器访问192.168.0.1来查看是否能登陆路由器的管理界面;
如果不能登陆,可以尝试按“RESTORE”按钮5秒来重置路由器,此时所有配置会被清除,路由器地址变成192.168.1.1,待电源指示灯稳定长亮时,将电脑IP设置192.168.1.10,子网掩码设置为255.255.255.0来进行尝试访问路由器的管理界面。

小米MAX(标准版/高配版)免解锁Bootloader刷入LineageOS

nijel8 于2018年9月15日发布更新后,宣布终止对小米MAX 1代的LineagOS更新支持: Updated… EOL… R.I.P. 如果还想继续用他的ROM,可以考虑购买小米MAX3。

感谢@nijel8不断的努力。

两个疑问:

  1. 为什么nijel8不将LineageOS升级到15?
    nijel8认为LineageOS 15与14.1相去甚远,很多特性缺失,不少问题未得到修正。所以在可预见的未来他不会更新LineageOS 15。
  2. 为什么小米的固件已升级了很多版本,但是nijel8提供的firmware仍停留在9.2.1.0?
    nijel8认为自9.2.1.0后未提供什么更新,所以没有升级的必要。

刷机会清空手机所有内容,所以在刷机前务必备份重要数据,如联系人、图片等数据。


对已安装该版本的LineageOS进行升级时,可以首先尝试dirty flash新版本的刷机包,即进入recovery直接安装新包,比如直接刷入lineage-14.1-20180101-UNOFFICIAL-helium.zip即可,而对于固件升级包(firmware update),如无问题可刷可不刷。

更新日志

20180916
nijel8于20180915放出了lineage-14.1-20180915版,被标记为最终版本(FINAL RELEASE!),同步了最新的lineageos源码,估计没有大的问题,不会再进行更新了。
nijel8于20180802更新了TWRP,通过设置可以阻止在刷官方ROM时TWRP被替换。
20180608
nijel8于20180530更新了lineage-14.1-20180530版,增加了来电自动勿扰模式的开关。
2018507
nijel8于20180506更新了lineage-14.1-20180506版,调整修正了拨号界面的显示布局。
2018408
nijel8于20180408更新了lineage-14.1-20180408版,修正部分调度策略和休眠相关问题;
nijel8于20180302更新了TWRP。
20180218
nijel8于20180216更新了lineage-14.1-20180216版,升级内核到3.10.108,支持ext4和f2fs的存储卡;
同时将固件升级包适配了MIUI 9 国际稳定版 ROM 9.2.1.0;
nijel8于20180129更新了TWRP。
20180119
nijel8于20180117更新了lineage-14.1-20180117版,修复了SIM卡联系人导入和导出功能;
nijel8于20180114更新了TWRP,nijel8精益求精,实际用户更不更新无所谓。
20180103
nijel8于20180101放出周年纪念版lineage-14.1-20180101版,主要增加了关机闹钟功能。
20171221
nijel8于20171220更新了 lineage-14.1-20171220版,仍为7.1.2版本;
同时将固件升级包适配了MIUI 9 Global ROM 9.1.1.0/9.1.2.0。
20171218
nijel8于20171217更新了TWRP,有趣的地方在于该版本基于Android 8.1 TWRP v.3.2.1 分支,这或者意味着Android 8.1不远了;
nijel8于20171124更新了lineage-14.1-20171124版;
同时将固件升级包适配了MIUI 9 Global Dev ROM 7.11.16。
20171023
nijel8于20171014更新了lineage-14.1-20171014版;
同时将固件升级包适配了MIUI 9 Global Dev ROM 7.10.12。
20171004
nijel8于20170930更新了lineage-14.1-20170930版;
同时将固件升级包适配了MIUI 9 Global Beta ROM 7.9.22;
小米刷机工具升级为官方最新版 MiFlash 7.4.25。
20170807
nijel8于20170807更新了lineage-14.1-20170807版;
同时将固件升级包(MGD,MIUI 国际开发版)更新为8.5.10(MG,MIUI国际稳定版)。
20170724
nijel8于20170723更新了lineage-14.1-20170723版。
20170710
nijel8于20170708更新了lineage-14.1-20170708版;
nijel8于20170707更新了TWRP。
20170624
nijel8放出了lineage-14.1-20170624版。
20170612
nijel8于20170612适配MIUI国际开发版7.6.8;
更新TWRP MOD 3.1.1-1。

小米MAX是个不错的大屏手机,而LineageOS(曾经的CyanogenMod,CM)是个深受喜爱的定制ROM。小米MAX标准版(hydrogen,32G)已经被LineageOS官方所支持,但是LineageOS官方迟迟未适配小米MAX高配版(helium,64G\128G)。幸运的是有一个天才程序员@nijel8,在LineageOS的基础上,可以说是以一己之力完成了高配版的适配工作,他还为其他ROM(包括官方版LineageOS)提供修改建议。他适配的ROM,稳定、流畅,bug少且修复快,目前约每半月左右更新一次,每次更新都同步更新了LineageOS的最新源码,安卓版本已同步更新为Android 7.1.2。他分别提供了hydrogen和helium的固件,相对于LineageOS官方版,他称它们为UNOFFICIAL。由于高通提供了救援模式(Emergency Download Mode,EDL模式),亦被国人称为9008模式,所以可以免解锁bootloader直接刷入TWRP,并进一步刷入LineageOS。因小米MAX标准版有LineageOS官方版固件,故本文主要以helium版为例进行尽可能详尽的记录。

注:正是因为EDL模式的存在,在“二 线刷fastboot包”步骤中,如不替换recovery.img,直接刷入下载回来的fastboot包,即可无需解锁bootloader就能实现救砖、更新、降级、国行与国际版互刷、稳定版与开发版互刷等刷机操作。


主要参考

https://forum.xda-developers.com/mi-max/development/rom-lineageos-14-1-t3529851

https://forum.xda-developers.com/mi-max/how-to/guide-installing-miui-v8-2-1-twrp-root-t3573550

http://en.miui.com/thread-307139-1-1.html

一 准备所需软件和固件

1.1 下载并安装小米官方最新的刷机程序MiFlash

MiFlashSetup_eng.msi

Size: 48863232 bytes
MD5: B550CF87B618D298CE9600612F6D2773
SHA1: 709A0506CCE3775157D7ADEFAACB4901E4D068DC
CRC32: C2C9359A

该版本的驱动经过了微软签名,在Win X系统中安装时不会再跳出需要同意“始终安装此驱动程序软件”的提示,但xp系统下仍会出现该提示。

1.2 下载nijel8修改版TWRP(标准版hydrogen、高配版helium通用)

(08-02-2018)twrp_v323-4_hydrogen-helium_nijel8-MOD.img

1.3 下载nijel8修改版rom所能支持的最新的小米官方国际版fastboot刷机包

  • 标准版hydrogen:

hydrogen_global_images_V9.2.1.0.NBCMIEK_20171219.0000.00_7.0_global_13c49bb1fb.tgz

  • 高配版helium:

helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global_18678acae5.tgz

1.4 下载nijel8的LineageOS固件

  • 标准版hydrogen:

lineage-14.1-20180915-UNOFFICIAL-hydrogen.zip

  • 高配版helium:

lineage-14.1-20180915-UNOFFICIAL-helium.zip

1.5 下载对应的固件升级包(MG, MIUI Global)

  • 标准版hydrogen:

firmware-HYDROGEN_MG-9.2.1.0.zip

  • 高配版helium:

firmware-HELIUM_MG-9.2.1.0.zip

1.6 下载最新版的谷歌包opengapps(可选)

依次选择“ARM64” > “7.1” > “nano”,并点击红色下载按钮,20180916得到:open_gapps-arm64-7.1-nano-20180916.zip

推荐nano的原因是: pico是仅包括保证google play运行的最小安装, nano则在pico的基础上还包括了不能从play下载到的功能组件, 谷歌的其他软件都可以通过play下载到,因此推荐安装nano包。

二 免解锁bootloader线刷fastboot包

简单来说,该步骤的目的就是免解锁bootloader刷入TWRP。

2.1 解压小米官方fastboot包

这里注意解压得到的目录,后面线刷时不要选择错了
推荐使用7zip解压,需要先将tgz包“提取到当前位置”解压为tar包,再通过“提取到当前位置”解压tar包为文件夹。
例如高配版fastboot包放在D盘根目录:

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global_18678acae5.tgz

通过两次“提取到当前位置”,最后解压为:

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global

2.2 替换recovery.img

将下载的nijel8修改版TWRP,改名为recovery.img,复制到固件所在文件夹下的images文件夹内,替换原名文件,即

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global\images

2.3 进入EDL(9008)模式

关机,同时按住(音量+)(音量-)按钮不要松手,数据线连接电脑,手机振动,电脑听到新硬件插入的提示音,随后会出现安装驱动的提示,即可松手。
正确进入EDL模式的话,屏幕为黑色的关闭状态,可以在“设备管理器”中见到类似如下的字样(COM端口可能会有不同):

端口(COM和LPT)
     Qualcomm HS-USB QDLoader 9008(COM20)

注:经过多次尝试,这个步骤推荐的做法是:在手机处于任何状态下,用数据线连接电脑,同时按住(音量+)和(音量-)按钮不要松手,按住电源键6秒左右,手机第一次震动,此时松开电源键,再过数秒(长短不等)左右手机第二次震动,此时在硬件管理器中应该就可以可见9008模式的驱动了,说明正确进入了EDL模式,可以松开(音量+)和(音量-)按钮。 第一次震动到第二次震动之间的时间不太固定,可长可短。

2.4 刷机

在桌面打开刷机程序(XiaoMiFlash.exe), 点击“刷新”按钮,在列表中,会见到如下类似内容:

编号	设备	进度	时间	状态	结果
1	COM20		0s

点击“选择”按钮,定位到刷机包文件夹:

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global\

注意是images文件夹的上一级文件夹。
选择“全部删除”,而后点击“刷机”。静静等待3分钟左右,提示成功(success)。

不要开机,不要开机,不要开机。

三 卡刷LineageOS包

3.1 将LineageOS固件包、固件升级包、谷歌包复制到到SD卡内或者放到u盘(需要otg线)内,并在开机前插入手机中:

  • lineage-14.1-20180915-UNOFFICIAL-helium.zip
  • firmware-HELIUM_MG-9.2.1.0.zip
  • open_gapps-arm64-7.1-nano-20180916.zip

3.2 进入TWRP

断开手机和电脑的连接,按住(音量+)(电源键),出现MI图标,即可松手,稍等片刻,即可进入TWRP。
直接点击保持只读(Keep Read Only)即可,也可以选择语言(Select Language),这里我直接点击保持只读(Keep Read Only)进入。

3.3 格式化数据区

点击清除(Wipe),格式化Data(Format Data)。
第一次安装LineageOS时忽略此步骤,可能导致手机存储容量不能被正确识别。

3.4 四清

返回(back)Wipe界面,点击高级清除(Advanced Wipe),选择“Dalvik/ART Cache”、“System”、“Data”、“Cache”,滑动清除(Swipe to Wipe)。

3.5 安装LineageOS

返回主界面,点击安装(Install),定位到刷机包所在的“/sdcard1”或者“/usb-otg”目录,选择lineage-14.1-20180915-UNOFFICIAL-helium.zip,添加更多压缩包(Add more Zips)添加固件升级包和谷歌包,然后滑动刷机(Swip to confirm Flash)。安装好后清除缓存(Wipe cache/dalvik)后重启手机(Reboot System)。
等待一段时间,即会进入LineageOS的设置向导界面。

如需刷入谷歌包,请在重启前就刷入,手机重启后想刷的话,需要将手机重置后在刷入,否则可能出现崩溃情况; 当刷入谷歌包时,如果没有国际互联网接入,可以在设置向导界面顺时针方向连续按屏幕四角几圈来跳过。