IMX8QM: bluetooth hci0 firmware request timeout with 8987 Wifi+BT Chipset

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8QM: bluetooth hci0 firmware request timeout with 8987 Wifi+BT Chipset

Jump to solution
6,507 Views
vinothkumars
Senior Contributor IV

Hi.

I got Bluetooth driver error while in software reboot,

 

Software: Yocto L5.10.32

Hardware: IMX8QM Custom board

Wireless Chipset (WIFI + BT Combo): 88w8987

Please find the log,

root@root:~# dmesg | grep -i blu
[ 0.178289] Bluetooth: Core ver 2.22
[ 0.178344] Bluetooth: HCI device and connection manager initialized
[ 0.178355] Bluetooth: HCI socket layer initialized
[ 0.178365] Bluetooth: L2CAP socket layer initialized
[ 0.178380] Bluetooth: SCO socket layer initialized
[ 2.857391] Bluetooth: RFCOMM TTY layer initialized
[ 2.862289] Bluetooth: RFCOMM socket layer initialized
[ 2.867476] Bluetooth: RFCOMM ver 1.11
[ 2.871239] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.876562] Bluetooth: BNEP filters: protocol multicast
[ 2.881805] Bluetooth: BNEP socket layer initialized
[ 2.886776] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 2.892713] Bluetooth: HIDP socket layer initialized
[ 6.713831] Bluetooth: HCI UART driver ver 2.3
[ 6.718583] Bluetooth: HCI UART protocol H4 registered
[ 6.726063] Bluetooth: HCI UART protocol BCSP registered
[ 6.757590] Bluetooth: HCI UART protocol LL registered
[ 6.763122] Bluetooth: HCI UART protocol ATH3K registered
[ 6.769578] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 6.777724] Bluetooth: HCI UART protocol Broadcom registered
[ 6.784177] Bluetooth: HCI UART protocol QCA registered
[ 6.801786] Bluetooth: HCI UART protocol Marvell registered
[ 6.880852] Bluetooth: hci0: Loading mrvl/helper_uart_3000000.bin
[ 7.163462] Bluetooth: hci0: Frame reassembly failed (-84)
[ 7.496839] Bluetooth: hci0: Frame reassembly failed (-84)
[ 7.830188] Bluetooth: hci0: Frame reassembly failed (-84)
[ 8.163532] Bluetooth: hci0: Frame reassembly failed (-84)
[ 8.496918] Bluetooth: hci0: Frame reassembly failed (-84)
[ 8.830274] Bluetooth: hci0: Frame reassembly failed (-84)
[ 8.895119] Bluetooth: hci0: Firmware request timeout
[ 8.900229] Bluetooth: hci0: Unable to download firmware helper
[ 9.163615] Bluetooth: hci0: Frame reassembly failed (-84)
[ 9.497004] Bluetooth: hci0: Frame reassembly failed (-84)
[ 9.830378] Bluetooth: hci0: Frame reassembly failed (-84)
[ 10.163701] Bluetooth: hci0: Frame reassembly failed (-84)
[ 10.497043] Bluetooth: hci0: Frame reassembly failed (-84)
[ 10.830429] Bluetooth: hci0: Frame reassembly failed (-84)
[ 11.163752] Bluetooth: hci0: Frame reassembly failed (-84)
[ 11.497112] Bluetooth: hci0: Frame reassembly failed (-84)
[ 11.830517] Bluetooth: hci0: Frame reassembly failed (-84)
[ 12.163851] Bluetooth: hci0: Frame reassembly failed (-84)
[ 12.497285] Bluetooth: hci0: Frame reassembly failed (-84)
[ 12.830626] Bluetooth: hci0: Frame reassembly failed (-84)

 

 

Regards,
Vinothkumar Sekar
0 Kudos
1 Solution
6,474 Views
vinothkumars
Senior Contributor IV

Hi All 

I found the fix, this issues because of power down pin

Regards,
Vinothkumar Sekar

View solution in original post

0 Kudos
14 Replies
6,066 Views
naresh_nakka
Contributor I

Hi NXP ,

Please help me on Bluetooth issue.

  • I have been working on bluetooth , getting firmware request timeout ,so unable to download the firmware .
  • CHIPSET [BT/WIFI] :88W8997

root@am62xx-evm:~# dmesg | grep Blu

[ 0.513675] Bluetooth: Core ver 2.22

[ 0.521910] Bluetooth: HCI device and connection manager initialized

[ 0.528411] Bluetooth: HCI socket layer initialized

[ 0.533399] Bluetooth: L2CAP socket layer initialized

[ 0.538575] Bluetooth: SCO socket layer initialized

[ 1.218327] Bluetooth: HCI UART driver ver 2.3

