找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 7162|回复: 34

OpenWrt One 路由器(MT7981,主线op)超频bl2编译教程

[复制链接]
发表于 2024-12-8 23:28 | 显示全部楼层 |阅读模式
本帖最后由 WuSiYu 于 2024-12-9 22:23 编辑

近日OpenWrt官方出了台MT7981的路由器,就是价格非常感人,不过看在它带RTC、POE、GPIO、nor/nand双启动、type-c转串口、还有M2 nvme槽(以及情怀)的份上还是买了一台玩玩


这机器最大的短板就是弱鸡的双核1.3G的MT7981,跑nat+wifi到千兆就快能吃满CPU了(无offload情况),所以想着超个频

参考了论坛里大佬的帖子:https://www.right.com.cn/forum/f ... wthread&tid=8387979 ,不过里面的nand固件只有开NMBM的,这台机器没NMBM用不了,所以就自己摸索了下方法,发在这里以供他人参考,其他没NMBM的nand理论上也能用(但请先确定自己的环境能成功救砖bl2再刷)。我手里这台能从1.3G超到1.7G,跑源里的coremark能从4400分提高到5750分。之后再到1.76G时无线高负载时会重启,到1.8G时开机到一半就会死机,大概是这soc的极限了,求稳可以只超到1.6GHz,此时coremark为5400分




简而言之就是修改bl2的pll初始化代码,位置在这里:https://github.com/mtk-openwrt/a ... ivers/pll/pll.c#L97,修改PLL的频率值和分频值

以下是详细步骤:
1.首先下载最新的OpenWrt 24.10源码,或者直接下载OpenWrt One原厂固件的源码包,里面自带config:https://mirror2.openwrt.org/sour ... s-3098b4bf07.tar.xz

2.先编译一遍代码,确保能成功编译出openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin这个文件,这个就是nand flash上的bl2(不要跟nor-preloader搞混,那个是给nor flash的,这机器的nor flash基本只在救砖的时候用),顺便也能把bl2的源码下载下来,供下一步使用

3.编译完后,这里偷个懒,直接编辑openwrt源码目录下的./build_dir/target-aarch64_cortex-a53_musl/arm-trusted-firmware-mediatek-mt7981-spim-nand-ubi-ddr4/arm-trusted-firmware-mediatek-2024.01.17~bacca82a/plat/mediatek/mt7981/drivers/pll/pll.c文件(注意这样直接编辑的话make clean后这个文件的改动就丢了,标准做法是写个patch,这里只是图省事),其他机型请根据实际情况修改路径中的spim-nand-ubi-ddr4,找到正确的软件包

需要修改mtk_pll_init()函数其中的/* Set PLL frequency */这段,具体修改后的代码和解释如下:

  1. /* Set PLL frequency */
  2. // 241208: overclock hack
  3. NOTICE("THIS IS AN OVERCLOKING BL2!\n");
  4. NOTICE("set arm freq to 1.60 GHz:\n");


  5. // 设置频率值,原始为2分频,0x82 = 130,实际对应1.3GHz:
  6. // mmio_write_32(ARMPLL_CON1, 0x82000000); /* 1.3G */)
  7. // 由于这个值再大一些的话会设置失败,我们要使用1分频(不分频),0x50 = 80,此时对应1.6G,0x55 = 85,对应1.7G,一次类推

  8. mmio_write_32(ARMPLL_CON1, 0x50000000); /* 1.6G */
  9. // mmio_write_32(ARMPLL_CON1, 0x55000000); /* 1.7G */
  10. NOTICE("ARMPLL_CON1 = 0x%x\n", mmio_read_32(ARMPLL_CON1));

  11. // 设置分频比,原始为2分频,还有个注释掉的4分频(用这个就是650MHz):
  12. // //mmio_setbits_32(ARMPLL_CON0, 0x124); /* divider for 650M */
  13. // mmio_setbits_32(ARMPLL_CON0, 0x114); /* divider for 1.3G */

  14. // 修改为不分频,这个寄存器的4~6位(从0开始数)为分频值,由于默认是001(2分频),这里要将其清零(1分频),然后再设置其余bits
  15. mmio_clrbits_32(ARMPLL_CON0, 0x70); /* divider for >1.3G */
  16. mmio_setbits_32(ARMPLL_CON0, 0x104);
  17. NOTICE("ARMPLL_CON0 = 0x%x\n", mmio_read_32(ARMPLL_CON0));
