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

1次阅读
没有评论

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

image.webp

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

MT7981B 作为联发科专为运营商定制的双核 ARM Cortex-A53 芯片,最特别的是其硬件 NAT 加速引擎。实测发现:

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

  1. 原厂固件在开启 HWNAT 时,NAT 转发性能可达 940Mbps(接近千兆线速)
  2. 默认 OpenWRT 因未启用硬件加速,仅能跑到 520Mbps 左右
  3. 芯片内置的 2.4GHz 和 5GHz 射频模块共享 128MB 内存,需特别注意内存分配

生死攸关的刷机准备

工欲善其事必先利其器,这些装备缺一不可:

  • CH340G USB 转 TTL 模块(注意要带 3.3V 电平)
  • 镀金杜邦线三根(TX/RX/GND)
  • 夹子式测试钩(避免焊坏路由器 PCB)

关键 U -Boot 命令序列如下:

# 进入 U -Boot 后先备份原厂分区表
tftpboot 0x46000000 backup.bin
nand erase 0x0 0x100000
nand write 0x46000000 0x0 0x100000

# 刷写前务必校验 mtd 分区
mtd list
mtd read factory 0x46000000
md5sum 0x46000000 0x10000

固件编译:魔鬼在细节里

编译 OpenWRT 时最容易翻车的是无线驱动配置:

  1. 修改 target/linux/mediatek/mt7981b/config-5.15 文件:

    CONFIG_PACKAGE_kmod-mt7981-firmware=y
    CONFIG_MTK_ETH_MDIO=y
    # 必须关闭这个选项否则 WIFI 不稳定
    # CONFIG_MTK_HSDMA_DEBUG is not set

  2. 无线校准数据补丁示例(保存到 patches 目录):

    --- 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_precal(struct mt7915_dev *dev)
     {
            /* 强制使用设备特定校准数据 */
            if (dev->flash_mode) {
    +               return -EINVAL;
                    dev->cal = devm_kzalloc(dev->mt76.dev, sizeof(*dev->cal), GFP_KERNEL);

性能调优:榨干最后一滴性能

无线参数配置范例(/etc/config/wireless):

config wifi-device 'radio1'
        option mu_beamformer '1'  # 开启 MU-MIMO 发射
        option ldpc '1'          # 强制 LDPC 编码
        option rx_stbc '3'       # 3 空间流接收
        option max_amsdu '7935'  # 聚合帧大小优化

关于网络加速的取舍建议:

  • 小包转发:启用 hw_nat 模块(适合游戏场景)
  • 大流量下载:用 SFE 快速路径(更适合 NAS 应用)
  • 两者同时启用会导致内核崩溃

血泪教训:避坑指南

  1. 无线驱动版本陷阱:
  2. mt76 版本低于 2022-11-15 会导致 5GHz 射频消失
  3. 解决方案:

    opkg install kmod-mt7915e --force-downgrade

  4. PPPoE 软中断优化:

    # 增加 NAPI 处理权重
    echo 64 > /sys/class/net/pppoe-wan/queues/rx-0/rps_cpus
    # 调整中断亲和性
    irqbalance --powerthresh=5

实测数据说话

优化前后 iperf3 对比(单位 Mbps):
| 测试项 | 原厂固件 | 默认 OpenWRT | 优化后 OpenWRT |
|————–|———|————|————–|
| NAT 转发 | 940 | 520 | 890 |
| 5GHz 吞吐量 | 680 | 310 | 620 |
| 延迟(avg) | 2.8ms | 5.1ms | 3.2ms |

思考题:漫游优化进阶

如何在该硬件上实现 802.11k/v/ r 协议?需要考虑:
1. 驱动层是否支持 Neighbor Report
2. 如何配置 wpad 的完整功能包
3. 信号强度阈值切换策略

(答案线索:需要编译时开启 CONFIG_WIFI_80211R_KMOD)

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