ACRH17适配OPENWRT
环境配置说明
- 适用硬件:ASUS RT ACRH17
- 编译系统:Debian For Win10 WSL
- 参考借鉴:lede源添加acrh17
- 稳定版19.07无法识别和使用5G无线网卡,而Master分支可用但无法开启160MHZ
- 注意不要使用root用户编译,最好使用梯子来加速源码的下载速度
- 使用Win10 WSL环境编译的,编译前建议先将Win10系统变量剔除,否则可能报错:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
1 | # ASUS RT ACRH17 的配置 |
获取编译源码
1 | # 安装配置编译环境 |
1 | # 设置代理来加速源码下载,没有代理可跳过或根据需求设置 |
添加设备源码
- 为ACRH17适配官方OPENWRT需要修改和添加以下文件
1 | # 要修改的基本文件,用于添加ARCH17设备 |
- 修改
01_leds
来设置LED灯的状态
1 | --- openwrt-master/target/linux/ipq40xx/base-files/etc/board.d/01_leds 2020-12-06 19:35:18.471161900 +0800 |
- 修改
02_network
来设置网卡
1 | --- openwrt-master/target/linux/ipq40xx/base-files/etc/board.d/02_network 2020-12-06 19:35:18.471161900 +0800 |
- 修改
11-ath10k-caldata
选择SOC要加载的固件
1 | --- openwrt-master/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata 2020-12-06 19:35:18.471161900 +0800 |
- 修改
05_set_iface_mac_ipq40xx.sh
来设置MAC
1 | --- openwrt-master/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh 2020-12-06 19:35:18.471161900 +0800 |
- 修改
platform.sh
来设置升级时的操作
1 | --- openwrt-master/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh 2020-12-06 19:35:18.471161900 +0800 |
- 添加
qcom-ipq4019-rt-acrh17.dts
用来生成DTB设备树
1 | wget -O target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-acrh17.dts \ |
- 最重要的来了,修改
image/Makefile
来添加ACRH17设备
1 | --- openwrt-master/target/linux/ipq40xx/image/Makefile 2020-12-06 19:35:18.519107200 +0800 |
- 修改
901-arm-boot-add-dts-files.patch
来添加ACRH17的DTB
1 | --- openwrt-master/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch 2020-12-06 19:35:18.534728700 +0800 |
- 修改
package/firmware/ipq-wifi/Makefile
驱动QCA9984网卡
1 | --- openwrt-master/package/firmware/ipq-wifi/Makefile 2020-12-06 19:35:15.873926900 +0800 |
- 添加
board-asus_rt-acrh17.qca4019
固件文件
1 | wget -O lede/package/firmware/ipq-wifi/board-asus_rt-acrh17.qca4019 \ |
其他实用技巧
- 再次编译时可能要用到的参数
1 | # 获取最新源码及重置软件包源 |
- 额外配置内核参数,一般不需要配置
1 | # 在OpenWRT的 `.config` 文件中内核的选项都是形如 `CONFIG_KERNEL_XXX` |
- 使用自有软件包源
1 | # 生成自有软件包的索引 |
- 编译所有包(
CONFIG_ALL=y
)耗时很长且经常出错,lean源无效。
1 | Global build settings ---> |