复制代码


参考资料:https://mirror2.openwrt.org/docs ... Open_Part1_V1.0.pdf ,第310和311页

4. 再次编译(直接make,不要clean),然后刷入bin/targets/mediatek/filogic/openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin到nand中的bl2分区
对于OpenWrt One,可以用nor flash里带的插U盘刷固件方法(请参考该型号OP wiki页面)
对于其他设备,请在刷之前一定要保证有救砖手段,例如亲自试试自己电脑用mtk_uartboot能正常工作后再刷
还可以在上传到/tmp系统里直接刷:

  1. opkg install mtd kmod-mtd-rw
  2. insmod mtd-rw.ko i_want_a_brick
  3. mtd write /tmp/openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin bl2
  4. mtd verify /tmp/openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin bl2
  5. reboot
复制代码


下面是我编译的bl2:


对于OpenWrt One,可以直接刷入;
对于其他spim-nand-ubi-ddr4且非NMBM机型,也可以尝试直接刷入;
对于NMBM机型,不要直接刷这个版本,请使用之前论坛里大佬发的超频bl2,也可以自己参考此方法编译;


免责声明:由于刷bl2和超频有不小风险,请在刷之前一定要保证有救砖手段(建议自己先亲自尝试确认一下);同时超频会导致功耗增加,会增加供电电路的负荷,有硬件损坏或者折寿的风险

潜水多年第一次发帖,排版不熟练请见谅



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2024-12-8 23:54 来自手机 | 显示全部楼层
本帖最后由 iamyangyi 于 2024-12-8 23:56 编辑

不给7986 可惜了,不然妥妥好机。

点评

确实,感觉白瞎了nvme ssd扩展和1G内存  详情 回复 发表于 2024-12-9 00:12
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-12-9 00:12 | 显示全部楼层
iamyangyi 发表于 2024-12-8 23:54
不给7986 可惜了,不然妥妥好机。

确实,感觉白瞎了nvme ssd扩展和1G内存
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-12-9 23:06 | 显示全部楼层
thank you very much!
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-12-17 08:52 | 显示全部楼层
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-12-20 16:40 | 显示全部楼层
感谢楼主CMCC RAX3000M ImmortalWrt超频1.6G相当稳定,附上超频bl2。至于是否成砖,取决刷机手法,本人概不负责!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

rax3000 emmc算力版能刷吗?  详情 回复 发表于 2025-3-11 13:13
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-12-22 18:48 | 显示全部楼层
国内能买到了?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-12-22 20:13 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-12-31 16:18 | 显示全部楼层
谢谢分享,楼主辛苦
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-1-26 20:46 | 显示全部楼层
RE: OpenWrt One 路由器(MT7981,主线op)超频bl2编译教程 [修改]
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-3-8 13:55 | 显示全部楼层
可以直接刷入
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-3-10 10:29 | 显示全部楼层
厉害厉害,这个现在是刚需
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-3-10 21:24 | 显示全部楼层
支持6666
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-3-11 13:11 来自手机 | 显示全部楼层
移动rax3000 EMMC 的能刷吗?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-3-11 13:13 来自手机 | 显示全部楼层
btguigui 发表于 2024-12-20 16:40
感谢楼主CMCC RAX3000M ImmortalWrt超频1.6G相当稳定,附上超频bl2。至于是否成砖,取决刷机手法,本人概不 ...

rax3000 emmc算力版能刷吗?

点评

ImmortalWrt版的CMCC RAX3000M,uboot和preloader是区分emmc和nand的,bl2只分ddr3和ddr4,你可用试试。大概率不会砖。  详情 回复 发表于 2025-3-31 13:53
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 17:41

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表