QCA6174 bluetooth Validation with i.MX8QM MEK Android Pie Automotive

cancel
Showing results for 
Search instead for 
Did you mean: 

QCA6174 bluetooth Validation with i.MX8QM MEK Android Pie Automotive

1,007 Views
redwanmohamed
Contributor II

Hi NXP Team,

We are trying to validate the QCA6174 PCI module with i.MX8QM MEK platform and we are able to successfully test WiFI. But when we try to validate Bluetooth we are facing below issues. We have even tested with Prebuilt binaries android_p9.0.0_2.1.1-auto but no luck. We also tried to enable basic kernel configurations and verify without any luck 

mek_8q:/ # logcat | grep Blu
11-28 21:25:04.863 1827 3192 D BluetoothManagerService: enable(com.android.car.settings): mBluetooth =null mBinding = false mState = OFF
11-28 21:25:04.864 1827 1855 D BluetoothManagerService: MESSAGE_ENABLE(0): mBluetooth = null
11-28 21:25:04.865 1827 3192 D BluetoothManagerService: enable returning
11-28 21:25:07.866 1827 1855 E BluetoothManagerService: MESSAGE_TIMEOUT_BIND
11-28 21:26:04.728 1827 3312 D BluetoothManagerService: disable(): mBluetooth = null mBinding = false
11-28 21:26:04.728 1827 3312 D BluetoothManagerService: Persisting Bluetooth Setting: 0
11-28 21:26:04.729 1827 1855 D BluetoothManagerService: MESSAGE_DISABLE: mBluetooth = null
11-28 21:26:08.964 1827 3312 D BluetoothManagerService: enable(com.android.car.settings): mBluetooth =null mBinding = false mState = OFF
11-28 21:26:08.965 1827 3312 D BluetoothManagerService: enable returning
11-28 21:26:08.965 1827 1855 D BluetoothManagerService: MESSAGE_ENABLE(0): mBluetooth = null
11-28 21:26:11.968 1827 1855 E BluetoothManagerService: MESSAGE_TIMEOUT_BIND
11-28 21:26:56.037 3660 3660 D BluetoothOppFileProvider: Initialized
11-28 21:26:56.056 3660 3660 D BluetoothAdapterService: onCreate()
11-28 21:26:56.066 3660 3682 E bt_btif_storage: btif_storage_get_adapter_property: Controller not ready! Unable to return Bluetooth Address
11-28 21:26:56.066 3660 3682 E BluetoothServiceJni: adapter_properties_callback: Status 1 is incorrect
11-28 21:26:56.068 1827 1827 D BluetoothManagerService: Bluetooth Adapter name changed to iMX8
11-28 21:26:56.068 1827 1827 D BluetoothManagerService: Stored Bluetooth name: iMX8
11-28 21:26:56.068 3660 3660 I BluetoothAdapterService: Phone policy disabled
11-28 21:26:56.069 3660 3660 D BluetoothActiveDeviceManager: start()
11-28 21:27:19.087 3689 3689 I android.hardware.bluetooth@1.0-service: Registration complete for android.hardware.bluetooth@1.0::IBluetoothHci/default.
11-28 21:27:20.082 3660 3683 D BluetoothActiveDeviceManager: onAudioDevicesAdded
11-28 21:27:20.082 3660 3660 D BluetoothAdapterService: setAdapterService() - trying to set service to com.android.bluetooth.btservice.AdapterService@69a4ce4
11-28 21:27:20.082 3660 3683 D BluetoothActiveDeviceManager: Audio device added: MEK-MX8Q type: 21
11-28 21:27:20.082 3660 3683 D BluetoothActiveDeviceManager: Audio device added: MEK-MX8Q type: 21
11-28 21:27:20.082 3660 3683 D BluetoothActiveDeviceManager: Audio device added: MEK-MX8Q type: 15
11-28 21:27:20.086 3660 3660 D BluetoothAdapterService: onBind()
11-28 21:27:20.087 1827 1827 D BluetoothManagerService: BluetoothServiceConnection: com.android.bluetooth.btservice.AdapterService
11-28 21:27:20.087 1827 1855 D BluetoothManagerService: MESSAGE_BLUETOOTH_SERVICE_CONNECTED: 1
11-28 21:27:20.087 1827 1855 D BluetoothManagerService: Broadcasting onBluetoothServiceUp() to 6 receivers.
11-28 21:27:20.088 1827 1855 D BluetoothAdapter: onBluetoothServiceUp: android.bluetooth.IBluetooth$Stub$Proxy@4d8918c
11-28 21:27:20.088 2068 2311 D BluetoothAdapter: onBluetoothServiceUp: android.bluetooth.IBluetooth$Stub$Proxy@c03c388
11-28 21:27:20.088 3528 3542 D BluetoothAdapter: onBluetoothServiceUp: android.bluetooth.IBluetooth$Stub$Proxy@7caf77c
11-28 21:27:20.088 2005 2468 D BluetoothAdapter: onBluetoothServiceUp: android.bluetooth.IBluetooth$Stub$Proxy@6d29577
11-28 21:27:20.088 3660 3674 D BluetoothAdapter: onBluetoothServiceUp: com.android.bluetooth.btservice.AdapterService$AdapterServiceBinder@ffa3bbd
11-28 21:27:20.088 1987 2004 D BluetoothAdapter: onBluetoothServiceUp: android.bluetooth.IBluetooth$Stub$Proxy@c4fac81
11-28 21:27:20.089 3660 3672 D BluetoothAdapterService: enable() - Enable called with quiet mode status = false
11-28 21:27:20.089 1827 1855 D BluetoothManagerService: MESSAGE_GET_NAME_AND_ADDRESS
11-28 21:27:20.089 3660 3676 D BluetoothAdapterService: updateAdapterState() - Broadcasting state BLE_TURNING_ON to 1 receivers.
11-28 21:27:20.090 3660 3676 D BluetoothAdapterService: bleOnProcessStart()
11-28 21:27:20.090 1827 1855 D BluetoothManagerService: Stored Bluetooth name: iMX8
11-28 21:27:20.090 1827 1855 D BluetoothManagerService: MESSAGE_BLUETOOTH_STATE_CHANGE: OFF > BLE_TURNING_ON
11-28 21:27:20.090 1827 1855 D BluetoothManagerService: Sending BLE State Change: OFF > BLE_TURNING_ON
11-28 21:27:20.091 3660 3676 D BluetoothAdapterService: bleOnProcessStart() - Make Bond State Machine
11-28 21:27:20.091 3660 3676 D BluetoothBondStateMachine: make
11-28 21:27:20.093 3660 3710 I BluetoothBondStateMachine: StableState(): Entering Off State
11-28 21:27:20.098 3660 3660 D BluetoothAdapterService: getAdapterService() - returning com.android.bluetooth.btservice.AdapterService@69a4ce4
11-28 21:27:20.100 3660 3660 D BluetoothAdapterService: getAdapterService() - returning com.android.bluetooth.btservice.AdapterService@69a4ce4
11-28 21:27:20.146 3660 3660 D BluetoothAdapterService: getAdapterService() - returning com.android.bluetooth.btservice.AdapterService@69a4ce4
11-28 21:27:20.147 3660 3660 D BluetoothAdapterService: handleMessage() - Message: 2
11-28 21:27:20.147 3660 3660 D BluetoothAdapterService: handleMessage() - MESSAGE_PROFILE_SERVICE_REGISTERED
11-28 21:27:20.147 3660 3660 D BluetoothAdapterService: handleMessage() - Message: 1
11-28 21:27:20.147 3660 3660 D BluetoothAdapterService: handleMessage() - MESSAGE_PROFILE_SERVICE_STATE_CHANGED
11-28 21:27:20.152 3660 3714 I bt_hci : hci_initialize: IBluetoothHci::getService() returned 0xfeaae5085a40 (remote)
11-28 21:27:20.152 3689 3689 I android.hardware.bluetooth@1.0-impl: BluetoothHci::initialize()
11-28 21:27:24.095 3660 3676 D BluetoothAdapterService: updateAdapterState() - Broadcasting state BLE_TURNING_OFF to 1 receivers.
11-28 21:27:24.095 1827 1855 D BluetoothManagerService: MESSAGE_BLUETOOTH_STATE_CHANGE: BLE_TURNING_ON > BLE_TURNING_OFF
11-28 21:27:24.095 1827 1855 D BluetoothManagerService: Sending BLE State Change: BLE_TURNING_ON > BLE_TURNING_OFF
11-28 21:27:24.101 3660 3660 D BluetoothAdapterService: handleMessage() - Message: 1
11-28 21:27:24.101 3660 3660 D BluetoothAdapterService: handleMessage() - MESSAGE_PROFILE_SERVICE_STATE_CHANGED
11-28 21:27:24.101 3660 3660 D BluetoothAdapterService: handleMessage() - Message: 3
11-28 21:27:24.101 3660 3660 D BluetoothAdapterService: handleMessage() - MESSAGE_PROFILE_SERVICE_UNREGISTERED
11-28 21:27:24.102 3660 3676 D BluetoothAdapterService: updateAdapterState() - Broadcasting state OFF to 1 receivers.
11-28 21:27:24.102 1827 1855 D BluetoothManagerService: MESSAGE_BLUETOOTH_STATE_CHANGE: BLE_TURNING_OFF > OFF
11-28 21:27:24.102 1827 1855 D BluetoothManagerService: Bluetooth is complete send Service Down
11-28 21:27:24.102 1827 1855 D BluetoothManagerService: Broadcasting onBluetoothServiceDown() to 6 receivers.
11-28 21:27:24.102 1827 1855 D BluetoothAdapter: onBluetoothServiceDown: android.bluetooth.IBluetooth$Stub$Proxy@4d8918c
11-28 21:27:24.103 2068 2311 D BluetoothAdapter: onBluetoothServiceDown: android.bluetooth.IBluetooth$Stub$Proxy@c03c388
11-28 21:27:24.103 3528 3542 D BluetoothAdapter: onBluetoothServiceDown: android.bluetooth.IBluetooth$Stub$Proxy@7caf77c
11-28 21:27:24.103 1827 1855 D BluetoothManagerService: unbindAndFinish(): android.bluetooth.IBluetooth$Stub$Proxy@4d8918c mBinding = false mUnbinding = false
11-28 21:27:24.103 2005 2468 D BluetoothAdapter: onBluetoothServiceDown: android.bluetooth.IBluetooth$Stub$Proxy@6d29577
11-28 21:27:24.103 1987 2004 D BluetoothAdapter: onBluetoothServiceDown: android.bluetooth.IBluetooth$Stub$Proxy@c4fac81
11-28 21:27:24.103 3660 3672 D BluetoothAdapter: onBluetoothServiceDown: com.android.bluetooth.btservice.AdapterService$AdapterServiceBinder@ffa3bbd
11-28 21:27:24.104 3660 3660 D BluetoothAdapterService: onUnbind() - calling cleanup
11-28 21:27:24.104 3660 3660 D BluetoothAdapterService: cleanup()
11-28 21:27:24.105 1827 1855 D BluetoothManagerService: Sending BLE State Change: BLE_TURNING_OFF > OFF
11-28 21:27:24.107 3660 3660 W BluetoothSdpJni: Cleaning up Bluetooth SDP Interface...
11-28 21:27:24.107 3660 3660 W BluetoothSdpJni: Cleaning up Bluetooth SDP object
11-28 21:27:24.107 3660 3660 D BluetoothAdapterService: cleanup() - Cleaning up adapter native
11-28 21:27:24.107 1827 1855 D BluetoothManagerService: Entering STATE_OFF but mEnabled is true; restarting.
11-28 21:27:24.107 1827 1855 E BluetoothManagerService: waitForOnOff time out
11-28 21:27:24.508 1827 1855 D BluetoothManagerService: MESSAGE_RESTART_BLUETOOTH_SERVICE
11-28 21:27:24.508 1827 1855 D BluetoothManagerService: Bluetooth is dead,no more retry to restart.
11-28 21:27:24.508 1827 1855 E BluetoothManagerService: MESSAGE_TIMEOUT_BIND
11-28 21:27:28.150 3660 3719 I : [1128/212728.150055:INFO:btu_task.cc(107)] Bluetooth chip preload is complete

