固件定义

1️⃣华硕原厂固件

华硕原厂固件即华硕路由器官方固件,其代号为Asuswrt,官方固件可以在华硕官方下载中心下载到。一般华硕官方固件的版本号格式为:3.0.0.4.384.91733.0.0.4.386.417003.0.0.4.388.21069,当然也有类似这样的版本号:9.0.0.4_386_55919,9.0.0.4字样开头的固件版本,是华硕官方出品的测试固件,一般也能在华硕官方下载中心下载到,或者在Small Net Builder论坛的Asuswrt板块下载到。384、386、388是大版本号,数字越大版本越新;大版本号后面接的是小版本号,一般同一个大版本之间变化的就是这里,数字应该代表的是固件经过了多少改变,改变越多版本之间差异越多。

2️⃣华硕官改固件

通常我们说的官改固件就是指的华硕官改固件,华硕官改固件是kooldev开发组(原koolshare论坛开发组)基于华硕路由器官方源代码修改而来的,带软件中心的固件,版本号为官方固件版本号后加上_koolshare后缀,如RT-AX86U官改固件版本:3.0.0.4.384_9318_koolshare。从388大版本开始,版本号为官方固件版本号后加上_koolcenter后缀,如RT-AX86U PRO官改固件版本:3.0.0.4.388_21069_koolcenter

华硕官改固件相比华硕官方固件,最大的区别就是加入了软件中心支持,以前叫做koolshare软件中心,现在最新版本叫koolcenter软件中心。软件中心赋予了路由器自由安装插件的功能,通过在线安装或者离线安装可以实现在路由器内实现更多的功能。

事实上,我们对官改固件的制作相当克制,做法是以最小的代码改动来加入软件中心支持,比如软件中心运行需要的主程序httpdb,软件中心数据库skipd,固件的软件中心侧边栏入口,软件中心需要的一些busybox功能支持如xargs等。所以官改固件和官方固件除了软件中心部分,其余部分几乎可以看作是相同的。

3️⃣梅林原版固件

加拿大独立开发者Eric Sauvageau在华硕官方源码上二次开发的第三方固件,其代号为Asuswrt-Merlin,相较华硕官方固件,其区别为:这些功能,比如一些系统修复、NFS支持、AMTM、merlin-addon,多种开机启动项支持等等。

通常我们说到梅林固件,就是指梅林原版固件,梅林原版固件目前其版本号一般为386.x,如:386.1386.2_6,梅林原版固件的下载地址为:https://www.asuswrt-merlin.net/

4️⃣G版梅林固件

另外一位开发者:gnuton大神,在原版梅林代码的基础上,添加了更多机型的支持(gnuton大神的源代码在这),最开始注意到他的项目是因为他做了DSL-AX82U的梅林固件。后来gnuton大神在源代码和硬件上都得到了华硕的进一步支持。所以又相继做了TUF-AX5400、RT-AX82U、ZenWiFi_XT8的梅林固件,相对于原版梅林固件,这里我愿意称之为G版梅林固件。按照gnuton大神自己的话来说:My builds should support all features available in the original Merlin firmware。所以原版梅林固件支持的功能,G版梅林固件都是支持的!总结下来,G版梅林固件算是在源码梅林基础上对更多机型的一个补全。

5️⃣梅林改版固件

梅林改版固件是指kooldev开发组基于梅林原版固件源码,或者G版梅林固件源码的基础上,再进行开发而来的、带软件中心的改版固件,其版本号和原版梅林固件持一致,如RT-AX86U官改固件版本:386.5_0

相比于梅林原版固件,梅林改版固件最大的区别就是加入了软件中心支持,,以前叫做koolshare软件中心,现在最新版本叫koolcenter软件中心!软件中心赋予了路由器自由安装插件的功能!

6️⃣网件移植固件

