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:
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:
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";
};
I hope it's clear, Don't hesitate if you need more details.
Thank you for your support
解決済! 解決策の投稿を見る。
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:
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.
Subject: Request for Firmware for IW612 WiFi Chip
Hi @Christine_Li ,
We are preparing for the certification of our WiFi chip, IW612. We discovered the firmware file sduart_nw61x_rftm_v1.bin.se, which enables the chip to be set in "rf_test_mode=1." However, this firmware is for kernel version LF-6.1.1_1.0.0.
Could you please provide the equivalent firmware for Linux kernel version 5.15?
Thank you for your assistance!
Best regards,
Anis and @alexandreMarquis
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.
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
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:
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.
Hi, @AnisCh
To download different FW for different Linux kernel version, you can choose the different tag in below link:
https://github.com/nxp-imx/imx-firmware/tree/lf-5.15.71_2.2.0
Sorry, this thread has been closed for more than 1month, and it could not be re-open automatically.
We suggest you to create new case to us if you have any new questions or new requirement.
So that our community can create a related case in our SFDC system. In this way, we would not miss your message.
Otherwise, we might miss your comment without case in SFDC.
Best regards,
Christine.