1. 认识MT7621MT7915/MT7905MT7975 AX1800方案如果你正在折腾路由器固件编译这套联发科MT7621MT7915/MT7905MT7975的组合方案绝对值得关注。这套方案最大的特点是性价比高支持Wi-Fi 6AX1800规格在京东云无线宝AX1800、小米CR6606/09、TP-link XDR1860等热门机型上都能见到它的身影。简单来说MT7621是主控芯片负责路由器的核心运算MT7915和MT7905都是Wi-Fi 6芯片区别在于MT7915集成了蓝牙功能而MT7905没有MT7975则是负责5GHz频段的射频前端芯片。这种组合既能保证性能又能控制成本难怪会成为中端Wi-Fi 6路由器的首选方案。2. 编译环境准备2.1 硬件和系统要求在开始编译前你需要准备一台性能足够的Linux机器。我推荐使用Ubuntu 20.04 LTS这是最稳定的选择。硬件方面至少需要4核CPU8核更佳8GB内存16GB更流畅100GB可用磁盘空间编译过程会产生大量中间文件2.2 安装必要依赖在Ubuntu上先运行以下命令安装基础依赖sudo apt update sudo apt install -y build-essential git subversion libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip python3 python3-distutils这些依赖包包含了编译所需的工具链、库文件和各种实用工具。如果漏装某些包后续编译可能会遇到各种奇怪的问题。3. 获取和准备源码3.1 下载源码包你需要两个主要的源码包mtk-openwrt-lede-4.2.1.0-20200612-d2c8e460.tar.xz- 基于OpenWRT 17的LEDE分支mtk-wifi-mt7621-mt7915-20201106-AX1800-bin.tar.xz- MT7621MT7915的Wi-Fi驱动解压并合并这两个包tar -xvf mtk-openwrt-lede-4.2.1.0-20200612-d2c8e460.tar.xz tar -xvf mtk-wifi-mt7621-mt7915-20201106-AX1800-bin.tar.xz cp -rf mtk-wifi-mt7621-mt7915/* mtk-openwrt-lede-4.2.1.03.2 应用默认配置进入源码目录应用预置的AX1800配置cd mtk-openwrt-lede-4.2.1.0 cp -f autobuild/mt7621-mt7915-AP-AX1800/.config . cp -f autobuild/mt7621-mt7915-AP-AX1800/config-4.4 target/linux/ramips/mt7621/config-4.4 make defconfig这一步会设置好基本的编译配置包括目标架构、驱动选择等关键参数。4. 常见编译问题与解决方案4.1 蓝牙编译错误这是最常见的问题之一错误日志通常包含类似以下内容build_stack.sh: line 109: gn: command not found build_stack.sh: line 111: ninja: command not found cp: cannot stat .../*.so: No such file or directory这是因为蓝牙相关的编译工具链不完整。最简单的解决方案是通过menuconfig暂时禁用蓝牙功能make menuconfig在配置界面中导航到MTK Properties --- [ ] bluedroid取消选中bluedroid选项保存退出后重新编译。4.2 权限相关问题编译过程中可能会遇到各种权限错误比如cp: cannot create regular file /libz.so.1: Permission denied mkdir: cannot create directory /conf: Permission denied这些问题通常是因为编译脚本尝试在系统目录创建文件。解决方法有确保在普通用户下编译不要使用root如果必须使用root确保设置了正确的环境变量检查源码路径是否有空格或特殊字符4.3 依赖缺失问题有时编译会因缺少某些依赖而失败。典型的错误信息包括configure: error: Package requirements (...) were not met这时需要根据错误提示安装对应的开发包。例如如果提示缺少libssl就安装libssl-devsudo apt install libssl-dev5. 高级配置与优化5.1 定制固件功能通过menuconfig可以深度定制固件功能make menuconfig几个值得关注的配置项Target System: MediaTek Ralink MIPSSubtarget: MT7621 based boardsTarget Profile: Custom在LuCI菜单中可以添加Web管理界面在Network下可以配置各种网络服务。5.2 优化编译速度编译过程可能耗时数小时以下几个技巧可以显著加快速度使用-j参数并行编译make -j$(nproc)启用ccache缓存sudo apt install ccache export CCACHE_DIR/path/to/ccache export STAGING_DIR/path/to/staging关闭不必要的调试信息 在menuconfig中设置Global build settings --- [*] Strip unnecessary exports from the kernel image [ ] Compile the kernel with debug info6. 生成和刷写固件6.1 生成固件镜像成功编译后固件会生成在bin/targets/ramips/mt7621/你会看到多个文件其中最重要的是openwrt-ramips-mt7621-xxx-squashfs-sysupgrade.bin升级固件openwrt-ramips-mt7621-xxx-squashfs-factory.bin出厂固件6.2 刷机注意事项刷机前务必备份原厂固件和配置确认设备型号完全匹配准备好救砖工具如TTL线刷机方法因设备而异常见的有Web界面直接升级Breed/Uboot刷机TTL串口刷机刷机后首次启动可能需要5-10分钟请耐心等待。7. 后续维护与升级7.1 软件包管理OpenWRT提供了强大的包管理系统。更新软件包列表opkg update安装常用工具opkg install luci-app-upnp luci-app-ddns7.2 固件升级对于后续的固件升级可以直接使用sysupgradesysupgrade -n /tmp/openwrt-ramips-mt7621-xxx-squashfs-sysupgrade.bin参数-n表示不保留配置避免旧配置与新固件不兼容。7.3 性能监控安装监控工具opkg install luci-app-statistics collectd-mod-cpu collectd-mod-memory这些工具可以帮助你实时监控路由器的CPU、内存、网络等状态。