网件机型本身是不支持ASUSWRT/梅林固件的,但是因为网件的一些机型和华硕路由器硬件基本一致,所以经过一些对源代码的修改,就能实现给网件固件刷移植固件。比如网件RAX80的硬件(CPU,无线网卡)和华硕RT-AX88U一致,所以RAX80刷的梅林改版固件,是在RT-AX88U的梅林改版固件基础上移植而来的。

目前kooldev开发组制作的网件移植固件均是在梅林改版固件基础上移植的,比如RAX80是从RT-AX88U梅林改本固件移植而来,RAX50是从RT-AX58U梅林改版固件移植而来。但是也有例外的情况,比如即将发布的网件RAX70移植固件,因为其对应的华硕机型RT-AX95Q(ZenWiFi AX6600)并没有梅林原版固件的支持,所以RAX70的移植固件是从RT-AX95Q的华硕官方源代码移植而来。

 华硕原厂固件华硕官改固件梅林原版固件G版梅林固件梅林改版固件网件移植固件
出品方华硕官方kooldev开发组Eric SauvageauGnutonkooldev开发组kooldev开发组
代号Asuswrt Asuswrt-MerlinAsuswrt-Merlin  
特点官方出品软件中心功能增强功能增强软件中心软件中心
版本号示例386.41700386.41700_koolshare386.5_2386.5_2386.5_2视移植源而定
相关地址华硕下载中心本站梅林原版下载地址GITHUB本站本站

▲以上表格总结了几种固件的一些区别

刷机术语

为消除小白在刷机过程中的疑惑,下面列出一下华硕/梅林固件刷机的基本术语及我自己的解释,希望对大家有所帮助。如果你对下面的内容已经比较清楚,那么可以跳过这部分直接进入到刷机流程。

1. 固件双清

双清就是要清除:1. nvram配置,2:JFFS分区文件。固件的很多设置都是储存在nvram中,例如拨号方式、拨号上网帐号密码、无线网络设置等;固件的很多文件是储存在JFFS分区的,例如流量分析储存的流量数据,SSL证书,UU加速器程序等。一般同类型固件互刷不需要进行双清,不同类型固件互刷视情况要进行双清,以保证路由器刷机后处于最佳工作状态。

如何双清路由器:进入【系统管理 】–【 恢复/导出/上传设置】,勾选恢复按钮旁的选择框,然后点击恢复按钮。

2. 恢复出厂

恢复出厂就是清除固件的nvram配置,但是不清除JFFS分区文件。这样流量分析、SSL证书等文件并不会丢失。值得注意的是很多朋友有用【导出设置】来备份固件配置的习惯,而在刷固件,特别是不同类型固件互刷的情况下,是不适用使用备份的配置来恢复刚刚进行了恢复出厂的机器的,因为这样就相当于你什么也没恢复。所以请一定不要使用以前备份的配置来恢复刚刷机后,又进行过恢复出厂的路由器。使用【导出设置】备份的配置文件,一般进行了一些设置导致路由器出了问题,将路由器恢复到原厂默认值后,再用备份配置进行恢复,使用备份配置前后,路由器都是同一个版本。

如何恢复出厂:进入【系统管理 】–【 恢复/导出/上传设置】,点击恢复按钮,记住不要勾选恢复按钮右侧的选择框!!

格式化JFFS

格式化JFFS就是对JFFS分区进行格式化,这样会删除JFFS分区中储存的所有文件,而不影响路由器的其它配置。在梅林改版固件中,因为软件中心就是储存在JFFS分区中的,所以格式化JFFS可以快速的清除当前JFFS分区中的软件中心文件,从而实现软件中心的重置。当然,格式化JFFS,也会删除固件在JFFS分区中存放的一些文件,如SSL证书、流量分析数据等。如果你只想重置软件中心,而不伤害其它JFFS分区中的文件,你可以参考下文【重要命令】中的【软件中心重置】或【删除软件中心】。

