华硕梅林固件刷机前必读:固件类型、双清、JFFS 与 SSH
学习路径
刷机前先通过固件平台介绍确认机型与固件架构;完成固件和 JFFS 检查后,可继续查看 fancyss 安装与订阅配置 或 Merlin Clash 安装与代理设置。
华硕原厂固件
华硕原厂固件即华硕路由器官方固件,其代号为 Asuswrt,官方固件可以在 华硕官方下载中心 下载到。
下面是历史版本号的格式示例,不表示当前推荐版本: 3.0.0.4.384.9173 、 3.0.0.4.386.41700
当然也有类似这样的版本号: 9.0.0.4_386_55919 ,9.0.0.4 字样开头的固件版本,是华硕官方出品的测试固件
华硕官改固件
通常我们说的官改固件就是指的华硕官改固件
华硕官改固件是 kooldev 开发组(原 koolshare 论坛开发组)基于华硕路由器官方源代码修改而来的,带软件中心的固件,版本号为官方固件版本号后加上 _koolshare 后缀,
如 RT-AX86U 官改固件版本:
3.0.0.4.384_9318_koolshare。
华硕官改固件主要增加软件中心,历史名称包括 koolshare、koolcenter。它允许安装适配该固件的软件插件;具体组件和支持机型应以相应发布帖为准。
加入软件中心通常涉及后台程序、数据库、页面入口及命令行工具等改动。官改由第三方维护,不能据此认为它与官方固件完全相同,也不能跨机型刷写。
梅林原版固件
Asuswrt-Merlin 由 Eric Sauvageau 基于华硕源码维护,增加系统修复、自定义脚本等功能。功能与机型支持见 官方 README。
当前不同机型使用不同分支,例如 3004.388.x、3006.102.x;386.x 属于旧分支示例,不能用作所有机型的当前下载建议。先在官方支持列表找到完整型号与硬件版本,再下载对应固件。未列出的机型不能因名称相似就刷入。
梅林原版不等于带 koolcenter 软件中心的梅林改版。官方下载入口:
梅林原版固件
G 版梅林固件
另外一位开发者:gnuton 大神 G版梅林固件源码,在原版梅林代码的基础上,添加了更多机型的支持,最开始注意到他的项目是因为他做了 DSL-AX82U 的梅林固件。
后来 gnuton 大神在源代码和硬件上都得到了华硕的进一步支持。所以又相继做了 TUF-AX5400、RT-AX82U、ZenWiFi_XT8 的梅林固件,相对于原版梅林固件,这里我愿意称之为 G 版梅林固件 。
按照 gnuton 大神自己的话来说: My builds should support all features available in the original Merlin firmware 。
G 版扩展了部分机型的支持,具体功能仍受硬件、所用源码分支和发布版本限制;以上历史机型举例不替代项目当前的支持列表。
梅林改版固件
梅林改版固件是指 kooldev 开发组基于梅林原版固件源码,或者 G 版梅林固件源码的基础上,再进行开发而来的、带软件中心的改版固件,其版本号和原版梅林固件保持关联,例如历史上的 RT-AX86U 梅林改版版本: 386.5_0 。
相比于梅林原版固件,梅林改版固件最大的区别就是加入了软件中心支持,以前叫做 koolshare 软件中心,现在最新版本叫 koolcenter 软件中心!软件中心赋予了路由器自由安装插件的功能!
网件移植固件
网件机型本身是不支持 ASUSWRT/梅林固件的,但是因为网件的一些机型和华硕路由器硬件基本一致,所以经过一些对源代码的修改,就能实现给网件固件刷移植固件。比如网件 RAX80 的硬件(CPU,无线网卡)和华硕 RT-AX88U 一致,所以 RAX80 刷的梅林改版固件,是在 RT-AX88U 的梅林改版固件基础上移植而来的。
移植固件可能基于梅林,也可能基于华硕官方源码。RAX80、RAX50 等名称只是历史项目举例,不代表当前仍有可用发布;其他型号也需独立核对维护状态。刷写前必须找到对应机型的明确发布、校验值、恢复说明与适用原厂版本,不能仅凭 CPU 相同推断兼容。
固件区别
下表版本号仅用于比较命名方式,均为历史示例;下载以对应机型当前发布为准。
| 出品方 | 华硕官方 | kooldev 开发组 | Eric Sauvageau | Gnuton | kooldev 开发组 | kooldev 开发组 |
|---|---|---|---|---|---|---|
| 代号 | Asuswrt | Asuswrt-Merlin | Asuswrt-Merlin | |||
| 特点 | 官方出品 | 软件中心 | 功能增强 | 功能增强 | 软件中心 | 软件中心 |
| 版本号示例 | 386.41700 | 386.41700_koolshare | 386.5_2 | 386.5_2 | 386.5_2 | 视移植源而定 |
| 相关地址 | 华硕下载中心 | 本站 | 梅林原版下载地址 | GITHUB | 本站 | 本站 |
刷机术语
清除设置和格式化 JFFS 都会删除数据。操作前另存拨号、无线、证书和插件配置,并以当前固件页面对复选框的说明为准;以下菜单名称来自既有界面。
为消除小白在刷机过程中的疑惑,下面列出一下华硕/梅林固件刷机的基本术语及我自己的解释,希望对大家有所帮助。如果你对下面的内容已经比较清楚,那么可以跳过这部分直接进入到刷机流程。
固件双清
双清就是要清除:1. nvram 配置,2:JFFS 分区文件。固件的很多设置都是储存在 nvram 中,例如拨号方式、拨号上网帐号密码、无线网络设置等;固件的很多文件是储存在 JFFS 分区的,例如流量分析储存的流量数据,SSL 证书,UU 加速器程序等。一般同类型固件互刷不需要进行双清,不同类型固件互刷视情况要进行双清,以保证路由器刷机后处于最佳工作状态。
如何双清路由器:进入 [系统管理] – [恢复/导出/上传设置] ,勾选恢复按钮旁的选择框,然后点击恢复按钮。
恢复出厂
恢复出厂就是清除固件的 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 挂载、可用空间以及软件中心服务日志;空白页面也可能来自服务或浏览器错误,不能直接判定需要格式化。
JFFS 分区备份/还原
使用梅林/梅林改版固件的朋友,可能知道梅林固件相对于华硕官方固件,多了 JFFS 分区备份/还原功能,其本质就是将 JFFS 分区内的所有文件进行打包,然后在需要的时候进行还原。此功能在某些时候会特别管用,比如某个版本固件升级后,JFFS 分区容量被缩小了,这会导致储存在 JFFS 分区靠后的文件块被强行清除,从而导致 JFFS 分区内文件丢失、文件损坏。而使用 JFFS 分区备份/还原功能,在每次固件升级前先备份一次 JFFS 分区内容,在固件升级后,如果 JFFS 分区内容出现丢失、损坏等,再用备份进行还原即可规避上面的问题。当然如果是梅林改版固件的话,只进行还原还是不够的,因为刚还原后,软件中心相关程序虽然还原了,但是其进程还没有启动,此时重启一次路由器,才能让软件中心在还原后正常工作。
SSH 使用
- 启用 SSH: 在路由器后台的
[系统管理]-[系统设置]里,将[启用 SSH]更改为LAN only,将端口号设置为22或者其它数字,点击页面下方[应用本页面设置]保存更改; - 登录 SSH: 下载 SSH 软件,如 putty ,运行后在 Host Name(or IP address)处输入路由器的局域网 IP 地址,如:
192.168.50.1或者router.asus.com,端口为上一步中[SSH 端口]中的端口,如果没有更改,则为22,点击[Open],首次连接若弹出 PuTTY Security Alert,先确认 IP 与主机密钥属于自己的路由器后再保存;已保存的密钥意外变化时先查明原因,不要直接覆盖;在界面的login as后面输入路由器的登录帐号后回车,然后在 password: 提示符后输入路由器登录密码后回车(记住:输入密码的时候不会有任何显示,输入完成后直接回车即可),完成登录。 - 键入命令: 键入命令时建议将系统输入法切换为英文,也可以复制命令后使用右键即可粘贴命令,粘贴完毕后按回车即可执行命令。