IW612 bluetooth not working

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

IW612 bluetooth not working

Jump to solution
226 Views
AnisCh
Contributor II

Hello, Actually I'm working on the integration of SDIO Murata LBEE5PL2DL IW612 nxp wifi/bluetooth and I'm facing issues with bluetooth. I would like to share my exprements in case you have any hints or solution for me. see below for details:

Wifi module: SDIO Murata LBEE5PL2DL IW612

Interface: SDIO on mmc usdhci (1.8V)

kernel version: linux-imx 5.15.71

processor: imx8mp quad core

for the driver, I tryied multiple version from yocto:

1. github.com/nxp-imx/mwifiex-iw612.git

kernel-module-iw612 git tag  lf-5.15.71_2.2.0 with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

2. github.com/nxp-imx/mwifiex.git

kernel-module-nxp89xx git tag lf-5.15.71_2.2.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

3. github.com/nxp-imx/mwifiex.git

kernel-module-nxp89xx git tag lf-6.6.3_1.0.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

the last case is not working at all because the communication is not estabilished, because the protocole has changed to use btnxp_uart instead of the generic one and probably not using the same baudrate...etc I found a note about how it works with kernel 6.x.x

 but for the two first cases Wifi works fine but the bluetooth fails to pair and when scanning the devices are deleted as soon as they appears see the screenshot.

I load the drivers with this options:

modprobe mlan

modprobe moal mod_para=nxp/wifi_mod_para.conf 

my config is as fellows:

SDIW612 = {
     cfg80211_wext=0xf
     max_vir_bss=1
     cal_data_cfg=none
     auto_ps=2
     auto_ds=2
     host_mlme=1
     drv_mode=3
     fw_name=nxp/sduart_nw61x_v1.bin.se
}

 

this is my device tree:

usdhc2_pwrseq: usdhc2-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_usdhc2_pwrseq>;
reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
post-power-on-delay-ms = <40>;
};

bt_reset: bt-reset {
compatible = "gpio-reset";
reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
reset-delay-us = <2000>;
reset-post-delay-ms = <60>;
initially-in-reset;
#reset-cells = <0>;
};

&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
pinctrl-assert-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>;
mmc-pwrseq = <&usdhc2_pwrseq>;
bus-width = <4>;
only-1-8-v;
keep-power-in-suspend;
non-removable;
fsl,sdio-async-interrupt-enabled;
status = "okay";
};

&uart1 { /* BT */
/delete-property/dmas;
/delete-property/dma-names;
 
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
assigned-clocks = <&clk IMX8MP_CLK_UART1>;
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
fsl,uart-has-rtscts;
resets = <&bt_reset>;
status = "okay";
};
 
here how I attach to my bluetooth interface:
hciattach /dev/ttymxc0 any 115200 flow
 
the scan in hcitool does not reset continuously the devices list like bluetooth but I steel unable to create a connection or whether pair with any device
 

I hope it's clear, Don't hesitate if you need more details.

Thank you for your support

Labels (1)
  • RF

0 Kudos
1 Solution
86 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @AnisCh 

Thanks for your feedback, sounds great that Bluetooth can work well on your side.

Please see inline reply:

1. I have IW611 chip (LBEE5PL2DL-921), from yocto kirkstone, can I use the kernel-module-nxp89xx, that provides moal and mlan ?

==>Yes, you can have a try, it should work. Our default I.MX8MP prebuilt image include IW611 driver in default. As you mentioned before:

1. github.com/nxp-imx/mwifiex-iw612.git

kernel-module-iw612 git tag  lf-5.15.71_2.2.0 with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

2. github.com/nxp-imx/mwifiex.git

kernel-module-nxp89xx git tag lf-5.15.71_2.2.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

 For the two first cases Wifi works fine, and you also resolved Bluetooth issue. So if IW612 works, it should also work on IW611. The only difference between IW612 and IW611 is: IW612 supports 802.15.4, but IW611 doesn't support. 

2. for certification I get a python script from our provider Murata that does not implement 2DL and calls mlanutl which is provided by iw612-sdk recipe in yocto, can use this recipe to mlanutl and the other tools and can those tools be used to certify a 2DL IW611 module?

==>Yes, you can use.

3. if I can't use the driver/tools I mentioned in the previous questions, What can I use in place?

==>So no queries on this question because the answer for question 2 is yes.

4. When certifying the CHIP/module, Is driver loaded with the regional firmware or loaded without any arguments.