0 Kudos
9 Replies

585 Views
redwanmohamed
Contributor II

Hi Diego,

we are able to get nearby Bluetooth devices listed with non car build but Connect fails (even though same changes has been done in car build it doesn’t even list the nearby devices) . What we observed is a2dp source is enabled and not the sink - we tried to modify the bt_config but output remains same

we have observed the same behaviour with last week android 10 release from nxp. Please provide some pointers on this

Thanks

AMR

0 Kudos

585 Views
diegoadrian
NXP Employee
NXP Employee

Hello,

Unfortunately, QCA6174 module is no longer supported by us. Furthermore, i.MX8QM is still in pre-production and most of the information could be subject to change. 

Best regards,

Diego.

0 Kudos

585 Views
redwanmohamed
Contributor II

Thanks Diego for the update. Could you please let us know which the Bluetooth module is evaluated will go with the same chipset

0 Kudos

585 Views
diegoadrian
NXP Employee
NXP Employee

Hello,

For the moment the supported Bluetooth/WiFi chip is the following one:

LBEH5UL1CX from Murata.

Best regards,

Diego.

0 Kudos

585 Views
redwanmohamed
Contributor II

Thanks Diego for the valuable information. Could you please let us know the Android NXP release version which we can refer to validate that

1CX M.2 Module - Embedded Artists  Hope this is the module you are talking about