如何格式化JFFS:在梅林/梅林改版固件中,在【系统管理】–【 系统设置】内勾选Format JFFS partition at next boot(中文意思就是:下次重启的时候格式化JFFS分区),然后点击应用本页面设置,成功后点击顶部重启按钮重启路由器。路由器重启过程中就会对JFFS分区进行格式化,重启完成后,Format JFFS partition at next boot将自动变为否,以免下次路由器重启的时候,JFFS分区再次被格式化。

JFFS挂载状态

JFFS分区是华硕路由器的一个重要分区,因为该分区的可读写的特性,华硕官方会利用其存放一些数据库、图片、甚至程序等文件。比如华硕路由器的【Traffic Analyzer 流量分析】功能,其数据库就存放在JFFS分区,还有【网络地图】里的在线客户端自定义的图标文件,远程访问的证书文件等等,都存放在JFFS分区。JFFS分区

通过SSH连接到路由器后台后输入命令(如果不知道如何使用SSH执行命令,可以参考下文的【SSH使用】教程):mount | grep -w /jffs,如果看到类似/dev/mtdblock9 on /jffs type jffs2 (rw,noatime)这样的输出,说明/jffs成功挂载了,挂载设备为/dev/mtdblock9。当然,在梅林/梅林改版固件中,只需要进入【Tools - Sysinfo】页面,在JFFS一栏即可看到JFFS挂载状态,如果成功挂载,将会显示JFFS已用容量和总容量,如果没有挂在,则会显示umounted字样。因为软件中心是储存在JFFS中的,所以如果软件中心进入后是白色空白页面,一般来说JFFS分区的挂载就出现了问题。遇到这种情况,可以参考常见问题板块中的【Q4:刷机后软件中心一片空白】来尝试解决。

JFFS分区备份/还原

使用梅林/梅林改版固件的朋友,可能知道梅林固件相对于华硕官方固件,多了JFFS分区备份/还原功能,其本质就是将JFFS分区内的所有文件进行打包,然后在需要的时候进行还原。此功能在某些时候会特别管用,比如某个版本固件升级后,JFFS分区容量被缩小了,这会导致储存在JFFS分区靠后的文件块被强行清除,从而导致JFFS分区内文件丢失、文件损坏。而使用JFFS分区备份/还原功能,在每次固件升级前先备份一次JFFS分区内容,在固件升级后,如果JFFS分区内容出现丢失、损坏等,再用备份进行还原即可规避上面的问题。当然如果是梅林改版固件的话,只进行还原还是不够的,因为刚还原后,软件中心相关程序虽然还原了,但是其进程还没有启动,此时重启一次路由器,才能让软件中心在还原后正常工作。

SSH使用

  1. 启用SSH: 在路由器后台的【系统管理】-【系统设置】里,将【启用 SSH】更改为LAN only,将端口号设置为22或者其它数字,点击页面下方【应用本页面设置】保存更改;
  2. 登录SSH: 下载SSH软件,如putty(官方绿色版putty 0.74下载地址),运行后在Host Name(or IP address)处输入路由器的局域网IP地址,如:192.168.50.1或者router.asus.com,端口为上一步中【SSH 端口】中的端口,如果没有更改,则为22,点击【Open】,如果有弹出Putty Security Alert,点击【是】;在界面的login as后面输入路由器的登录帐号后回车,然后在 password: 提示符后输入路由器登录密码后回车(记住:输入密码的时候不会有任何显示,输入完成后直接回车即可),完成登录。
  3. 键入命令: 键入命令时建议将系统输入法切换为英文,也可以复制命令后使用右键即可粘贴命令,粘贴完毕后按回车即可执行命令。

刷机准备

开始刷机

因为救援模式的存在,所以华硕路由器刷机是刷不死的,只要刷机过程中有灯亮,那么出现任何无法启动的问题都是能救得活的。所以不论你当前处在什么类型固件、什么固件版本下,都可以尝试在固件上传页面直接上传固件。

如果能正常通过刷机,成功后进行一次固件双清,达到干净刷机的效果。

如果不能通过刷机,或者刷机变砖头了,救援模式也是分分钟能搞定的事情!