==>I think with default wifi_mod_para.conf should be ok. When you do certify, the lab will connect DUT to their AP, and DUT will change country code automatically according to the AP's country code.

If you meet any issue during certifying, please do not hesitate to create new case to us. For sure we will provide support to you.

 

Best regards,

Christine.

View solution in original post

Tags (1)
0 Kudos
5 Replies
199 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @AnisCh 

You can use bluetoothctl to see whether it works.

When IW612 detects an pairable remote device, it will list it in the "New device"

From the given info, I don't think there is any issue when you bring-up Bluetooth. 

Please make sure the remote Bluetooth device has been disconnected with other device and enter pairable status.

Or you can also reboot i.MX8MP to see whether can connect successfully.

If possible, please help to provide me your full dmesg logs from 8MP boot.

And yes, you are right, after Linux kernel 6.1.22, we changed from Linux default HCI uart driver to btnxpuart driver.

Please do not hesitate to reply me if you still have any concerns or queries.

Best regards,

Christine.

Tags (1)
0 Kudos
115 Views
AnisCh
Contributor II

Hi @Christine_Li,

thank you for your feedback and very sorry for the delay I'm very busy these days.

I finally found a solution for my problem but steel have some questions? 

First the problem was the bluetooth that steel removes devices as soon as they appears, this was because of miss configuration of bluez putting a simple bluez configuration resolved the issue.

cat /etc/bluetooth/main.conf
[General]Name = %h
ControllerMode = dual
Class = 0x007c010c

after that I get a error when connecting to any device, saying that my br profile is unavailable.

Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable

for that I just integrated an audio stack in my system and it was pulseaudio in my case but I think pipewire can work also. After that I was able to connect to any device but the audio quality was very poor to resolve this I fallowed an nxp post suggesting to put the uart baudrate to 3000000 Mbps and the audio quality is very good now.

My Questions are:

1. I have IW611 chip (LBEE5PL2DL-921), from yocto kirkstone, can I use the kernel-module-nxp89xx, that provides moal and mlan ?

2. for certification I get a python script from our provider Murata that does not implement 2DL and calls mlanutl which is provided by iw612-sdk recipe in yocto, can use this recipe to mlanutl and the other tools and can those tools be used to certify a 2DL IW611 module?

3. if I can't use the driver/tools I mentioned in the previous questions, What can I use in place?

4. When certifying the CHIP/module, Is driver loaded with the regional firmware or loaded without any arguments.

 

Finally, Thank you very much for your support  

0 Kudos
87 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @AnisCh 

Thanks for your feedback, sounds great that Bluetooth can work well on your side.

Please see inline reply:

1. I have IW611 chip (LBEE5PL2DL-921), from yocto kirkstone, can I use the kernel-module-nxp89xx, that provides moal and mlan ?

==>Yes, you can have a try, it should work. Our default I.MX8MP prebuilt image include IW611 driver in default. As you mentioned before:

1. github.com/nxp-imx/mwifiex-iw612.git

kernel-module-iw612 git tag  lf-5.15.71_2.2.0 with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

2. github.com/nxp-imx/mwifiex.git

kernel-module-nxp89xx git tag lf-5.15.71_2.2.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git

 For the two first cases Wifi works fine, and you also resolved Bluetooth issue. So if IW612 works, it should also work on IW611. The only difference between IW612 and IW611 is: IW612 supports 802.15.4, but IW611 doesn't support. 

2. for certification I get a python script from our provider Murata that does not implement 2DL and calls mlanutl which is provided by iw612-sdk recipe in yocto, can use this recipe to mlanutl and the other tools and can those tools be used to certify a 2DL IW611 module?

==>Yes, you can use.

3. if I can't use the driver/tools I mentioned in the previous questions, What can I use in place?

==>So no queries on this question because the answer for question 2 is yes.

4. When certifying the CHIP/module, Is driver loaded with the regional firmware or loaded without any arguments.

==>I think with default wifi_mod_para.conf should be ok. When you do certify, the lab will connect DUT to their AP, and DUT will change country code automatically according to the AP's country code.

If you meet any issue during certifying, please do not hesitate to create new case to us. For sure we will provide support to you.

 

Best regards,

Christine.

Tags (1)
0 Kudos
81 Views
AnisCh
Contributor II
Thank you very much for your support.
0 Kudos
79 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @AnisCh 

You are always welcome.

It is my pleasure to support you.

If there is no other queries on this thread, I will close this thread.

Please do not hesitate to create new cases if you meet any other issues in future.

Have a nice day!

 

Best regards,

Christine.

Tags (1)
0 Kudos