手头有一个机顶盒(B860AV3.2-M)安装了Armbian,但有线网卡丢失mac地址,在uboot中尝试定义也不奏效,所以入手了一个RTL8811CU无线网卡
注意:Linux内核及其内核模块需要用同一编译器编译,其他内核可能不能使用本文所使用的的编译器
首先我们需要从这里获取arm官方的交叉编译器
如果是o大编译的内核就用这个->arm-gnu-toolchain-15.2.rel1-aarch64-aarch64-none-linux-gnu.tar.xz
解压这个包

tar -xvf arm-gnu-toolchain-15.2.rel1-aarch64-aarch64-none-linux-gnu.tar.xz

然后把他移动到一个目录(可以是/usr/local下或/opt下)
如:

mv ./arm-gnu-toolchain-15.2.rel1-aarch64-aarch64-none-linux-gnu /usr/local/toolchain

然后执行这串命令使编译时使用交叉编译器而不是build-essentials里的gcc

echo 'export PATH=$PATH:/opt/gcc-aarch64-none-elf/bin' | sudo tee -a /etc/profile.d/gcc-aarch64-none-elf.sh

source /etc/profile

ln -sf /opt/gcc-aarch64-none-elf/bin/aarch64-none-elf-gcc /usr/local/bin/gcc

随后我们需要拉取RTL8811CU的驱动源码(4.x及5.x内核推荐brektrou/rtl8821CU)

git clone https://gh-proxy.com/https://github.com/brektrou/rtl8821CU.git

大陆部分地区访问Github需要加速器,所以这里使用了gh-proxy
然后进入源码目录

cd rtl8811CU

有两种方法进行编译,分别为dkms编译和make,我使用了传统广泛的make方法
使用这串指令进行编译

make ARCH=arm64

编译需要大概2-3小时,编译完后会输出一个8821cu.ko文件
然后执行这串命令安装编译完的驱动内核模块

sudo make install

然后重启,kmsg里就会有rtw相关的日志了,网卡上的灯也会闪闪发光了

最后修改:2026 年 07 月 11 日
如果觉得我的文章对你有用,请随意赞赏