[ 1.222885] Bluetooth: HCI UART protocol H4 registered

[ 1.228139] Bluetooth: HCI UART protocol BCSP registered

[ 1.233590] Bluetooth: HCI UART protocol LL registered

[ 1.238844] Bluetooth: HCI UART protocol ATH3K registered

[ 1.244381] Bluetooth: HCI UART protocol Three-wire (H5) registered

[ 1.250837] Bluetooth: HCI UART protocol Intel registered

[ 1.256425] Bluetooth: HCI UART protocol Broadcom registered

[ 1.262230] Bluetooth: HCI UART protocol QCA registered

[ 1.267574] Bluetooth: HCI UART protocol AG6XX registered

[ 1.280229] Bluetooth: HCI UART protocol Marvell registered

[ 1.382373] Bluetooth: RFCOMM TTY layer initialized

[ 1.387376] Bluetooth: RFCOMM socket layer initialized

[ 1.392660] Bluetooth: RFCOMM ver 1.11

[ 1.396501] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[ 1.401932] Bluetooth: BNEP filters: protocol multicast

[ 1.407279] Bluetooth: BNEP socket layer initialized

[ 1.412354] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

[ 1.418410] Bluetooth: HIDP socket layer initialized

[ 2.633279] Bluetooth: hci0: Failed to load firmware file mrvl/helper_uart_3000000.bin

[ 2.641205] Bluetooth: hci0: Unable to download firmware helper

root@am62xx-evm:~#

root@am62xx-evm:~#

root@am62xx-evm:~# hciconfig

hci0: Type: Primary Bus: UART

BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0

DOWN

RX bytes:0 acl:0 sco:0 events:0 errors:0

TX bytes:0 acl:0 sco:0 commands:0 errors:0

 

root@am62xx-evm:~# hciconfig hci0 up

[ 88.055911] line =359 function=mrvl_setup file=drivers/bluetooth/hci_mrvl.c

[ 88.063103] line =279 function=mrvl_load_firmware file=drivers/bluetooth/hci_mrvl.c

[ 88.106668] Bluetooth: hci0: Loading mrvl/helper_uart_3000000.bin

[ 96.323483] Bluetooth: hci0: Firmware request timeout

[ 96.328602] Bluetooth: hci0: Unable to download firmware helper

Can't init device hci0: Invalid argument (22)

root@am62xx-evm:~#

 

root@am62xx-evm:~# bluetoothctl

Agent registered

[bluetooth]# help

Menu main:

Available commands:

-------------------

advertise Advertise Options Submenu

scan Scan Options Submenu

gatt Generic Attribute Submenu

list List available controllers

show [ctrl] Controller information

select <ctrl> Select default controller

devices List available devices

paired-devices List paired devices

system-alias <name> Set controller alias

reset-alias Reset controller alias

power <on/off> Set controller power

pairable <on/off> Set controller pairable mode

discoverable <on/off> Set controller discoverable mode

discoverable-timeout [value] Set discoverable timeout

agent <on/off/capability> Enable/disable agent with given capability

default-agent Set agent as the default one

advertise <on/off/type> Enable/disable advertising with given type

set-alias <alias> Set device alias

scan <on/off> Scan for devices

info [dev] Device information

pair [dev] Pair with device

cancel-pairing [dev] Cancel pairing with device

trust [dev] Trust device

untrust [dev] Untrust device

block [dev] Block device

unblock [dev] Unblock device

remove <dev> Remove device

connect <dev> Connect device

disconnect [dev] Disconnect device

menu <name> Select submenu

version Display version

quit Quit program

exit Quit program

help Display help about this program

export Print environment variables

[bluetooth]# 

Thanks,

Naresh

0 Kudos
6,065 Views
naresh_nakka
Contributor I

HI bleow is the my platform :

- ubuntu linux with arm platform

Please help me on this any body .
My BT/WIFI chip : 88w8997 (marvell chip) .
WIFI : mwifi_sdio (1.0 version )
BT : hci_uart (2.3 version)

NOTE : Wifi is working but getting issues in BT
Thanks,
Naresh

0 Kudos
6,050 Views
vinothkumars
Senior Contributor IV
Check with some other hardware also.
Regards,
Vinothkumar Sekar
0 Kudos
6,046 Views
naresh_nakka
Contributor I

Hi vinothkumars,
Its wireless chipset (WIFI +BT combo )

  • WIFI is working (wifi firmware able to download )  but why not BT firmware is not able to download .
  • Do you suspecting Hardware issue ?
  • just for your information : 
    WIFI firmware name: sdsd8997_combo_v4.bin
    BT firmware name : helper_uart_3000000.bin

    Thanks,
    Naresh