0 Kudos

585 Views
diegoadrian
NXP Employee
NXP Employee

Hello,

It is the same. However, the connection of that device is thought PCIe. You will need ti implement the driver to make it work with PCIe.

Best regards,

Diego.

0 Kudos

585 Views
redwanmohamed
Contributor II

Hi Diego,

Could you pls tell us more about the PCIE driver you are talking about. Hope we have enabled it and not facing that at the moment. Any other pointers would also help us moving forward

0 Kudos

585 Views
redwanmohamed
Contributor II

Not sure how to add patch - pasting the changes here

hardware/broadcom/libbt


conf/fsl/mek_8q/bt_vendor.conf | 4 ++--
include/vnd_mek_8q.txt | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/conf/fsl/mek_8q/bt_vendor.conf b/conf/fsl/mek_8q/bt_vendor.conf
index 4e160b1..adf748c 100644
--- a/conf/fsl/mek_8q/bt_vendor.conf
+++ b/conf/fsl/mek_8q/bt_vendor.conf
@@ -2,6 +2,6 @@
UartPort = /dev/ttyLP1

# Firmware patch file location
-FwPatchFilePath = /vendor/firmware/bcm/1FD_BCM89359/
+FwPatchFilePath = /vendor/firmware/brcm/

-FwPatchFileName = Type_ZP.hcd
+FwPatchFileName = CYW4354A2.1CX.hcd
diff --git a/include/vnd_mek_8q.txt b/include/vnd_mek_8q.txt
index 61c4d75..2eac84f 100644
--- a/include/vnd_mek_8q.txt
+++ b/include/vnd_mek_8q.txt
@@ -1,5 +1,5 @@
BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyLP1"
-FW_PATCHFILE_LOCATION = "/vendor/firmware/bcm/1FD_BCM89359/Type_ZP.hcd"
+FW_PATCHFILE_LOCATION = "/vendor/firmware/brcm"

