【20220512】TUF-AX5400 官改固件
TUF-AX5400 官改固件
〇、推广交流
广告:固件/软件中心维护不易,如果您支持我们的工作,可以考虑购买软件中心的ddnsto和wifi boost,以支持开发者,谢谢!
一、刷机须知
- 注意1:请刷机的朋友认真阅读本帖!!!刷机带来的风险请自行承担!!!
- 注意2:欢迎转载本帖,但是请一定尊重开发组的成果,注明本帖来源!!!
二、固件主要特色
官改固件的开发初衷是在尽量保持ASUS官方固件原汁原味的基础上,增加软件中心及对应插件的支持。
所以:官改固件 = 官方固件 + 为了软件中心进行必要的最小化改动 + 软件中心
- 使用TUF-AX5400华硕官方固件源代码为基础修改而来;
- 和梅林固件/梅林改版固件不同,TUF-AX5400的官改固件继承官方固件的ROG骚红皮肤;
- 官方固件有的功能,改版固件都有,如UU加速器、AiMesh2.0等;
- 开放TUF-AX5400作为AiMesh路由时,可以通过AiMesh节点IP地址访问节点web后台;
- 固件后台界面优化:字体优化,首页默认显示状态页面;
- 增加一些软件中心/插件需要用到的功能,如dnsmasq with ipset、base64、一些内核模块支持等;
- koolshare软件中心支持:hnd软件中心;
图片欣赏
三、支持机型
- 本固件仅支持华硕
TUF-AX5400
机型,其它机型请勿使用本固件!
四、更新日志
386_46061_R1(2022年05月12日)
此版本为386_46061修复版本,刷机后版本号不会变化
- 修复上个版本缺少xt_set、ipset等重要内核模块导致某些插件无法使用的问题
386_46061(2022年04月14日)
TUF-AX5400路由器首个官改固件版本
- 同步ASUS最新TUF-AX5400代码:GPL of ASUS TUF-AX5400 for firmware 46061;
- 添加koolshare软件中心支持,以及软件中心支持相关的开机脚本、内核模块等支持;
- 固件后台界面优化:字体优化,首页默认显示CPU状态页面;
- 开放TUF-AX5400作为AiMesh路由时,可以通过AiMesh节点IP地址节点web后台;
- 关闭华硕固件自动更新功能;
- 禁用了国内用户用不到的Alexa功能;
- 添加koolshare软件中心支持:koolcenter alpha 1.9.1.4。
五、刷机步骤
刷机准备
- 建议下载好固件后,对固件的md5/sha1校验码进行核对,以保证固件完整性;
- 建议刷机全程使用电脑端谷歌Chrome,或者Chromium内核的浏览器进行操作;
- 如果使用了USB2JFFS插件,建议先使用卸载掉USB的挂载后在进行刷机,刷机后再进行挂载。
固件定义
- 约定
原厂固件
为TUF-AX5400华硕官方固件:TUF-AX5400华硕官方固件下载地址; - 约定
G版梅林固件
为开发者gnuton大神在原版梅林固件的基础上,继续添加更多机型支持,如TUF-AX5400的梅林固件支持,这里我将其称为G版梅林固件,其版本号为386.x_y
,如:386.5_2
; - 约定
改版梅林
为koolcenter开发组在https://www.koolcenter.com/category/merlin发布的发布的的基于梅林固件修改而来的带软件中心的梅林改版固件,其版本号和梅林原版固件保持一致,如TUF-AX5400梅林改版固件版本:386.5_2
。 - 约定
官改固件
为koolcenter开发组在本帖发布的基于华硕官方TUF-AX5400源代码修改而来的带软件中心的官改固件。
刷机术语
为消除小白在刷机过程中的疑惑,下面列出一下华硕/梅林固件刷机的基本术语及我自己的解释,希望对大家有所帮助。如果你对下面的内容已经比较清楚,那么可以跳过这部分直接进入到刷机流程。
-
固件双清:双清就是要清除: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挂载状态:通过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分区的挂载就出现了问题。遇到这种情况,可以参考下文FAQ中的【Q3:刷机后软件中心一片空白】来尝试解决。 -
JFFS分区备份/还原:使用梅林/梅林改版固件的朋友,可能知道梅林固件相对于华硕官方固件,多了JFFS分区备份/还原功能,其本质就是将JFFS分区内的所有文件进行打包,然后在需要的时候进行还原。此功能在某些时候会特别管用,比如某个版本固件升级后,JFFS分区容量被缩小了,这会导致储存在JFFS分区靠后的文件块被强行清除,从而导致JFFS分区内文件丢失、文件损坏。而使用JFFS分区备份/还原功能,在每次固件升级前先备份一次JFFS分区内容,在固件升级后,如果JFFS分区内容出现丢失、损坏等,再用备份进行还原即可规避上面的问题。当然如果是梅林改版固件的话,只进行还原还是不够的,因为刚还原后,软件中心相关程序虽然还原了,但是其进程还没有启动,此时需要重启一次路由器,才能让软件中心在还原后正常工作。
开始刷机
因为救援模式的存在,加上华硕路由器的固件是双分区结构,所以华硕路由器刷机理论上是刷不死的,只要刷机过程中有灯亮,那么出现任何无法启动的问题都是能救得活的。所以不论你当前处在什么类型固件、什么固件版本下,都可以尝试一步刷到位:直接刷机到最新的固件!如果能正常通过刷机,成功后进行一次固件双清,达到干净刷机的效果。如果不能通过刷机,救援模式也是分分钟能搞定的事情!所以请不要被下面写得非常详细的刷机流程吓到。
当然,也可以将刷机做到很细致,那么根据你现在的固件,用下面A - E的操作来对号入座把!虽然细致刷机过程也可能发生意外,但是请记住三大法宝:重启、重置、救援模式。
A. 原厂固件/G版梅林 → 官改固件:
如无特殊说明,刷机完成后不用恢复出产设置,当然恢复一次更好!
如刷机后皮肤显示不正常,请使用CTRL + F5快捷键清除浏览器缓存即可!
- 在原产固件/原版梅林固件升级页面下直接上传.w 后缀的TUF-AX5400官改固件文件;
- 刷机完成后会自动重启,此时刷机完成;
- 重启后先将路由器连上网络,然后进入软件中心将软件中心更新到最新版本。
B. 官改固件 → 官改固件:
如无特殊说明,刷机完成后不用恢复出产设置!
- 在本帖下载并刷过官改固件的,在固件升级页面下直接上传.w 后缀的官改固件文件即可!
- 刷机后所有已经安装的插件都会被保留,不会受到影响。
C. 改版梅林 → 官改固件:
如无特殊说明,刷机完成后不用恢复出厂设置,当然恢复一次更好!
如刷机后皮肤显示不正常,请使用CTRL + F5快捷键清除浏览器缓存即可!
- 在改版梅林固件升级页面直接上传.w后缀的本帖提供的官改固件,路由自动重启后刷机完成;
- 刷机后软件中心和所有已经安装的插件都会被保留,不会受到影响。
D. 官改固件 → 改版梅林:
注意:如果刷机完成如果出现jffs2_scripts无法勾选(勾选后应用变成未勾选),那就必须进行恢复出厂设置!
如刷机后皮肤显示不正常,请使用CTRL + F5快捷键清除浏览器缓存即可!
- 在官改固件升级页面下直接上传.w后缀的改版梅林固件,路由自动重启后刷机完成;
- 如果刷机后软件中心正常,则无需回复出厂,如果出现jffs2_scripts无法勾选,那就需要恢复出厂设置!
E. 官改固件 → 原厂固件:
从官改固件刷回原厂固件,以下第3点或第4点操作,请选择一个来操作。当然你也可以不进行这个操作,让软件中心文件保留在官方固件的JFFS分区,以后你刷回官改固件,软件中心就会恢复成上次官改的状态。
- 在官改固件升级页面下直接上传.w 后缀的华硕原厂固件文件;
- 刷机完成后固件恢复为官方固件,但是JFFS分区仍然会保留有一些软件中心相关文件;
- 你可以参考下文重要命令里的删除软件中心,将JFFS内残留的软件中心文件删除;
- 也可以执行一次恢复出厂设置(同时勾选恢复按钮旁边的选择框),这样也将清空JFFS内除软件中心外的其它文件
六、注意事项
- 刷机后如果界面显示不正常,请使用组合键
ctrl + F5
强制清空浏览器缓存后重试; - 强烈建议使用chrome浏览器或者chromium内核的浏览器,以保持最佳兼容性;
- 单纯的恢复出厂设置并不能完全清除jffs分区的软件中心文件,需要在恢复出厂设置的时候同时勾选恢复按钮旁边的选择框;
七、FAQ
- 此处列出一些经常被问到的问题(FAQ)的回答,持续更新中~
- FAQ更新日期:2020年05月07日
Q1:TUF-AX5400的华硕官改固件和梅林改版固件比较有什么区别,哪个好用,哪个更稳定?
**A1:**TUF-AX5400的梅林固件不是来自原版梅林固件开发者Eric Sauvageau的源代码,而是来自另外一位开发者:gnuton。gnuton大神,在原版梅林代码的基础上,添加了更多机型的支持(gnuton大神的源代码在这),这其中就包括了TUF-AX5400机型。值得注意的是,TUF-AX5400的梅林改版固件,没有延续使用梅林固件的ASUSWRT皮肤,而是继承了华硕TUF-AX5400官方固件的TUF黑橙色风格的电竞风格皮肤。总结下来TUF-AX5400的梅林固件来源:TUF-AX5400华硕官方固件 + 梅林原版固件 → GNUTON梅林G版固件 → koolcenter梅林改版固件。而华硕官改固件是直接基于TUF-AX5400官方固件源代码修改而来。两者都是在基础固件代码上以添加软件中心为目的。
梅林改版固件: 首先,梅林改版固件有更多的功能和bug修复。而梅林改版固件使用梅林固件源代码为基础(asuswrt-merlin.ng代码)修改而来,也继承了这些功能和bug修复。具体来说梅林固件特有的功能,梅林改版固件都有(参考此链接:梅林固件添加的功能)。但是梅林固件不能使用的功能,梅林改版固件也不能使用,比如说固件自带的UU加速器等;
华硕官改固件: 华硕官改固件更加接近官方固件,因为官改固件的开发初衷是在尽量保持ASUS官方固件原汁原味的基础上,增加软件中心及对应插件的支持。所以华硕固件的功能,在官改固件上都有!比如UU加速器,其在华硕官改固件上就可以正常使用!
当然,至于软件中心和插件来说,使用梅林改版固件或者华硕官改固件是没有本质的区别的!两者的固件在稳定性上一般来说也没有太大的区别,选哪个固件基于个人喜好即可。硬要给选择建议的话就是:如果你是官方固件党,又想用到一些插件的功能,可以选择华硕官改固件;如果你追求功能,如openvpn,nfs挂载,AMTM,定义开机脚本,更改软件启动配置等等功能,可以选择梅林改版固件。
Q2:我手动安装第三方xxx插件失败怎么办?
A2: 目前各个平台的软件中心也没有提供严格的插件开发规范,加上论坛的插件区管理比较混乱,没有进行良好的插件审核,所以经常有一些第三方插件无法兼容所有软件中心平台,但是却能在这些平台上进行安装。
- 本贴的TUF-AX5400属于axhnd.675x平台机型,对于hnd/axhnd/axhnd.675/p1axhnd.675x平台机型,使用的是rogsoft软件中心,这些机型的插件是可以通用的,具体请见:rogsoft机型支持;
- 目前koolshare开发组推出的几个版本的软件中心:arm380软件中心,arm384软件中心,hnd软件中心,qca软件中心,LEDE-酷软,他们的插件都是互不兼容的!具体可以参考:koolshare几个版本的软件中心区别;
- 对于第三方作者开发的插件,除非作者明确表示其支持hnd/axhnd/axhnd.675平台,不然请不要随意安装!不然因为可能没有遵循开发规范,安装后无法使用,甚至给路由器带来问题!
Q3:软件中心一直显示更新中怎么办?
A3: 此问题也可以有很多变种,比如:软件中心不显示在线版本号,此问题可能由多种原因导致,请尝试下面的方法:
- 访问https://rogsoft.ddnsto.com/,请确保你访问此网站的时候使用的是连接到该路由器下的客户端,如果显示
Hello to everyone
字样,表示你的路由下的本地网络访问软件中心服务器没有问题;如果不显示上述字样,则可能是是网络方面的问题。- 情况1,路由器本地网络故障:开启路由器SSH功能后,通过putty、xshell等SSH软件连接路由器,输入命令:
ping armsoft.ddnsto.com
,看是否能ping通服务器,如果无法解析ip地址,可以尝试更换路由器dns设定后再试;如果能解析ip地址当时无法ping通,可能是本地网络问题或者软件中心服务器正在维护。- 情况2,路由器本地网络故障:开启路由器SSH功能后,通过putty、xshell等SSH软件连接路由器,输入命令:
curl -sS4L https://armsoft.ddnsto.com/|grep Hello
,如果显示了两行内容都包含Hello to everyone
字样,表明路由器访问软件中心web服务器没有问题;如果没有以上显示,可能是本地网络问题或者软件中心服务器正在维护。- 情况3,服务器网络故障:这有可能是koolshare软件中心服务器维护,建议可以加本论坛相关讨论群组,可以第一时间获得相关信息。
- 如果排除了以上网络故障,那么可能是程序运行方面的问题。可以进行以下操作:开启路由器SSH功能后,通过putty、xshell等SSH软件连接路由器后,输入命令:
ps|grep -w httpdb|grep -v grep
,如果有输出内容表明软件中心web服务运行正常,如果输出内容为空表明软件中心web服务运行异常,请参考下文:重要命令里的重启软件中心以解决httpdb没有运行的问题。- 开启路由器SSH功能后,通过putty、xshell等SSH软件连接路由器后,输入命令:
ps|grep skipd|grep -v grep
,如果有输出内容表明软件中心数据库服务运行正常,如果输出内容为空表明软件中心数据库服务运行异常,可以尝试通过运行命令service restart_skipd
来重启skipd服务。如果运行重启skipd的命令后,再次运行ps|grep skipd|grep -v grep
仍然没有输出,说明储存在jffs分区的skipd数据库可能遭到了损坏,此时可以请参考下文:重要命令里的软件中心重置。- 还有一种较为常见的情况,在刷机过程中,jffs分区中存放的软件中心相关文件在刷机过程/路由器断电/重启过程中被破坏了,如果被破坏的文件正好是httpdb、软件中心数据库等关键文件,也会导致软件中心一直显示更新中的情况。虽然部分情况下,替换损坏的文件可以修复此问题,但是由于无法知晓是否有其它的文件损坏,所以这种情况下建议对路由器进行双清操作,双清完成后,路由器jffs分区内的软件中心相关文件会得到重建,然后在此基础上手动安装插件并手动配置,切记不要使用以前的jffs分区备份来进行恢复!
- 最后,最严重的情况,路由器的jffs分区遇到了很多无法屏蔽的坏块,查看路由器有多少坏块,先重启路由器,然后用putty、xshell等SSH软件连接路由器后,参考下文:重要命令里的TUF-AX5400查询坏块命令。一般来说,两三个坏块是正常品控水平,如果坏块太多,建议走售后渠道。
Q4:软件中心页面一片空白
A4: 按照下面的顺序依次尝试:
- 如果你使用的固件是koolcenter软件中心,那么可能会出现有侧边栏却没有软件中心界面的问题,遇到此情况建议更换谷歌Chrome,或者Chromium内核的浏览器!如果你连侧边栏都看不到,点击软件中心菜单栏后一片空白,请继续往下读。
- 参考本贴的重要命令章节部分,使用ssh登陆到路由器后台后,输入命令:
mount | grep -w /jffs
,如果看到类似/dev/mtdblock9 on /jffs type jffs2 (rw,noatime)
这样的输出,说明/jffs成功挂载了,挂载设备为/dev/mtdblock9
。如果没有任何输出,则说明/jffs分区没有成功挂载,请尝试重启路由、重置路由等操作后再次查看jffs分区是否成功挂载,如果仍然不行,尝试运行以下命令手动挂载TUF-AX5400的jffs分区:mount -t jffs2 -o rw,noatime /dev/mtdblock9 /jffs
,运行完毕后再次mount | grep /jffs
,检查是否成功挂载。如果手动挂载还是不行,那么可能是FALSH有问题或者是系统有问题,这种建议售后渠道换机了。- 如果jffs分区挂载没有问题,软件中心页面还是空白,可以尝试使用下文:重要命令里的软件中心重置命令,来重置一次软件中心。然后基本上就能看到软件中心页面了。
Q5:华硕发了TUF-AX5400最新固件,为什么此帖还不更新官改固件啊?
A5: 官改固件是来源于对华硕放出的固件源代码的修改,并不是固件本身。华硕固件发布后一般会在2周到2个月之间放出源代码,此时才能进行修改工作,修改过程还涉及到一些测试、回炉工作,因此请大家看到华硕固件出来后**不要催更!**我一般都会在源码放出来后第一时间更新的!
如何查看TUF-AX5400路由器的源代码:进入TUF-AX5400华硕官方固件下载地址,在请选择操作系统处,选择其他,下方如果出现Source Code,则是该路由器的源代码。
Q6:我的xxx固件无线有问题,能否修复?
A6: 无线问题基本无能为力,因为华硕使用的是博通商业代码,无线这部分在固件源代码里是不开源的,没法进行任何修改或者调整。
Q7:可不可给固件以增加xxx功能?
A7: 基本不可以,本官改固件的开发宗旨是在尽量保持ASUS官方固件原汁原味的基础上,增加软件中心及对应插件的支持。所以一些官方固件所有的问题,在官改固件中也可能会遗传。koolshare固件开发组会尽量对一些ASUS已知的bug进行修复,不过仅限于非常重要的。另外,添加功能是软件中心的使命,软件中心就是为此而生的;
Q8:我现在已经是xxx的版本,用着挺稳定,看见本帖更新了最新固件,我还需要跟随最新版本升级吗?升级后稳定吗?升级后需要恢复出厂设置吗?
A8: 非常建议升级!最新的固件版本不仅有来自ASUS官方的一些功能更新,也会包含ASUS官方的一些安全更新、稳定性更新,一般来说会比老版本固件更加稳定。同时,koolshare软件中心和相关插件也是持续为最新版本的官改固件进行更新的,所以是强烈建议升级到最新版本的官改的。另外已经刷过koolshare官改固件的,升级到最新koolshare官改固件,如无特殊说明,是不需要做恢复出厂设置等操作的,固件升级后所有的插件都会得到保留。
八、重要命令
以下操作需要使用支持SSH协议的软件,连接到路由器后台进行操作,如果不会使用,可以参考下面步骤:
- 启用SSH: 在路由器后台的【系统管理】-【系统设置】里,将【启用 SSH】更改为
LAN only
,将端口号设置为22
或者其它数字,点击页面下方【应用本页面设置】保存更改;- 登录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: 提示符后输入路由器登录密码
后回车(记住:输入密码的时候不会有任何显示,输入完成后直接回车即可),完成登录。- 键入命令: 键入命令时建议将系统输入法切换为英文,也可以复制命令后使用右键即可粘贴命令,粘贴完毕后按回车即可执行命令。
1. 软件中心重置
- 开启路由器SSH功能后,通过putty、xshell等SSH软件连接路由器,直接在ssh客户端内运行下面的程序即可。
koolshare-reset
2. 清空JFFS空间
- 注意,此操作会删除jffs分区内的所有文件,包括但不限于:软件中心、安装的证书、TrafficAnalyzer的数据库、自定义的设备图标等
kill -9 $(pidof skipd)
cd /jffs && rm -r .[a-zA-Z_]* *
reboot
3. 删除软件中心
- 适用于官改固件刷回原厂固件,需要删除留在jffs分区内软件中心,而不删除其它文件;
- 如果是在官改固件下删除软件中心,路由器重启后软件中心会重新初始化为最初状态。
kill -9 $(pidof skipd)
cd /jffs
rm -rf .asusrouter .koolshare db ksdb config/* etc/profile scripts/*
reboot
4. 重启软件中心
- 当软件中心相关进程挂掉的时候,此时可以用ssh进入路由器后台,输入以下命令重启软件中心:
sh /koolshare/perp/perp.sh
5. TUF-AX5400查询坏块命令
- 建议先重启一次路由器,再输入以下命令进行查询,返回信息的行数即为坏块的数量
cat /sys/class/mtd/mtd6/bad_blocks
九、固件下载
以下固件下载服务器由海波云Hypo.cn 友情赞助!
384_46061_R1
MD5: C09542922DE6AB248E6BBA1B67C62E32
SHA1: 5CC41A6444F86D68AD3FC79FDA7ED4B08D95BC22
384_46061
MD5: 775E6E14D5175E6FE29D33BDE8DF113C
SHA1: 9F8F3540586079B988652EADF3B2C72639619B70
下载链接:TUF-AX5400_386_46061