設置 | 登錄 | 註冊

作者共發了2篇帖子。

aic8800dc wifi蓝牙二合一模块 驱动源码

4樓 巨大八爪鱼 2025-6-26 16:59
【下载并编译aic_btusb驱动模块】
将幸狐的linux内核文件夹单独复制一份出来:
cd /home/oct1158/Documents/Code/C/3
cp -r luckfox-pico-aic8800dc/sysdrv/source/kernel .
mv kernel kernel_for_modules

进入复制后的内核文件夹,配置并编译内核:
cd kernel_for_modules
make luckfox_rv1106_linux_defconfig ARCH=arm CROSS_COMPILE=/home/oct1158/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
make ARCH=arm CROSS_COMPILE=/home/oct1158/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
cd ..

下载并解压aic8800dc wifi蓝牙二合一模块的linux驱动源码:
wget https://codeload.github.com/radxa-pkg/aic8800/tar.gz/refs/tags/3.0%2Bgit20240327.3561b08f-7 -o aic8800-3.0-git20240327.3561b08f-7.tar.gz
tar xf aic8800-3.0-git20240327.3561b08f-7.tar.gz

进入蓝牙驱动目录:
cd aic8800-3.0-git20240327.3561b08f-7/src/USB/driver_fw/drivers/aic_btusb/
修改Makefile文件,CONFIG_PLATFORM_ROCKCHIP改成y,CONFIG_PLATFORM_UBUNTU改成n。
找到ifeq ($(CONFIG_PLATFORM_ROCKCHIP), y)下面,KDIR改成内核所在目录,如/home/oct1158/Documents/Code/C/3/kernel_for_modules。
CROSS_COMPILE改成交叉编译器所在目录,如/home/oct1158/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-。

make
修改报错的文件:
aic_btusb.c 第2601行和第2672行 0x%0lx改成0x%0x
            第5121行firmware_info *fw_info = data->fw_info;下一行加上(void)fw_info;
内核目录/Makefile 第823行注释掉 #KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,)

编译得到aic_btusb.ko,可上传到板子上使用。
[root@luckfox-rv1106 ~/test/modules]# insmod aic_btusb.ko
[19618.101054] aic_btusb: AICBT_RELEASE_NAME: 202012_ANDROID
[19618.101076] aic_btusb: AicSemi Bluetooth USB driver module init, version 2.1.0
[root@luckfox-rv1106 ~/test/modules]# [19618.101084] aic_btusb: RELEASE DATE: 2023_1211_1958
[19618.101084]
[19618.101091] aic_btusb: Register usb char device interface for BT driver
[19618.101377] aic_btusb: btusb_probe: usb_interface f1ea5cfa, bInterfaceNumber 0, idVendor 0xa69c, idProduct 0x88dc
[19618.101392] aicwf_usb_chipmatch USE AIC8800DC
[19618.101400] endpoint num 3
[19618.101406] endpoint num 4
[19618.101412] endpoint num 4
[19618.101421] aic_btusb: firmware_info_init: Auto suspend is disabled
[19618.101465] aic_btusb: btusb_probe: download begining...
[19618.101475] download_patch: Download fw patch start, cached 1
[19618.101661] aic_btusb: Right in send hci cmd = 9,size = 9
[19618.101851] fw_config: fw status = 0x0000, length 4, 1d 1 0 0
[19618.101856] fw_config rd_data is 11d
[19618.102003] aic_btusb: Right in send hci cmd = 9,size = 9
[19618.102219] hci_send_dbg_rd_mem_cmd: fw status = 0x0000, length 4, c 0 0 0
[19618.102223] set_bbpll_config Crystal not provided by CPU
[19618.102376] aic_btusb: Right in send hci cmd = 9,size = 9
[19618.102594] system_config: fw status = 0x0000, length 4, 18 88 7 f
[19618.102745] aic_btusb: Right in send hci cmd = 9,size = 9
[19618.102968] system_config: fw status = 0x0000, length 4, 1 0 18 88
[19618.102974] chip_id = 7, sub_chip_id = 1
[19618.103125] aic_btusb: Right in send hci cmd = 3,size = 3
[19618.103340] check_fw_status: fw status = 0x0012
[19618.103348] aic_load_firmware :firmware path = /vendor/etc/firmware/fw_patch_table_8800dc_u02.bin
[19618.103412] aic_load_firmware: fw_patch_table_8800dc_u02.bin file failed to open
[19618.103422] is_Err
[19618.103431] ### Upload fw_patch_table_8800dc_u02.bin fw_patch_table, size=-1
[19618.103437] wrong size of firmware file
[19618.103442] aic get patch addr fail -1
[19618.103450] aic_btusb: btusb_probe: download ending...
[19618.103485] aic_btusb: probe of 1-1:1.0 failed with error -1
[19618.103540] aic_btusb: btusb_probe: usb_interface 7091d2ca, bInterfaceNumber 1, idVendor 0xa69c, idProduct 0x88dc
[19618.103548] aicwf_usb_chipmatch USE AIC8800DC
[19618.103616] usbcore: registered new interface driver aic_btusb

[root@luckfox-rv1106 ~/test/modules]# lsmod
aic_btusb 28819 0 - Live 0xaf8eb000 (O)
aic8800_fdrv 293542 0 - Live 0xaf84c000 (O)
aic_load_fw 33008 1 aic8800_fdrv, Live 0xaf83d000 (O)
cfg80211 168737 1 aic8800_fdrv, Live 0xaf800000
[root@luckfox-rv1106 ~/test/modules]#
巨大八爪鱼 2025-6-27 10:28
wget https://codeload.github.com/radxa-pkg/aic8800/tar.gz/refs/tags/3.0%2Bgit20240327.3561b08f-7 -o aic8800-3.0-git20240327.3561b08f-7.tar.gz
这个命令没写对。
-o应该是-O。
不是小写的-o,是大写的-O。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。