device/fsl/imx8q/mek_8q

diff --git a/imx8q/mek_8q/BoardConfig.mk b/imx8q/mek_8q/BoardConfig.mk
index 5308567b..8976bcac 100644
--- a/imx8q/mek_8q/BoardConfig.mk
+++ b/imx8q/mek_8q/BoardConfig.mk
@@ -51,7 +51,7 @@ TARGET_BOOTLOADER_POSTFIX := bin
USE_OPENGL_RENDERER := true
TARGET_CPU_SMP := true

-BOARD_WLAN_DEVICE := qcwcn
+BOARD_WLAN_DEVICE_UNITE := UNITE
+BOARD_WLAN_DEVICE := bcmdhd
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_HOSTAPD_DRIVER := NL80211
@@ -59,11 +59,18 @@ BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)

+WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/brcmfmac/parameters/alternative_fw_path"
+
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true

BOARD_VENDOR_KERNEL_MODULES += \
$(KERNEL_OUT)/drivers/net/wireless/qcacld-2.0/wlan.ko

+# BCM fmac wifi driver module
+BOARD_VENDOR_KERNEL_MODULES += \
+ $(KERNEL_OUT)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko \
+ $(KERNEL_OUT)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
+
ifeq ($(PRODUCT_IMX_CAR_M4),true)
BOARD_VENDOR_KERNEL_MODULES += \
$(KERNEL_OUT)/drivers/extcon/extcon-ptn5150.ko \
@@ -108,6 +115,10 @@ endif

# Qcom 1CQ(QCA6174) BT
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(IMX_DEVICE_PATH)/bluetooth
+
+# BCM 1CX BT
+BOARD_HAVE_BLUETOOTH_BCM := true
+

BOARD_HAS_QCA_BT_ROME := true
BOARD_HAVE_BLUETOOTH_BLUEZ := false
@@ -159,6 +170,8 @@ BOARD_KERNEL_CMDLINE := init=/init androidboot.hardware=freescale androidboot.fb
# Default wificountrycode
BOARD_KERNEL_CMDLINE += androidboot.wificountrycode=CN

+BOARD_KERNEL_CMDLINE += androidboot.wifivendor=bcm
+
ifeq ($(PRODUCT_IMX_CAR),true)
BOARD_KERNEL_CMDLINE += galcore.contiguousSize=33554432 video=HDMI-A-2:d
else
diff --git a/imx8q/mek_8q/early.init_car.cfg b/imx8q/mek_8q/early.init_car.cfg
index 8d9228d8..22060bc2 100644
--- a/imx8q/mek_8q/early.init_car.cfg
+++ b/imx8q/mek_8q/early.init_car.cfg
@@ -1 +1,4 @@
-setprop vendor.wc_transport.start_hci false
+#setprop vendor.wc_transport.start_hci false
+insmod vendor/lib/modules/brcmutil.ko
+insmod vendor/lib/modules/brcmfmac.ko
+insmod vendor/lib/modules/wlan.ko
diff --git a/imx8q/mek_8q/init_car.rc b/imx8q/mek_8q/init_car.rc
index f84ae0f9..bff63e60 100644
--- a/imx8q/mek_8q/init_car.rc
+++ b/imx8q/mek_8q/init_car.rc
@@ -71,12 +71,13 @@ on early-boot
# Wifi firmware reload path
chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path
chown wifi wifi /sys/module/bcmdhd/parameters/nvram_path
+ chown wifi wifi /sys/module/brcmfmac/parameters/alternative_fw_path

# Prepare for wifi
setprop wifi.interface wlan0
- setprop wifi.concurrent.interface p2p0

setprop qcom.bluetooth.soc rome_uart
+ setprop vendor.wc_transport.start_hci false

# Set the density to 213 tvdpi to match CDD.
setprop ro.sf.lcd_density 213
@@ -142,6 +143,16 @@ service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
disabled
oneshot

+service bcm_wpa_supplicant /vendor/bin/hw/bcm_wpa_supplicant \
+ -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
+ -g@android:wpa_wlan0
+ interface android.hardware.wifi.supplicant@1.0::ISupplicant default
+ interface android.hardware.wifi.supplicant@1.1::ISupplicant default
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
service watchdogd /sbin/watchdogd 10 20
class core
@@ -204,6 +215,10 @@ service bugreport /system/bin/dumpstate -d -p -B -z \
oneshot
keycodes 114 115 116

+on property:ro.boot.wifivendor=bcm
+ setprop wifi.direct.interface p2p-dev-wlan0
+ start vendor.wifi_hal_legacy_bcm
+
on property:vendor.wc_transport.start_hci=true
start start_hci_filter

