CMCC RAX3000M算力版OpenWRT刷机与优化全指南:从固件编译到性能调优

1次阅读
没有评论

共计 1842 个字符,预计需要花费 5 分钟才能阅读完成。

image.webp

硬件分析:MT7981B 芯片组的秘密武器

MT7981B 作为联发科面向中高端路由器的 SoC,采用双核 Cortex-A53 架构,主频 1.3GHz。这个芯片组有三大特点值得注意:

CMCC RAX3000M 算力版 OpenWRT 刷机与优化全指南:从固件编译到性能调优

  • 内置硬件 NAT 加速引擎,理论上支持 3Gbps 的转发能力
  • 2×2 MU-MIMO 设计,但需要特定驱动版本才能激活完整功能
  • SPI NAND 闪存接口,导致分区布局与常规设备不同

实测发现原厂固件的 NAT 转发性能仅 850Mbps,而 OpenWRT 开启 HWNAT 后可达到 1.2Gbps。这是因为原厂固件的流量整形算法存在瓶颈。

刷机前的生死准备

必要工具清单

  • USB 转 TTL 模块(推荐 CH340G,兼容性最好)
  • 1.8V 电平转换器(必须!直连会烧芯片)
  • 镊子或跳线帽(用于进入救援模式)
  • 新版 U -Boot 镜像(2023 年后版本支持 SPI NAND)

保命 U -Boot 命令

# 先验证分区表是否正确(关键!)mtkboard show partitions

# 刷写前务必擦除环境变量
env default -a
saveenv

# 刷机命令(注意 mtd 分区编号可能不同)mtd erase firmware
mtd write openwrt.bin firmware
reset

固件编译:魔鬼在细节里

内核配置关键修改

编辑 target/linux/mediatek/mt7981b/config-5.4 文件时需要特别注意:

CONFIG_MTD_SPI_NAND=y # 必须启用 SPI NAND 支持
CONFIG_MTK_HWNAT=y    # 硬件加速核心选项
CONFIG_PACKAGE_kmod-mt7915e=y # 无线驱动

无线校准补丁示例

由于原厂校准数据存储在独立分区,需要打补丁保留:

--- a/drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
@@ -123,6 +123,7 @@ static int mt7915_eeprom_load(struct mt7915_dev *dev)
 {if (dev->flash_mode) {ret = mt7915_mcu_get_eeprom(dev, 0, eeprom);
+               ret = mt7915_eeprom_load_from_mtd(dev, "factory");
        }

性能调优实战

无线参数黄金配置

编辑 /etc/config/wireless 关键参数:

config wifi-device 'radio1'
        option mu_beamformer '1'  # 启用 MU-MIMO 发射
        option ldpc '1'           # 提高传输可靠性
        option txpower '23'       # 单位 dBm,超过 25 可能不稳定

config wifi-iface
        option rrm '1'            # 射频资源管理基础
        option ftm_responder '1'  # 802.11mc 定位支持

加速模块选择策略

硬件加速(hwnat)与软件加速(sfe)的取舍:

  • 纯有线场景:启用 hw_nat,CPU 占用 <5%
  • 混合流量:禁用 hw_nat,使用 sfe 加速
  • 游戏优先:两者都禁用,用 QoS 保证延迟

测试数据对比(iperf3 双向测试):

| 模式       | 吞吐量   | 延迟波动 |
|------------|----------|----------|
| 原厂固件   | 850Mbps  | ±8ms     |
| hw_nat     | 1.2Gbps  | ±3ms     |
| sfe        | 980Mbps  | ±5ms     |

血泪避坑指南

无线驱动暗礁

以下驱动版本会导致 5GHz 失效:
– mt76 版本 <2022-12-01(缺少 NAND 支持)
– 5.10 内核的 backport 驱动(CRC 校验错误)

解决方案:

opkg remove kmod-mt76
opkg install kmod-mt76-testing

PPPoE 的 CPU 杀手

当 WAN 口使用 PPPoE 拨号时,会出现 CPU 软中断暴增的问题。解决方法:

# 调整软中断分配
echo f > /sys/class/net/ppp0/queues/rx-0/rps_cpus

# 优化 NAPI 轮询
ethtool -C ppp0 rx-usecs 30

进阶思考

当前配置已实现基本的 802.11k 支持,但要实现真正的无缝漫游,还需要:
– 如何验证 802.11v 的 BSS 过渡是否生效?
– 在多 AP 场景下,怎样优化 802.11r 的 FT 密钥协商过程?
– 当存在旧款终端时,如何优雅降级漫游协议?

(提示:可以从 wpa_supplicant 的 debug 日志和抓包分析入手)

正文完
 0
评论(没有评论)