0% found this document useful (0 votes)
188 views8 pages

AIC8800 USB Porting Guide v1 1 20220526.zh-CN - en

Uploaded by

Roshni Javed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
188 views8 pages

AIC8800 USB Porting Guide v1 1 20220526.zh-CN - en

Uploaded by

Roshni Javed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Translated from Chinese (Simplified) to English - www.onlinedoctranslator.

com

AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

Preliminary AIC8800 Low-Energy


Wi-Fi6/BT5.0 SoC
USB Porting Manual

Revision: 1.1

2022/05/26

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

Historical update records

time Modifications Revised by Version

2021/06/07 First edition Aiden 1.0


2022/05/26 Added Q&A section Aiden 1.1

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

The file is transplanted to the RK3229 Android10.0 platform kernel

transplantation

You can compare the following files to confirm whether any files are missing.

aic8800 Wifi driver package

aic_btusb Bluetooth btusb driver package

aic8800_porting_package\USB\driver_fw\drivers driver package

fmacfw.bin Wifi Firmware

fw_adid.bin Bluetooth firmware

fw_patch.bin Bluetooth firmware

fw_patch_table.bin Bluetooth firmware

aic8800_porting_package\USB\driver_fw\fw\aic8800 firmware file

aicbt Bluetooth libbt-vendor

aic8800_porting_package\USB\driver_fw\aic

1. Place the aic driver package under kernel/drivers/net/wireless/ and modify kernel/
drivers/net/wireless/Kconfig and kernel/drivers/net/wireless/Makefile

source "drivers/net/wireless/st/Kconfig" source "drivers/


net/wireless/ti/Kconfig" source "drivers/net/wireless/
zydas/Kconfig" source "drivers/net/wireless/quantenna/
Kconfig" source " drivers/net/wireless/rockchip_wlan/
Kconfig" source "drivers/net/wireless/aic8800/Kconfig"

Modify kernel/drivers/net/wireless/Kconfig

obj-$(CONFIG_WLAN_VENDOR_MEDIATEK) += mediatek/
obj-$(CONFIG_WLAN_VENDOR_RALINK) += ralink/ obj-$
(CONFIG_WLAN_VENDOR_REALTEK) += realtek/ obj-$
(CONFIG_WLAN_VENDOR_RSI) += rsi/
obj-$(CONFIG_WLAN_VENDOR_ST) += st/ obj-$
(CONFIG_WLAN_VENDOR_TI) += ti/ obj-$
(CONFIG_WLAN_VENDOR_ZYDAS) += zydas/ obj-$
(CONFIG_WLAN_VENDOR_QUANTENNA) += quantenna/ obj-$
(CONFIG_AIC_WLAN_SUPPORT) += aic8800/
Modify kernel/drivers/net/wireless/Makefile

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

2. Put aic_btusb.c and aic_btusb.h under kernel/drivers/bluetooth/, and modify


kernel/drivers/bluetooth/Kconfig and kernel/drivers/bluetooth/Makefile

config BT_HCIBTUSB_RTL
bool "Realtek protocol support"
depends on BT_HCIBTUSB
select BT_RTL
default y
help
The Realtek protocol support enables firmware and configuration
download support for Realtek Bluetooth controllers.

Say Y here to compile support for Realtek protocol.

config BT_AICBTUSB
tristate "AIC HCI USB driver"
depends on USB
help
AIC Bluetooth HCI USB driver

config BT_RTKBTUSB
tristate "RTK HCI USB driver"
depends on USB
help
RTK Bluetooth HCI USB driver

config BT_HCIBTSDIO
tristate "HCI SDIO driver"
depends on MMC
help
Bluetooth HCI SDIO driver.
This driver is required if you want to use Bluetooth device with SDIO
interface.

Say Y here to compile support for Bluetooth SDIO devices into the kernel
or say M to compile it as module (btsdio).

config BT_HCIUART

kernel/drivers/bluetooth/Kconfig

obj-$(CONFIG_BT_HCIBTUSB) + = btusb.o
obj-$(CONFIG_BT_HCIBTSDIO) += btsdio.o

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

+= aic_btusb.o
obj-$(CONFIG_BT_AICBTUSB) obj-$
(CONFIG_BT_RTKBTUSB) += rtk_usb.o
kernel/drivers/bluetooth/Makefile
Modify the kernel config (or use make menuconfig) to the following parameters