diff --git a/imx8q/mek_8q/mek_8q.mk b/imx8q/mek_8q/mek_8q.mk
index 20ce2088..1854ba92 100644
--- a/imx8q/mek_8q/mek_8q.mk
+++ b/imx8q/mek_8q/mek_8q.mk
@@ -33,7 +33,9 @@ PRODUCT_COPY_FILES += \
$(IMX_DEVICE_PATH)/privapp-permissions-imx.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-imx.xml \
device/fsl/common/init/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \
device/fsl/common/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
+ device/fsl/common/wifi/bcm_wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
device/fsl/common/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
+ device/fsl/common/wifi/bcm_wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/bcm_wpa_supplicant_overlay.conf \
device/fsl/imx8q/mek_8q/usb-update.sh:/vendor/bin/usb-update.sh \
device/fsl/imx8q/mek_8q/usbcamera-permission.sh:/vendor/bin/usbcamera-permission.sh

@@ -230,6 +232,16 @@ PRODUCT_PACKAGES += \
wifilogd \
wificond

+# BCM bluetooth for UNITE mode
+PRODUCT_PACKAGES += \
+ libbt-vendor-unite-bcm
+
+# BCM wifi supplicant for UNITE mode
+PRODUCT_PACKAGES += \
+ bcm_hostapd \
+ bcm_wpa_supplicant \
+ android.hardware.wifi@1.0-service.bcm
+
# Qcom WiFi Firmware
PRODUCT_COPY_FILES += \
vendor/nxp/qca-wifi-bt/1CQ_QCA6174A_LEA_2.0/lib/firmware/qca6174/bdwlan30.bin:vendor/firmware/bdwlan30.bin \
@@ -244,6 +256,20 @@ PRODUCT_COPY_FILES += \
vendor/nxp/qca-wifi-bt/1CQ_QCA6174A_LEA_2.0/lib/firmware/rampatch_tlv_3.2.tlv:vendor/firmware/rampatch_tlv_3.2.tlv \
vendor/nxp/qca-wifi-bt/qca_proprietary/Android_HAL/wcnss_filter_mek_8q:vendor/bin/wcnss_filter

+# BCM Bluetooth vendor config
+PRODUCT_PACKAGES += \
+ bt_vendor.conf
+
+# BCM 1CX Bluetooth Firmware
+PRODUCT_COPY_FILES += \
+ vendor/nxp/imx-firmware/cyw-wifi-bt/1CX_CYW4356/BCM4354A2.1CX.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/CYW4354A2.1CX.hcd
+
+# BCM 1CX Wifi Firmware
+PRODUCT_COPY_FILES += \
+ vendor/nxp/imx-firmware/cyw-wifi-bt/1CX_CYW4356/brcmfmac4356-pcie.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.bin \
+ vendor/nxp/imx-firmware/cyw-wifi-bt/1CX_CYW4356/brcmfmac4356-pcie.clm_blob:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.clm_blob \
+ vendor/nxp/imx-firmware/cyw-wifi-bt/1CX_CYW4356/brcmfmac4356-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.txt
+
# AudioControl service
ifeq ($(PRODUCT_IMX_CAR),true)
PRODUCT_PACKAGES += \
diff --git a/imx8q/mek_8q/sepolicy/file_contexts b/imx8q/mek_8q/sepolicy/file_contexts
index b9605040..d5296d7a 100644
--- a/imx8q/mek_8q/sepolicy/file_contexts
+++ b/imx8q/mek_8q/sepolicy/file_contexts
@@ -56,3 +56,8 @@
#Neural Network HAL service
/vendor/bin/hw/android\.hardware\.neuralnetworks@1\.0-service-imx-nn u:object_r:hal_neuralnetworks_imx_exec:s0

+# Wifi binary for UNITE
+/(vendor|system/vendor)/bin/hw/bcm_hostapd u:object_r:hal_wifi_hostapd_default_exec:s0
+/(vendor|system/vendor)/bin/hw/bcm_wpa_supplicant u:object_r:hal_wifi_supplicant_default_exec:s0

585 Views
redwanmohamed
Contributor II

Hi Diego,

We have procured LBEH5UL1CX from Murata per your suggestion. Found evk_8mq have been evaluated with that module and did the required changes to mek_8q board - we are getting below log. Attached the patches we have done for validating bcm4356 chipset

Could you please help us resolve this - we are working on this for the past 1 month with the 2nd module (earlier qca6174 per RN and now bcm4356)

