当前位置: 首页 > news >正文

amlogic 多wifi 多bluetooh 兼容方案

WiFi部分:

vendor/amlogic/common/wifi_bt/wifi/configs/wifi.mk

或者

hardware/amlogic/wifi/configs/wifi.mk

################################################################################## realtek wifi
ifneq ($(filter rtl8188eu rtl8188ftv rtl8192eu rtl8192es rtl8189es rtl8189fs rtl8723bs rtl8723bu rtl8723ds rtl8723du \
                 rtl88x1au rtl8812au rtl8822bu rtl8822bs ,$(WIFI_MODULE)),)


WIFI_KO := $(patsubst rtl%,%,$(WIFI_MODULE))
WIFI_DRIVER             := $(WIFI_MODULE)
BOARD_WIFI_VENDOR       := realtek
ifneq ($(WIFI_BUILD_IN), true)
WIFI_DRIVER_MODULE_PATH := /vendor/lib/modules/$(WIFI_KO).ko
WIFI_DRIVER_MODULE_NAME := $(WIFI_KO)
WIFI_DRIVER_MODULE_ARG  := "ifname=wlan0 if2name=p2p0"
$(warning WIFI_DRIVER_MODULE_PATH is $(WIFI_DRIVER_MODULE_PATH))
$(warning WIFI_DRIVER_MODULE_NAME is $(WIFI_DRIVER_MODULE_NAME))
$(warning WIFI_DRIVER_MODULE_ARG  is $(WIFI_DRIVER_MODULE_ARG))
+ + PRODUCT_PROPERTY_OVERRIDES += \
        persist.sys.wifi.name=rtlwifi
endif
 

################################################################################# uwe5621ds
ifeq ($(WIFI_MODULE),uwe5621ds)

WIFI_KO := sprdwl_ng
WIFI_DRIVER             := sprdwl_ng
BOARD_WIFI_VENDOR       := realtek

WPA_SUPPLICANT_VERSION           := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER      := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_rtl
BOARD_HOSTAPD_DRIVER             := NL80211
BOARD_HOSTAPD_PRIVATE_LIB        := lib_driver_cmd_rtl

+ + PRODUCT_PROPERTY_OVERRIDES += \
        persist.sys.wifi.name=uwe5621ds

ifneq ($(WIFI_BUILD_IN), true)
BOARD_WLAN_DEVICE := sprdwl_ng
else
BOARD_WLAN_DEVICE := MediaTek
endif

蓝牙部分

diff --git a/hardware/interfaces/bluetooth/1.0/default/vendor_interface.cc b/hardware/interfaces/bluetooth/1.0/default/vendor_interface.cc
index 26338cd8c1..5f7fd0c113 100755
--- a/hardware/interfaces/bluetooth/1.0/default/vendor_interface.cc
+++ b/hardware/interfaces/bluetooth/1.0/default/vendor_interface.cc
@@ -28,6 +28,13 @@
 #include "mct_protocol.h"
 
 static const char* VENDOR_LIBRARY_NAME = "libbt-vendor.so";
+static const char* VENDOR_LIBRARY_RTK_NAME = "libbt-vendor_rtl.so";
+static const char* VENDOR_LIBRARY_UWE_NAME = "libbt-vendor_uwe.so";
+static const char* VENDOR_LIBRARY_QCA_NAME = "libbt-vendor_qca.so";
+static const char* VENDOR_LIBRARY_MTK_NAME = "libbt-vendor_mtk.so";
+static const char* VENDOR_LIBRARY_BCM_NAME = "libbt-vendor_bcm.so";
+
+
 static const char* VENDOR_LIBRARY_SYMBOL_NAME =
     "BLUETOOTH_VENDOR_LIB_INTERFACE";
 