#
# Bluetooth device drivers
#
# CONFIG_BT_HCIBTUSB is not set
CONFIG_BT_AICBTUSB=m
# CONFIG_BT_RTKBTUSB is not set
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4
.
.
.
# CONFIG_RTL8822BS is not set
# CONFIG_MVL88W8977 is not set
CONFIG_AIC_WLAN_SUPPORT=y
CONFIG_AIC8800_WLAN_SUPPORT=m
CONFIG_AIC_LOADFW_SUPPORT=m
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_USB_NET_RNDIS_WLAN is

Parameters that need to be added to the kernel config

3. After compiling, you can get

aic_btusb.ko, aic8800_fdrv.ko, aic_load_fw.ko

4. Functions of each driver module

aic_load_fw.ko: module firmware initialization

aic8800_fdrv.ko: Wifi driver

aic_btusb.ko: USB Bluetooth interface

When the AIC8800 is powered on (for EVB board, please press the button to power on), the USB will detect

Bus 003 Device 007: ID a69c:8800


When aic_load_fw loads firmware to AIC8800, the device ID will change to

Bus 003 Device 007: ID a69c:8801 At this point the module firmware is loaded, and then
you can load aic8800_fdrv.ko and aic_btusb.ko

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

Bluetooth porting

Put the aic package under andoird\hardware\.

aic placement directory

Make the following changes for the Bluetooth section.

Bluetooth HAL
PRODUCT_PACKAGES += \
libbt-vendor \
android.hardware.bluetooth@1.0-impl \
android.hardware.bluetooth@1.0-service \
android.hardware.bluetooth@1.0-service.rc

ifeq ($(strip $(BOARD_HAVE_BLUETOOTH_RTK)), true)


include hardware/realtek/rtkbt/rtkbt.mk
endif

ifeq ($(strip $(BOARD_HAVE_BLUETOOTH_AIC)), true)


include hardware/aic/aicbt/aicbt.mk
endif

ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), box)


include device/rockchip/common/samba/rk31_samba.mk
PRODUCT_COPY_FILES += \

$(LOCAL_PATH)/init.box.samba.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/
init.box.samba.rc \
device/rockchip/common/cifsmanager.sh:system/bin/cifsmanager.sh
Modify android/device/rockchip/common/device.mk

chmod 0660 /dev/rtk_btusb


chown bluetooth net_bt /dev/rtk_btusb

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

chmod 0660 /dev/rtkbt_dev


chown bluetooth net_bt /dev/rtkbt_dev
# for aic bt usb
chmod 0660 /dev/aicbt_dev
chown bluetooth net_bt /dev/aicbt_dev

# bluetooth MAC address programming chown bluetooth


net_bt ro.bt.bdaddr_path chown bluetooth net_bt /data/misc/
bluetooth setprop ro.bt.bdaddr_path "/data/misc/bluetooth/
bdaddr"
Modify android/device/rockchip/common/init.connectivity.rc

# for BT
/dev/vflash 0660 bluetooth net_bt_stack
/dev/ttyS0 0660 bluetooth net_bt_stack
/dev/ttyS1 0660 bluetooth net_bt_stack
# /dev/ttyS2 0660 bluetooth net_bt_stack
/dev/rtk_btusb 0660 bluetooth net_bt_stack
/dev/aic_btusb 0660 bluetooth net_bt_stack

# for hid audio


/dev/hidraw0 0660 audio audio

# for serial
/dev/ttyS4 0660 system system

# for radio
/dev/ttyUSB0 0660 system radio
Modify android/device/rockchip/common/ueventd.rockchip.rc

ifeq ($(strip $(BOARD_CONNECTIVITY_MODULE)), ap6xxx_gps)


BLUETOOTH_USE_BPLUS := true
BLUETOOTH_ENABLE_FM := false
endif
endif

BOARD_HAVE_BLUETOOTH_RTK := false
BOARD_HAVE_BLUETOOTH_AIC := true
Modify android/device/rockchip/common/wifi_bt_common.mk

Android Port
You can choose the currently developed platform, main control, and system for comparison. For example, if you want to transplant RK3229 to

Android10, you can go to the for_Rockchip/3229/Android10 directory in the patch package and select the difference between orig and mod.

Confidential and Proprietary – AICSEMI INC. /8


AIC8800D Wi-Fi6/BT5.0Transplantation ManualRev1.0

Add it to your SDK.

After the kernel porting, Bluetooth porting and Android porting are completed, compile the SDK to use the AIC8800 Wifi and Bluetooth

functions. Enjoy!

Q&A
Q: There was a problem with the GMS test.

A: You need to confirm whether wifi-hal has been transplanted. You can compare the orig and mod in the transplant package to confirm.

Confidential and Proprietary – AICSEMI INC. /8

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy