Linux下编译RTL88XX系列芯片驱动
驱动编译环境
- 运行环境:Raspberry 4B | 2019-09-26-raspbian-buster-lite
- 测试网卡:采用RTL8812AU芯片的网卡Tenda U12 | 采用RTL8811CU芯片的模块TL8811CUB
安装编译所需环境
| 1 | # 本文是在Debian系统下编译的,其他系统至少需要安装make, gcc, linux-header, git | 
编译RTL8812AU/14AU/21AU驱动
| 1 | git clone https://github.com/aircrack-ng/rtl8812au.git | 
编译RTL8811CU/21CU驱动
| 1 | git clone https://github.com/brektrou/rtl8821CU.git | 
配置支持的编译选项
| 1 | # 以RTL8812AU为例,修改源码根目录下Makefile中的选项为你所需要的: | 
其他出现的问题
- 8812AU不支持iw命令,例如iw dev会显示”nl80211 not found.”。并且rfkill list显示为空 
- 设备名看起来像是一块有线网卡,一般无线网卡都是wl(Wireless)开头的,它是en(Ethernet) 
- 加载驱动后如果使用ifconfig找不到网卡,请手动打开网卡 
| 1 | ifconfig -a # 查看所有网卡 | 
- 树莓派的板载网卡和腾达U12网卡变动,就是wlan0和wlan1对应的物理网卡不固定的解决方法
| 1 | # 这里可以只固定一个网卡,那么另一个网卡也就固定了,防止未插网卡的情况 | 
- 驱动所支持的硬件型号保存在rtl88XX/os_dep/linux/usb_intf.c中
| 1 | # 如果该驱动不支持你的硬件,那么请添加硬件ID到usb_intf.c里面你的芯片型号中 |