mek_8q:/ # logcat | grep bt_
[ 1143.256711] type=1400 audit(1580728620.036:201): avc: denied { call } for pid=1635 comm="surfaceflinger" scontext=u:r:surfaceflinger:s0 tcontext=u:r:mediacodec:s0 tclass=binder permissive=1 b/77924251
[ 1143.275086] type=1400 audit(1580728795.548:202): avc: denied { dac_read_search } for pid=4328 comm="main" capability=2 scontext=u:r:zygote:s0 tcontext=u:r:zygote:s0 tclass=capability permissive=1
[ 1143.297501] type=1400 audit(1580728795.548:202): avc: denied { dac_read_search } for pid=4328 comm="main" capability=2 scontext=u:r:zygote:s0 tcontext=u:r:zygote:s0 tclass=capability permissive=1
[ 1143.315234] type=1400 audit(1580728795.552:203): avc: denied { call } for pid=1635 comm="surfaceflinger" scontext=u:r:surfaceflinger:s0 tcontext=u:r:mediacodec:s0 tclass=binder permissive=1 b/77924251
02-03 11:19:55.650 4328 4328 I : [0203/111955.650320:INFO:com_android_bluetooth_btservice_AdapterService.cpp(630)] hal_util_load_bt_library loaded HAL: btinterface=0xfd581368b430, handle=0x9170d9a58c383755
02-03 11:19:55.656 4328 4328 I bt_btif : init
02-03 11:19:55.656 4328 4328 D bt_osi_allocation_tracker: canary initialized
02-03 11:19:55.657 4328 4345 I bt_osi_thread: run_thread: thread id 4345, thread name stack_manager started
02-03 11:19:55.657 4328 4345 I bt_stack_manager: event_init_stack is initializing the stack
02-03 11:19:55.658 4328 4348 I bt_osi_thread: run_thread: thread id 4348, thread name alarm_default_ca started
02-03 11:19:55.659 4328 4349 I bt_osi_thread: run_thread: thread id 4349, thread name alarm_dispatcher started
02-03 11:19:55.660 4328 4345 I bt_btif_core: btif_init_bluetooth entered
02-03 11:19:55.660 4328 4345 I bt_stack[ 1143.433506] rfkill: BT RF going to : off
_config: init attempt to load stack conf from /etc/bluetooth/bt_s[ 1143.439799] rfkill: BT RF going to : on
tack.conf
02-03 11:19:55.661 4328 4350 I bt_osi_thread: run_th[ 1143.449280] mxc_bt_rfkill_reset
read: thread id 4350, thread name bt_jni_workqueue started
02-03 11:19:55.661 4328 4345 I bt_btif_core: btif_init_bluetooth finished
02-03 11:19:55.661 4328 4345 I bt_stack_manager: event_init_stack finished
02-03 11:19:55.661 4328 4350 I bt_btif_core: run_message_loop entered
02-03 11:19:55.661 4328 4328 I bt_osi_wakelock: wakelock_set_os_callouts set to non-native
02-03 11:19:55.661 4328 4328 I bt_btif : get_profile_interface: id = socket
02-03 11:19:55.661 4328 4350 E bt_btif_storage: btif_storage_get_adapter_property: Controller not ready! Unable to return Bluetooth Address
02-03 11:19:55.662 4328 4328 I bt_btif : get_profile_interface: id = sdp
02-03 11:19:55.690 4328 4328 I bt_btif : get_profile_interface: id = gatt
02-03 11:19:55.720 4328 4328 I bt_btif : enable: start restricted = 0
02-03 11:19:55.720 4328 4345 I bt_stack_manager: event_start_up_stack is bringing up the stack
02-03 11:19:55.720 4328 4345 I bt_core_module: module_start_up Starting module "btif_config_module"
02-03 11:19:55.720 4328 4345 I bt_core_module: module_start_up Started module "btif_config_module"
02-03 11:19:55.720 4328 4345 I bt_core_module: module_start_up Starting module "btsnoop_module"
02-03 11:19:55.720 4328 4345 I bt_core_module: module_start_up Started module "btsnoop_module"
02-03 11:19:55.720 4328 4345 I bt_core_module: module_start_up Starting module "hci_module"
02-03 11:19:55.720 4328 4345 I bt_hci : hci_module_start_up
02-03 11:19:55.721 4328 4362 I bt_osi_thread: run_thread: thread id 4362, thread name hci_thread started
02-03 11:19:55.721 4328 4362 I bt_hci : hci_initialize
02-03 11:19:55.723 4328 4345 D bt_hci : hci_module_start_up starting async portion
02-03 11:19:55.724 4328 4362 I bt_hci : hci_initialize: IBluetoothHci::getService() returned 0xfd5823229aa0 (remote)
02-03 11:19:55.726 1749 1749 I bt_vendor: init
02-03 11:19:55.726 1749 1749 I bt_vnd_conf: Attempt to load conf from /etc/bluetooth/bt_vendor.conf
02-03 11:19:55.726 1749 1749 I bt_vnd_conf: vnd_load_conf file >/etc/bluetooth/bt_vendor.conf< not found
02-03 11:19:55.726 1749 1749 D bt_vendor: op for 0
02-03 11:19:55.726 1749 1749 D bt_upio : is_emulator_context : 0
02-03 11:19:55.726 1749 1749 D bt_upio : is_rfkill_disabled ? [0]
02-03 11:19:55.726 1749 1749 D bt_upio : is_rfkill_disabled ? [0]
02-03 11:19:55.732 1749 1749 W bt_vendor: NOTE: BT_VND_PWR_ON now forces power-off first
02-03 11:19:55.732 1749 1749 D bt_upio : is_emulator_context : 0
02-03 11:19:55.732 1749 1749 D bt_upio : is_rfkill_disabled ? [0]
02-03 11:19:56.272 1749 1749 D bt_vendor: op for 3
02-03 11:19:56.272 1757 1849 E display : threadLoop invalid uevent change@/devices/platform/bt_rfkill/rfkill/rfkill1
02-03 11:19:56.272 1749 1749 I bt_userial_vendor: userial vendor open: opening /dev/ttyLP1
02-03 11:19:56.276 1749 1749 I bt_userial_vendor: device fd = 6 open
02-03 11:19:56.276 1749 1749 D bt_vendor: op for 1
02-03 11:19:56.276 1749 1749 D bt_vendor: op for 7
02-03 11:19:56.276 1749 1749 D bt_upio : upio_set : pio 0 action 2, polarity 1
02-03 11:19:56.380 1749 4365 I bt_hwcfg: bt vendor lib: set UART baud 3000000
02-03 11:19:56.396 1749 4365 D bt_hwcfg: Chipset BCM4354A2
02-03 11:19:56.396 1749 4365 D bt_hwcfg: Target name = [BCM4354A2]
02-03 11:19:56.396 1749 4365 I bt_hwcfg: FW patchfile: /vendor/firmware/brcm/CYW4354A2.1CX.hcd
02-03 11:19:56.665 1749 4365 I bt_hwcfg: bt vendor lib: set UART baud 115200
02-03 11:19:56.667 1749 4365 D bt_hwcfg: Settlement delay -- 100 ms
02-03 11:19:56.667 1749 4365 I bt_hwcfg: Setting fw settlement delay to 100
02-03 11:19:56.798 1749 4365 I bt_hwcfg: bt vendor lib: set UART baud 3000000
02-03 11:19:56.800 1749 4365 I bt_hwcfg: Setting local bd addr to 0F:12:88:0E:82:89
02-03 11:19:56.823 1749 4365 I bt_hwcfg: vendor lib fwcfg completed
02-03 11:19:56.823 4328 4362 I bt_hci : event_finish_startup
02-03 11:19:56.823 1749 4365 D bt_vendor: op for 5
02-03 11:19:56.823 1749 4365 D bt_vendor: op for 6
02-03 11:19:56.823 1749 4365 D bt_upio : upio_set : pio 2 action 2, polarity 0
02-03 11:19:56.823 4328 4345 I bt_core_module: module_start_up Started module "hci_module"
02-03 11:19:56.824 4328 4366 I bt_osi_thread: run_thread: thread id 4366, thread name bt_workqueue started
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_HCI : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_L2CAP : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_RFCOMM : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_AVDT : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_AVRC : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_A2D : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_BNEP : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_BTM : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_HID_HOST : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_PAN : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_SDP : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_SMP : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_HID_DEV : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_BTAPP : Level 2
02-03 11:19:56.826 4328 4366 I bt_bte : BTE_InitTraceLevels -- TRC_BTIF : Level 2
02-03 11:19:56.826 4328 4367 I bt_osi_thread: run_thread: thread id 4367, thread name btu message loop started
02-03 11:19:56.827 4328 4368 I bt_osi_thread: run_thread: thread id 4368, thread name module_wrapper started
02-03 11:19:56.827 4328 4368 I bt_core_module: module_start_up Starting module "controller_module"
02-03 11:19:56.978 4328 4368 I bt_core_module: module_start_up Started module "controller_module"
02-03 11:19:56.978 4328 4368 W bt_osi_thread: run_thread: thread id 4368, thread name module_wrapper exited
02-03 11:19:56.979 4328 4366 W bt_btm : btm_decode_ext_features_page: feature page 1 ignored
02-03 11:19:56.979 4328 4366 W bt_btm : btm_decode_ext_features_page: feature page 2 ignored
02-03 11:19:56.979 4328 4367 I bt_btm_sec: BTM_SecRegister p_cb_info->p_le_callback == 0x0xfd58132e46a8
02-03 11:19:56.979 4328 4367 I bt_btm_sec: BTM_SecRegister btm_cb.api.p_le_callback = 0x0xfd58132e46a8
02-03 11:19:56.979 4328 4367 I bt_stack: [INFO:ble_advertiser_hci_interface.cc(737)] Legacy advertising will be in use
02-03 11:19:56.980 4328 4367 I bt_stack: [INFO:gatt_api.cc(948)] GATT_Register a3aaf5ab-8893-1186-a661-f0a8bbfddc4f
02-03 11:19:56.980 4328 4367 I bt_stack: [INFO:gatt_api.cc(968)] allocated gatt_if=3
02-03 11:19:56.989 4328 4350 E bt_btif_storage: btif_storage_get_adapter_property: Controller ready!
02-03 11:19:56.989 4328 4350 I bt_btif_storage: btif_storage_get_adapter_property service_mask:0x20000000
02-03 11:19:56.996 4328 4350 I bt_btif_core: btif_enable_bluetooth_evt entered: status 0
02-03 11:19:56.997 4328 4370 I bt_osi_thread: run_thread: thread id 4370, thread name btif_sock started
02-03 11:19:56.998 4328 4350 D bt_bte_conf: Device ID record 1 : primary
02-03 11:19:56.998 4328 4350 D bt_bte_conf: vendorId = 00e0
02-03 11:19:56.998 4328 4350 D bt_bte_conf: vendorIdSource = 0001
02-03 11:19:56.998 4328 4350 D bt_bte_conf: product = 1200
02-03 11:19:56.998 4328 4350 D bt_bte_conf: version = 1436
02-03 11:19:56.998 4328 4350 D bt_bte_conf: clientExecutableURL =
02-03 11:19:56.998 4328 4350 D bt_bte_conf: serviceDescription =
02-03 11:19:56.998 4328 4350 D bt_bte_conf: documentationURL =
02-03 11:19:56.998 4328 4350 D bt_bte_conf: bte_load_did_conf no section named DID2.
02-03 11:19:56.998 4328 4350 I bt_btif_core: btif_enable_bluetooth_evt finished
02-03 11:19:56.998 4328 4345 I bt_stack_manager: event_start_up_stack finished
02-03 11:19:57.021 4328 4328 I bt_btif : get_profile_interface: id = a2dp_sink
02-03 11:19:57.021 4328 4328 I btif_av : bt_status_t BtifAvSink::Init(btav_sink_callbacks_t *)
02-03 11:19:57.034 4328 4328 I bt_btif_a2dp_sink: btif_a2dp_sink_init
02-03 11:19:57.034 4328 4373 I bt_osi_thread: run_thread: thread id 4373, thread name btif_a2dp_sink_w started
02-03 11:19:57.034 4328 4373 I bt_btif_a2dp_sink: btif_a2dp_sink_init_delayed
02-03 11:19:57.035 4328 4367 I bt_bta_av: bta_av_api_register: AVRCP version used for sdp: "avrcp14"
02-03 11:19:57.035 4328 4367 I bt_bta_av: bta_av_api_register: AVRCP version used for sdp: "avrcp14"
02-03 11:19:57.036 4328 4367 I bt_bta_av: bta_av_api_register: AVRCP version used for sdp: "avrcp14"
02-03 11:19:57.036 4328 4350 I bt_btif_storage: btif_storage_get_adapter_property service_mask:0x20040000
02-03 11:19:57.036 4328 4367 I bt_bta_av: bta_av_api_register: AVRCP version used for sdp: "avrcp14"
02-03 11:19:57.036 4328 4367 I bt_bta_av: bta_av_api_register: AVRCP version used for sdp: "avrcp14"
02-03 11:19:57.041 4328 4328 I bt_btif : get_profile_interface: id = pan
02-03 11:19:57.049 4328 4328 I bt_btif : get_profile_interface: id = handsfree_client
02-03 11:19:57.050 4328 4350 I bt_stack: [INFO:port_api.cc(230)] RFCOMM_CreateConnection: bd_addr=ff:ff:ff:ff:ff:ff, scn=2, is_server=1, mtu=256, uuid=0x111e, dlci=4, signal_state=0x0b, p_port=0xfd5813786930
02-03 11:19:57.050 4328 4350 I bt_btif_storage: btif_storage_get_adapter_property service_mask:0x21040000
02-03 11:19:57.065 4328 4328 I bt_btif : get_profile_interface: id = avrcp_ctrl
02-03 11:19:57.106 4328 4367 I bt_stack: [INFO:port_api.cc(230)] RFCOMM_CreateConnection: bd_addr=ff:ff:ff:ff:ff:ff, scn=3, is_server=1, mtu=990, uuid=0x0037, dlci=6, signal_state=0x0b, p_port=0xfd58137869e8
02-03 11:19:57.150 4328 4328 I bt_btif : get_profile_interface: id = hiddev
02-03 11:19:57.150 4328 4350 I bt_btif_storage: btif_storage_get_adapter_property service_mask:0x61040000
02-03 11:19:57.217 4328 4367 E bt_btif : bte_scan_filt_param_cfg_evt, 1
02-03 11:19:57.217 4328 4367 E bt_btif : bte_scan_filt_param_cfg_evt, 1
02-03 11:19:57.217 4328 4367 W bt_btif : bta_dm_check_av:0
02-03 11:19:57.221 4328 4367 E bt_btif : bte_scan_filt_param_cfg_evt, 1
02-03 11:19:57.221 4328 4367 E bt_btif : bte_scan_filt_param_cfg_evt, 1
02-03 11:19:57.553 4328 4367 W bt_btm_ble: btm_ble_process_adv_pkt_cont device no longer discoverable, discarding advertising packet
02-03 11:19:57.911 4328 4367 W bt_btm_ble: btm_ble_process_adv_pkt_cont device no longer discoverable, discarding advertising packet
02-03 11:19:58.259 4328 4367 W bt_btm_ble: btm_ble_process_adv_pkt_cont device no longer discoverable, discarding advertising packet
02-03 11:19:58.602 4328 4367 W bt_btm_ble: btm_ble_process_adv_pkt_cont device no longer discoverable, discarding advertising packet
02-03 11:19:59.319 4328 4367 W bt_btm_ble: btm_ble_process_adv_pkt_cont device no longer discoverable, discarding advertising packet
02-03 11:20:10.026 4328 4367 E bt_btif : bte_scan_filt_param_cfg_evt, 1
02-03 11:20:11.528 1749 4365 D bt_vendor: op for 7
02-03 11:20:11.528 1749 4365 D bt_upio : upio_set : pio 0 action 1, polarity 1
[ 1161.177651] healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
[ 1161.322866] healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=

Thanks

AMR

0 Kudos