一、搭建安装环境
找一块RK3399的 arm-linux开发板,在主目录创建文件夹usbwifi,进入usbwifi目录,拉取下载的AIC8800驱动,进入驱动目录,查看驱动Makefile文件规则。
可以看到以下路径:
KDIR = /lib/modules/$(shell uname -r)/build
PWD = $(shell pwd)
KVER = $(shell uname -r)
MODDESTDIR = /lib/modules/$(KVER)/kernel/drivers/net/wireless/aic8800
SUBARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/armv.l/arm/ -e s/aarch64/arm64/)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
二、安装linux头文件
1、查看内核版本号
安装Linux头文件,查看Linux内核版本号
从firefly官方的资源下载界面,对应型号的资源页面下载linux 头文件,可参考网站:
# 安装
sudo dpkg -i linux-headers-4.19.172_4.19.172-189_arm64.deb
# 准备编译环境
sudo apt install -y build-essential python libssl-dev
# 编译
cd /usr/src/linux-headers-4.4.194
make headers_check
make headers_install
# make scripts 可能会出错,如果出错在 tools,可以直接忽略,安装完成
make scripts
2、安装头文件
只安装头文件,安装image文件,会更新内核文件。
更新内核文件后,会在/usr/src/目录下安装linux-headers-4.4.194,/lib/modules/下会安装4.4.194内核文件。
安装必要的环境库,进入/usr/src/linux-headers-4.4.194进行安装。
sudo apt install -y build-essential python libssl-dev
检查并安装
三、安装USB无线模块驱动
安装完Linux-headers后,进行AIC8800的驱动安装。
1、进入/usbwifi/aic8800_linux_drvier/drivers/aic8800/目录,执行sudo make进行编译。
2、编译过程中存在warning导致编译失败,原因为在aicwf_wext_linux.c:619处存在声明却未使用变量,手动屏蔽该变量重新编译。
3、编译完成,没有问题后,执行make install,安装驱动。
4、进入该目录下:/usbwifi/aic8800_linux_drvier/, 执行 sudo sh ./install_setup.sh,执行完成后驱动安装成功。
5、设备重启后,驱动正常识别