Hi,
I have been trying to connect phone on the i.MX8QM development board with Bluetooth module Cypress CYW4356. My phone is connected to the board and i am able access the caller app on the board. Using that i made a call to another device and calling is done. But no audio is getting in both devices, which i guess some issues in routing call from the board. The board is connected with a speaker system and we can able able play a music from phone via Bluetooth using an app (media player). I think Bluetooth audio routing has any issue. Could you suggest a method so that i can able to use Bluetooth for telephonic purpose. Thank you.
Regards,
Aravind
Hello,
We are trying to use the brcmfmac backports driver for a CYW43455 on and Allwinner BSP using Android 8.1 + Kernel 4.9. We were previously using the bcmdhd driver + hal (using libhardware_legacy) provided by the Allwinner BSP. We have built the brcmfmac backport kernel modules (v5.4.18-2020_0925), and the firmware (provided by our vendor AzureWave) is being loaded successfully:
6,7572,90624538,-;brcmfmac: brcmf_fw_alloc_request: using /system/vendor/modules/fw_cyw43455 for chip BCM4345/6
6,7574,90677612,-;brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Aug 16 2020 21:23:41 version 7.45.203 (r724662 CY) FWID 01-4cfc72ea
However the wlan0 network device is not available, and the WifiVenorHal fails to load:
02-24 23:00:31.013 1990 2239 D WifiService: setWifiEnabled: true pid=22334, uid=0, package=com.android.shell
02-24 23:00:31.013 1990 2239 I WifiService: setWifiEnabled package=com.android.shell uid=0 enable=true
02-24 23:00:31.014 1990 2116 D WifiStateMachine: setting operational mode to 1
02-24 23:00:31.014 1990 2116 D WifiStateMachine: setting operational mode to 1
02-24 23:00:31.015 1990 2117 D WifiStateMachine: InitialState !CMD_SET_OPERATIONAL_MODE rt=10880343/10880343 1 0
02-24 23:00:31.015 1990 2117 D WifiStateMachine: InitialState !CMD_START_SUPPLICANT rt=10880343/10880343 0 0
02-24 23:00:31.015 1990 2117 D HalDeviceManager: isSupportedInternal
02-24 23:00:31.017 1990 2117 D HalDeviceManager: startWifi
02-24 23:00:31.018 1682 1682 I android.hardware.wifi@1.0-service: Wifi HAL started
02-24 23:00:31.018 1990 2101 D HalDeviceManager: IWifiEventCallback.onStart
02-24 23:00:31.018 1990 2117 D HalDeviceManager: initIWifiChipDebugListeners
02-24 23:00:31.019 1990 2117 D HalDeviceManager: getChipIds=[0]
02-24 23:00:31.021 1990 2117 D HalDeviceManager: createIface: ifaceType=0
02-24 23:00:31.022 1990 2117 D HalDeviceManager: getAllChipInfo
02-24 23:00:31.022 1990 2117 D HalDeviceManager: getChipIds=[0]
02-24 23:00:31.027 1990 2117 D HalDeviceManager: validateInterfaceCache
02-24 23:00:31.028 1990 2117 D HalDeviceManager: createIfaceIfPossible: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=false, currentModeId=0, ifaces[1].length=0, ifaces[0].length=0, ifaces[2].length=0, ifaces[3].length=0)], ifaceType=0
02-24 23:00:31.028 1990 2117 D HalDeviceManager: {.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]} expands to [[1, 0, 1, 0]]
02-24 23:00:31.029 1990 2117 D HalDeviceManager: canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=false, currentModeId=0, ifaces[1].length=0, ifaces[0].length=0, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, chipIfaceCombo=[I@f320350, ifaceType=0
02-24 23:00:31.029 1990 2117 D HalDeviceManager: compareIfaceCreationData: val1={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=false, currentModeId=0, ifaces[1].length=0, ifaces[0].length=0, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[]), val2=null
02-24 23:00:31.029 1990 2117 D HalDeviceManager: new proposal accepted
02-24 23:00:31.030 1990 2117 D HalDeviceManager: {.limits = [{.types = [1], .maxIfaces = 1}]} expands to [[0, 1, 0, 0]]
02-24 23:00:31.030 1990 2117 D HalDeviceManager: canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=false, currentModeId=0, ifaces[1].length=0, ifaces[0].length=0, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}, chipIfaceCombo=[I@dfd924e, ifaceType=0
02-24 23:00:31.030 1990 2117 D HalDeviceManager: Requested type not supported by combo
02-24 23:00:31.031 1990 2117 D HalDeviceManager: compareIfaceCreationData: val1=null, val2={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=false, currentModeId=0, ifaces[1].length=0, ifaces[0].length=0, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[])
02-24 23:00:31.031 1990 2117 D HalDeviceManager: executeChipReconfiguration: ifaceCreationData={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=false, currentModeId=0, ifaces[1].length=0, ifaces[0].length=0, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[]), ifaceType=0
02-24 23:00:31.031 1990 2117 D HalDeviceManager: isModeConfigNeeded=true
02-24 23:00:31.032 1682 1682 E android.hardware.wifi@1.0-service: wifi_load_driver: Start to insmod brcmfmac.ko
02-24 23:00:31.032 1682 1682 E android.hardware.wifi@1.0-service: module_arg= nvram_path=/system/vendor/modules/nvram_awcm390sm.txt config_path=/system/vendor/modules/config_awcm390sm.txt
02-24 23:00:31.032 1682 1682 E android.hardware.wifi@1.0-service: module_path= /system/vendor/modules/brcmfmac.ko
02-24 23:00:31.032 1682 1682 I android.hardware.wifi@1.0-service: Open /system/vendor/modules/brcmfmac.ko succuss.
02-24 23:00:31.076 1682 1682 I android.hardware.wifi@1.0-service: Do finit_module ret = 0
02-24 23:00:31.077 1682 1682 I android.hardware.wifi@1.0-service: wifi_driver_fw_path_param = /sys/module/brcmfmac/parameters/alternative_fw_path
02-24 23:00:31.078 1682 1682 E android.hardware.wifi@1.0-service: Could not read interface state for wlan0 (No such device)
02-24 23:00:31.078 1682 1682 E android.hardware.wifi@1.0-service: Failed to set WiFi interface up
02-24 23:00:31.078 1682 1682 E android.hardware.wifi@1.0-service: Failed to start legacy HAL: UNKNOWN
02-24 23:00:31.079 1990 2101 D HalDeviceManager: onChipReconfigureFailure: status=9 (unknown)
02-24 23:00:31.079 1990 2117 E HalDeviceManager: executeChipReconfiguration: configureChip error: 9 (unknown)
02-24 23:00:31.079 1990 2117 E WifiVendorHal: Failed to create STA Iface. Vendor Hal start failed
02-24 23:00:31.079 1990 2117 D HalDeviceManager: stopWifi
02-24 23:00:32.712 1990 2023 D IpManager.wlan0: interfaceAdded(wlan0)
02-24 23:00:33.336 1990 2023 D IpManager.wlan0: interfaceRemoved(wlan0)
What are we missing to create the wlan0 interface?
Show LessHello,
We're currently using a CYW43455 and porting brcmfmac to and Android 8.1 BSP w/ Kernel 4.9 using backports v5.4.18. We used to be using the bcmdhd driver. bcmdhd will load a 'config.txt' file that sets certain configurations that don't seem to be available in the brcmfmac driver?
This config.txt file allows us to configure things like the supported bands, bw_caps, channels etc.. for different scenarios. Specifically we would like to disable 5Ghz entirely, which we would previously accomplish by setting "band=b" in bcmdhd's config.txt.
How do we support these configurations in brcmfmac?
Thanks!
Show LessWe are using imx6ul custom board with kernel version 5.4
here are the logs
compat: loading out-of-tree module taints kernel.
[ 48.112816] Loading modules backported from Linux version v5.4.18-2020_0402-0-g392330e
[ 48.136949] Backport generated by backports.git v5.5.11-1-0-gabe05f0
[ 52.381616] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 52.438974] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 52.448004] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 52.456654] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 64.488165] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 64.512666] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[ 90.690569] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[ 90.701665] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 90.710733] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 90.721296] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[ 90.731692] mmc0: queuing unknown CIS tuple 0x80 (6 bytes)
[ 90.852696] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 90.882206] usbcore: registered new interface driver brcmfmac
[ 90.893490] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.fsl,imx6ul-14x14-evk.txt failed with error -2
[ 90.918201] brcmfmac mmc0:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.fsl,imx6ul-14x14-evk.txt
[ 115.688266] cfg80211: failed to load regulatory.db
[ 125.928556] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
[ 152.543901] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
Hi,
I'm using BCM4354 wifi module in our product. For FCC compliance testing I need to put the module in continuous transmission in the following modes - 802.11b, g, n(20MHz), n(40MHz) and ac. By referring the Cypress Wi-Fi CLM Regulatory Manual.pdf I was able to do the same. However, I have few concerns in the testing. Kindly, help me in resolving the below 2 issues.
$ wl chanspec -c 1 b 2 -w 40 -s 1 -> channel-1, operating band-2.4GHz, bandwidth - 40MHz
wl:error -20
Is this module limitation?
Anticipating your quick response.
Regards,
Akash Sekhar
Show LessDear Cypress team,
We are using a Murata Wifi HW module with the BCM43455 (https://www.cypress.com/file/2
We have experienced a lot of issues with this on AVM FritzBox Mesh Networks with many of our devices.
We see that a Beta release of the BCM43455 binary firmware was made addressing the issue.
https://github.com/raspberrypi
When is this planned to become part of an official release?
Thanks a lot in advance!
Best,
Nils
Hello Everyone,
We are using BCM43455 with imx7d on our board. our development is in Android 9.0. The Bluetooth and wifi for our board is working all fine. However, our client wants to enforce a particular security level for BLE and BT.
BLE - Security Mode 1, Level 4
Classic Bluetooth - Security Mode 4, level 4.
I know that this chip supports Bluetooth 5.0 and supports the above mode. But because we are using android and it supports all the security modes, I am not sure how to enforce the above 2 only.
1. Can I change any configuration to support the above modes in kernel configuration or android permissions, which I am not aware of?
2. Or would have to do changes in the software, if yes could you please help by giving some pointer to start?
Any help is really appreciated.
Thanks
Show LessI have been using iwd for wifi connections on my RPis (Zero/3/4). These all use the brcmfmac/cyfmac 43430/45455 chip. They work reasonably well in station mode with iwd. The current RPi kernel uses an old driver, though I have built and installed the latest driver from 20200925 and also the firmware in the same package. The main advantage of iwd over wpa_supplicant is that the devices connect almost immediately. Very fast.
I cannot get AP mode to work at all with iwd. hostapd works fine. Can we get assistance getting the fmac driver/firmware updated so that it will work with IWD in ap mode?
from the IWD group, this is one difference noted:
The issue is that iwd uses NL80211_CMD_REGISTER_FRAME to be notified of incoming management frames,
and this is what kicks off the 4-Way Handshake in ap.c. But brcmfmac does not support this (except in P2P mode?).
Appreciate any comments and help with this.
Keith
Show LessHello,
We're currently using the BCMDHD driver with an Allwinner A50 BSP with Android 8.1 oreo and Kernel 4.9. We are moving to the CYW43455 with Azurewave as our module provider and we're not clear what would be the best driver to use:
1. BCMDHD is provided in the A50 BSP, and we have been using it successfully with our previous module supplier
2. CYWDHD is provided by Azurewave as their preferred driver, but seems like it is an older fork of BCMDHD and has seen very little development compared to the BSP's BCMDHD.
3. BRCMFMAC is Cypress's preferred path forward for security updates and feature support (WPA3/DPP etc), but we're not sure how risky / labor intensive it is to port it to our BSP's 4.9 kernel?
Any insights would be much appreciated - which driver should we use? Thanks!
Show LessNew Contributor II
Contributor
Employee
Employee
Employee
New Contributor II
New Contributor II