@@ -194,7 +201,36 @@ bool VendorInterface::Open(InitializeCompleteCallback initialize_complete_cb,
 
   // Initialize vendor interface
 
-  lib_handle_ = dlopen(VENDOR_LIBRARY_NAME, RTLD_NOW);
+  char value[PROPERTY_VALUE_MAX] = {0};
+  if ((property_get("persist.vendor.bt_vendor", value, "unknow"))
+                    && (!strncmp(value, "libbt-vendor_rtl",16))) {
+    lib_handle_ = dlopen(VENDOR_LIBRARY_RTK_NAME, RTLD_NOW);
+    ALOGE("%s: aaa open %s ", __func__,VENDOR_LIBRARY_RTK_NAME);
+  } 
+  else if ((property_get("persist.vendor.bt_vendor", value, "unknow"))
+                    && (strncasecmp(value, "libbt-vendor_qca",16) == 0)) {
+    lib_handle_ = dlopen(VENDOR_LIBRARY_QCA_NAME, RTLD_NOW);
+    ALOGE("%s: aaa open %s ", __func__,VENDOR_LIBRARY_QCA_NAME);
+  }
+  else if ((property_get("persist.vendor.bt_vendor", value, "unknow"))
+                    && (strncasecmp(value, "libbt-vendor_uwe",16) == 0)) {
+    lib_handle_ = dlopen(VENDOR_LIBRARY_UWE_NAME, RTLD_NOW);
+    ALOGE("%s: aaa open %s ", __func__,VENDOR_LIBRARY_UWE_NAME);
+  }  else if ((property_get("persist.vendor.bt_vendor", value, "unknow"))
+                    && (strncasecmp(value, "libbt-vendor_mtk",16) == 0)) {
+    lib_handle_ = dlopen(VENDOR_LIBRARY_MTK_NAME, RTLD_NOW);
+    ALOGE("%s: aaa open %s ", __func__,VENDOR_LIBRARY_MTK_NAME);
+  }
+ else if ((property_get("persist.vendor.bt_vendor", value, "unknow"))
+                    && (strncasecmp(value, "libbt-vendor_bcm",16) == 0)) {
+    lib_handle_ = dlopen(VENDOR_LIBRARY_BCM_NAME, RTLD_NOW);
+    ALOGE("%s: aaa open %s ", __func__,VENDOR_LIBRARY_BCM_NAME);
+  } 
+  else {
+    lib_handle_ = dlopen(VENDOR_LIBRARY_NAME, RTLD_NOW);
+    ALOGE("%s: aaa open %s ", __func__,VENDOR_LIBRARY_NAME);
+  }
+
   if (!lib_handle_) {
     ALOGE("%s unable to open %s (%s)", __func__, VENDOR_LIBRARY_NAME,
           dlerror());
 

#
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

#Supported modules:
#                bcm40183
#                bcm40181
#         bcm43458
#                rtl8188eu
#                rt5370
#                rt8189es
#                rt8723bs
#                rtl8723au
#                mt7601
#                mt5931
#                AP62x2
#                AP6335
#                AP6441
#                AP6234
#                AP6181
#                AP6210
#                bcm43341
#                bcm43241
#                rtl8192du
#                rtl8192eu
#                rtl8192es
#                rtl8192cu
#                rtl88x1au
#                rtl8812au

$(warning WIFI_MOUDLE is $(WIFI_MODULE))
ifeq ($(WIFI_BUILD_IN), true)
$(warning WIFI_BUILD_IN is true)
else
$(warning WIFI_BUILD_IN is false)
endif

BCM_USB_COMPOSITE ?= false
ifeq ($(BCM_USB_COMPOSITE), true)
CONFIG_BCMDHD_CUSB := y
export CONFIG_BCMDHD_CUSB
endif

################################################################################## enable clang CFI for arm64
ifeq ($(ANDROID_BUILD_TYPE), 64)
PRODUCT_CFI_INCLUDE_PATHS += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/wpa_supplicant_8_lib
PRODUCT_CFI_INCLUDE_PATHS += vendor/amlogic/common/wifi_bt/wifi/wifi_hal/wpa_supplicant_8_lib
endif
##################################################################################

PRODUCT_PACKAGES += wpa_supplicant.conf

PRODUCT_COPY_FILES += \
    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml
PRODUCT_PROPERTY_OVERRIDES += \
    ro.carrier=wifi-only

PRODUCT_PACKAGES += \
    wificond \
    wifilogd \
    libwifi-hal-common-ext

################################################################################## buildin
ifeq ($(WIFI_BUILD_IN), true)
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/6255/fw_bcm43455c0_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm43455c0_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/6255/nvram.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6255.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/4356/fw_bcm4356a2_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm4356a2_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/4356/nvram_ap6356.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6356.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6398/Wi-Fi/fw_bcm4359c0_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm4359c0_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6398/Wi-Fi/nvram_ap6398s.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6398s.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6271S/Wi-Fi/clm_bcm43751a1_ag.blob:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/clm_bcm43751a1_ag.blob
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6271S/Wi-Fi/fw_bcm43751a1_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm43751a1_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6271S/Wi-Fi/nvram_ap6271s.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6271s.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm43456c5_ag.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm43456c5_ag.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6236/Wi-Fi/fw_bcm43436b0.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm43436b0.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6236/Wi-Fi/nvram_ap6236.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6236.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6256/Wi-Fi/fw_bcm43456c5_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm43456c5_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6256/Wi-Fi/nvram_ap6256.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6256.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm4359c0_ag.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm4359c0_ag.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm4356a2_ag.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm4356a2_ag.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm43455c0_ag.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm43455c0_ag.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm43438a1.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm43438a1.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm43438a0.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm43438a0.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm43436b0.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm43436b0.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/buildin/config_bcm4339a0_ag.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/config_bcm4339a0_ag.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/multi_wifi/config/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/multi_wifi/config/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant.conf
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/6335/fw_bcm4339a0_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm4339a0_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/6335/nvram.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6335.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/6212/fw_bcm43438a0.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm43438a0.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/6212/nvram.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap6212.txt
ifeq ($(BCM_USB_COMPOSITE),true)
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP62x8/USB_COMPOSITE/fw_bcm4358u_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm4358u_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP62x8/USB_COMPOSITE/nvram_ap62x8.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap62x8.txt
else
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP62x8/fw_bcm4358u_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/fw_bcm4358u_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP62x8/nvram_ap62x8.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/buildin/nvram_ap62x8.txt
endif
endif
################################################################################## bcm4354
ifeq ($(WIFI_MODULE),bcm4354)
WIFI_DRIVER := bcm4354
WIFI_DRIVER_MODULE_PATH := /vendor/lib/modules/dhd.ko
WIFI_DRIVER_MODULE_NAME := dhd
WIFI_DRIVER_MODULE_ARG  := "firmware_path=/vendor/etc/wifi/4354/fw_bcm4354a1_ag.bin nvram_path=/vendor/etc/wifi/4354/nvram_ap6354.txt"
WIFI_DRIVER_FW_PATH_STA := /vendor/etc/wifi/4354/fw_bcm4354a1_ag.bin
WIFI_DRIVER_FW_PATH_AP  := /vendor/etc/wifi/4354/fw_bcm4354a1_ag_apsta.bin
WIFI_DRIVER_FW_PATH_P2P := /vendor/etc/wifi/4354/fw_bcm4354a1_ag_p2p.bin

BOARD_WLAN_DEVICE := bcmdhd
WIFI_DRIVER_FW_PATH_PARAM   := "/sys/module/dhd/parameters/firmware_path"

WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_HOSTAPD_DRIVER        := NL80211
BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_bcmdhd

PRODUCT_PACKAGES += \
    4354/nvram_ap6354.txt \
    4354/fw_bcm4354a1_ag.bin \
    4354/fw_bcm4354a1_ag_apsta.bin \
    4354/fw_bcm4354a1_ag_p2p.bin \
    wl \
    p2p_supplicant_overlay.conf \
    dhd

PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml

PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/configs/init_rc/init.amlogic.wifi_bcm.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.wifi.rc

ifneq ($(wildcard $(TARGET_PRODUCT_DIR)/dhd.ko),)
PRODUCT_COPY_FILES += $(TARGET_PRODUCT_DIR)/dhd.ko:$(PRODUCT_OUT)/obj/lib_vendor/dhd.ko
endif

PRODUCT_PROPERTY_OVERRIDES += \
    wifi.interface=wlan0

endif

################################################################################## BCMWIFI
ifeq ($(WIFI_MODULE), BCMWIFI)
WIFI_DRIVER := AP6398
WIFI_DRIVER_FW_PATH_STA := /vendor/etc/wifi/buildin/sta.bin
WIFI_DRIVER_FW_PATH_AP  := /vendor/etc/wifi/buildin/ap.bin
WIFI_DRIVER_FW_PATH_P2P := /vendor/etc/wifi/buildin/p2p.bin
BOARD_WLAN_DEVICE := MediaTek
WIFI_DRIVER_FW_PATH_PARAM   := "/sys/module/dhd/parameters/firmware_path"

WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd_ampak
BOARD_HOSTAPD_DRIVER        := NL80211
BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_bcmdhd_ampak
PRODUCT_PACKAGES += \
        p2p_supplicant_overlay.conf

PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/configs/init_rc/init.amlogic.wifi_buildin.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.wifi_buildin.rc
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/configs/init_rc/init.amlogic.wifi_bcm.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.wifi.rc
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/multi_wifi/config/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf


PRODUCT_PROPERTY_OVERRIDES += \
        wifi.interface=wlan0 \
        wifi.direct.interface=p2p-dev-wlan0
endif
################################################################################## AP6398
ifeq ($(WIFI_MODULE), AP6398)
WIFI_DRIVER := AP6398
ifneq ($(WIFI_BUILD_IN), true)
WIFI_DRIVER_MODULE_PATH := /vendor/lib/modules/dhd.ko
WIFI_DRIVER_MODULE_NAME := dhd
WIFI_DRIVER_MODULE_ARG  := "firmware_path=/vendor/etc/wifi/AP6398/fw_bcm4359c0_ag_apsta.bin nvram_path=/vendor/etc/wifi/AP6398/nvram.txt"
endif
WIFI_DRIVER_FW_PATH_STA := /vendor/etc/wifi/AP6398/fw_bcm4359c0_ag.bin
WIFI_DRIVER_FW_PATH_AP  := /vendor/etc/wifi/AP6398/fw_bcm4359c0_ag_apsta.bin
WIFI_DRIVER_FW_PATH_P2P := /vendor/etc/wifi/AP6398/fw_bcm4359c0_ag_p2p.bin
ifneq ($(WIFI_BUILD_IN), true)
BOARD_WLAN_DEVICE := bcmdhd
else
BOARD_WLAN_DEVICE := MediaTek
endif
WIFI_DRIVER_FW_PATH_PARAM   := "/sys/module/dhd/parameters/firmware_path"

WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd_ampak
BOARD_HOSTAPD_DRIVER        := NL80211
BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_bcmdhd_ampak
PRODUCT_PACKAGES += \
        p2p_supplicant_overlay.conf

PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6398/Wi-Fi/fw_bcm4359c0_ag.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/AP6398/fw_bcm4359c0_ag.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6398/Wi-Fi/fw_bcm4359c0_ag_apsta.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/AP6398/fw_bcm4359c0_ag_apsta.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6398/Wi-Fi/fw_bcm4359c0_ag_p2p.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/AP6398/fw_bcm4359c0_ag_p2p.bin
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/bcm_ampak/config/AP6398/Wi-Fi/nvram_ap6398s.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/AP6398/nvram.txt
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/configs/config.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/AP6398/config.txt
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
ifeq ($(WIFI_BUILD_IN), true)
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/configs/init_rc/init.amlogic.wifi_buildin.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.wifi_buildin.rc
endif
PRODUCT_COPY_FILES += vendor/amlogic/common/wifi_bt/wifi/configs/init_rc/init.amlogic.wifi_bcm.rc:$(TARGET_COPY_OUT_V

相关文章:

amlogic 多wifi 多bluetooh 兼容方案

WiFi部分: vendor/amlogic/common/wifi_bt/wifi/configs/wifi.mk 或者 hardware/amlogic/wifi/configs/wifi.mk ################################################################################## realtek wifi ifneq ($(filter rtl8188eu rtl8188ftv rtl8192eu rtl8…...

Apache Hive概述,模拟实现Hive功能,Hive基础架构

1、Apache Hive 概述 1.1、分布式SQL计算 对数据进行统计分析,SQL是目前最为方便的编程工具。 大数据体系中充斥着非常多的统计分析场景 所以,使用SQL去处理数据,在大数据中也是有极大的需求的。 MapReduce支持程序开发(Java…...

postgresql|数据库|centos7下基于postgresql-12的主从复制的pgpool-4.4的部署和使用

前言: postgresql数据库只用自身的一些配置是无法做到最优的优化的,需要通过一些外置插件(中间件)来提高服务器的整体性能,通俗的说就是数据库仅仅依靠自身是无法达到性能最优的,很多时候需要更改数据库的…...

python之pyQt5实例:PyQtGraph的应用

1、显示逻辑 "MainWindow": "这是主窗口,所有的其他组件都会被添加到这个窗口上。", "centralwidget": "这是主窗口的中心部件,它包含了其他的部件。","pushButton": "这是一个按钮&#xff0c…...

Java——键盘输入的几种常见方式

Java——键盘输入的几种常见方式 文章目录: Java——键盘输入的几种常见方式一、IO流二、Scanner类三 、BufferedReader写入 一、IO流 在Java的输入中,是以输入流的形式进入程序,因此无法直接指定输入的类型,仅能读取键盘上的内容…...

Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法

文章目录 命令行脚本参考 - bat命令行脚本参考 - bash值得学习的知识点1. 识别终端使用的语言2. 函数的编写3. 获取用户的输入4. bat文件老是乱码怎么办 有时候为了方便别人使用,我们会选择去编写各种各样的命令行脚本:给Windows用户编写.bat cmd批处理脚…...

stringBuffer.append(analyze);使用这个拼接时候如何在字符串参数字符串参数整数参数字符串数组参数内容之间添加空格

stringBuffer.append(analyze);使用这个拼接时候如何在字符串参数字符串参数整数参数字符串数组参数内容之间添加空格? 在添加参数到 StringBuffer 时,你可以在每次添加参数之后都添加一个空格,如下所示: StringBuffer stringBu…...

点云从入门到精通技术详解100篇-大范围田间场景 3D 点云语义分割研究(续)

目录 3.2 自制数据集展示 3.2.1 收集航拍图像 3.2.2 3D 点云重建 3.2.3 语义标签标注...

Mysql详解Explain索引优化最佳实践

目录 1 Explain工具介绍2 explain 两个变种3 explain中的列3.1 id列3.2 select_type列3.3 table列3.4. type列3.5 possible_keys列3.6 key列3.7 key_len列3.8 ref列3.9 rows列3.10 Extra列 4 索引最佳实践4.1.全值匹配4.2.最左前缀法则4.3.不在索引列上做任何操作(计…...

STM32H7 Azure RTOS

STM32H7 是意法半导体(STMicroelectronics)推出的一款高性能微控制器系列,基于 Arm Cortex-M7 内核。它具有丰富的外设和高性能计算能力,适用于各种应用领域。 Azure RTOS(原名 ThreadX)是一款实时操作系统…...

基于LUT查找表方法的图像gamma校正算法FPGA实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将gamma2.2和gamma1/2.2的数据分别导入到matlab进行对比: 2.算法运行软件版本 matlab2022a 3.部分核心程序 timescale 1ns / 1ps //…...

Function模块

0 Preface/Foreword 1 数据结构 1.1 func_cb_t //task control block typedef struct {u8 sta; //cur working task numberu8 last; //lask task number #if BT_BACKSTAGE_ENu8 sta_break…...

Prometheus PromQL数据查询语言

PromQL 简介 PromQL(Prometheus Query Language)是 Prometheus 内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。 Prometheus 基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一…...

如何将转换器应用于时序模型

一、说明 在机器学习的广阔环境中,变压器作为建筑奇迹屹立不倒,以其复杂的设计和捕获复杂关系的能力重塑了我们处理和理解大量数据的方式。 自 2017 年创建第一台变压器以来,变压器类型呈爆炸式增长,包括强大的生成 AI 模型&#…...

数据结构:队列

文章目录 队列一,概述二,添加数据三,删除数据 队列 一,概述 队列是一种特殊的数据结构,它遵循先进先出(FIFO)的原则。在队列中,元素被添加到末尾,并从头部移除。队列只…...

AUTOSAR汽车电子嵌入式编程精讲300篇-基于AUTOSAR架构的AT控制系统研究与实现

目录 前言 国内外研究现状 国外研究现状 国内研究现状 2 AUTOSAR规范及开发流程...

计网第五章(运输层)(四)(TCP的流量控制)

一、基本概念 流量控制就是指让发送方的发送速率不要太快,使得接收方来得及接收。可以使用滑动窗口机制在TCP连接上实现对发送方的流量控制。 注意:之前在讨论可靠传输时,讨论过选择重传协议和回退N帧协议都是基于滑动窗口的机制上进行实现…...

【华为OD机试python】查找众数及中位数【2023 B卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 众数是指一组数据中出现次数最多的那个数,众数可以是多个。 中位数是指把一组数据从小到大排序后,如果这组数据的总数是奇数, 那最中间的那个数就是中位数; 如果这组数据总数是偶数,那…...

阿里云无影云电脑详细介绍:价格、使用和功能优势说明

什么是阿里云无影云电脑?无影云电脑(原云桌面)是一种快速构建、高效管理桌面办公环境,无影云电脑可用于远程办公、多分支机构、安全OA、短期使用、专业制图等使用场景,阿里云百科分享无影云桌面的详细介绍、租用价格、…...

【实践篇】MySQL执行计划详解

文章目录 本文知识大纲速览1. 前言2. 基本介绍1. 什么是执行计划2. 如何查看执行计划3. 执行计划的组成部分 3. 执行计划的关键元素1. id2. select_type3. table:4. type:5. possible_keys:6. key:7. key_len8. ref:9. rows:10. Extra 4. 底层原理5. 执行计划示例解读本文知识图…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...