0 Kudos
6,036 Views
vinothkumars
Senior Contributor IV
BT using uart or sdio connection.

for uart you have to use one sduart firmware
Regards,
Vinothkumar Sekar
0 Kudos
6,016 Views
naresh_nakka
Contributor I

Hi ,

Even i placed sduart firmware inside mrvl folder .

still it looking for helper firmware and loading is failed to download .

 

Thanks,

Naresh

0 Kudos
6,026 Views
naresh_nakka
Contributor I

Hi ,

Acutally for our chipset we are using 

BT  -> uart interface 

WIFI  ->  sdio interface .

But bluetooth driver looking for "helper_uart_3000000.bin" firmware .

please help me on this .

 

Thanks,

Naresh

 

0 Kudos
6,019 Views
vinothkumars
Senior Contributor IV
Hi,

Basically, this BT is uart connection, so you have to this firmware,

Please find the location -

https://github.com/NXP/imx-firmware/blob/lf-5.10.52_2.1.0/nxp/FwImage_8997_SD/sdiouart8997_combo_v4....

Regards,
Vinothkumar Sekar
0 Kudos
6,012 Views
naresh_nakka
Contributor I

Hi , 

Still it looking for helper firmware even i placed the sdiouart firmware .

if possible could you please share the device tree configurations for bluetooth .

 

root@am62xx-evm:/home# insmod hci_uart.ko
[ 878.502259] Bluetooth: HCI UART driver ver 2.3
[ 878.506779] Bluetooth: HCI UART protocol H4 registered
[ 878.511933] Bluetooth: HCI UART protocol BCSP registered
[ 878.517427] Bluetooth: HCI UART protocol LL registered
[ 878.522652] Bluetooth: HCI UART protocol ATH3K registered
[ 878.528240] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 878.534548] line =439 function=mrvl_init file=drivers/bluetooth/hci_mrvl.c
[ 878.541711] Bluetooth: HCI UART protocol Marvell registered
[ 878.541756] line =401 function=mrvl_serdev_probe file=drivers/bluetooth/hci_mrvl.c
[ 878.555348] line =59 function=mrvl_open file=drivers/bluetooth/hci_mrvl.c
[ 878.564280] line =359 function=mrvl_setup file=drivers/bluetooth/hci_mrvl.c
root@am62xx-evm:/home# [ 878.571777] line =279 function=mrvl_load_firmware file=drivers/bluetooth/hci_mrvl.c
[ 878.584371] Bluetooth: hci0: Loading mrvl/helper_uart_3000000.bin
[ 886.594948] Bluetooth: hci0: Firmware request timeout
[ 886.600045] Bluetooth: hci0: Unable to download firmware helper

 

 

Thanks,

Naresh 

 

0 Kudos
6,008 Views
vinothkumars
Senior Contributor IV
There will be a default driver give from nxp,
mlan0. It will compatible for wifi and bt. Did you try those default modules
Regards,
Vinothkumar Sekar
0 Kudos
6,002 Views
naresh_nakka
Contributor I

Hi ,

yes , we used  default sdio.c driver for wifi [drivers/net/wireless/marvell/mwifiex/sdio.c ]

and for BT we used hci_marvel.c 

configured in device tree as :

WIFI:

&sdhci2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mmc2_pins_default>;
bus-width = <4>;
non-removable;
ti,fails-without-test-cd;
cap-power-off-card;
keep-power-in-suspend;
ti,driver-strength-ohm = <50>;
assigned-clocks = <&k3_clks 157 158>;
assigned-clock-parents = <&k3_clks 157 160>;

##address-cells = <1>
#size-cells = <0>;

{

wlcore: wlcore@2 {
compatible = "marvell,sd8897";
reg = <2>;
pinctrl-names = "default";
pinctrl-0 = <&main_wlirq_pins_default>;
interrupt-parent = <&main_gpio0>;
interrupts = <72 IRQ_TYPE_EDGE_FALLING>;
};

BT :

&main_uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_uart2_pins_default>;

bluetooth {
status = "okay";
compatible = "mrvl,88w8897";
max-speed = <2000000>;

};
};

  • WiFI is working fine but BT getting issues .

 

Thanks,

Naresh

0 Kudos
5,666 Views
naresh_nakka
Contributor I

Hi Nxp,

any update , please help me on this .

Thanks,

Naresh

0 Kudos
6,475 Views
vinothkumars
Senior Contributor IV

Hi All 

I found the fix, this issues because of power down pin

Regards,
Vinothkumar Sekar
0 Kudos
2,223 Views
sam_yu
Contributor I

hi vinothkumars

 
 

I encountered the same problem. Could you please explain in detail how you handled it

0 Kudos