Hi,
I am developing an imx8mp based linux board. It uses the murata 1XK, which features NXP's IW416 bt+wifi chip. The firmware for this chip comes form NXP(specifically here: https://github.com/nxp-imx/imx-firmware/tree/lf-5.10.72_2.2.0/nxp/FwImage_IW416_SD). I have successfully installed the driver. the kernel dmesg prints the following version of firmware being loaded:
wlan: version = SDIW416---16.92.21.p11.2-MM5X16283.p2-GPL-(FP92)
It appears that this is the latest available firmware for this part, on this version of the nxp linux bsp.
The part is advertised as supporting bluetooth 5.2. the device firmware for the linux/sdk version i m using (5.10.72_2.2.0) reports version 5.0.
running hciconfig hci0 version produces the following output:
hci0: Type: Primary Bus: UART
BD Address: 04:C4:61:AB:E2:DA ACL MTU: 1021:7 SCO MTU: 120:6
HCI Version: 5.0 (0x9) Revision: 0x8300
LMP Version: 5.0 (0x9) Subversion: 0x100b
Manufacturer: Marvell Technology Group Ltd. (72)
Does this mean the firmware for the device does not actually support the version of bluetooth that the chip is designed to support?
Well no. The versions you are pointing me towards are clearly for another version of the nxp kernel/BSP. It would probably involve backporting to change the driver. If there is a newer firmware for the device, and the changes to it are compatible with older versions of the driver and kernel/bsp combo, then it should be updated in those branches. This device was chosen for our product based on supporting bluetooth 5.2. There is no reference to the firmware not supporting 5.2 for specific version of the bsp. Unless you are saying that the latest firmware and driver for a completely different version of the kernel and BSP are 100% backwards compatible with 5.10.72-2.2.0, without any change?
I am not asking for new features just the bt 5.2 that this part is advertised (without any caveat regarding the linux/bsp version) as having.
Dear @lsp89
The driver code from 6.1.36-2.1.0 release supports Linux kernels from 2.6.32 to 6.3.0.
It is fully compatible with kernel 5.10.72.
This software (including driver & firmware) includes many bugfixes, compared to 5.10.72-2.2.0 (not only new features). It might even include security fixes.
Regards,
Olivier
The new suggested firmware fails to load onto the device:
[ 1935.562586] wlan: Loading MWLAN driver
[ 1935.567217] wlan: Register to Bus Driver...
[ 1935.572155] vendor=0x02DF device=0x9159 class=0 function=1
[ 1935.578309] Attach moal handle ops, card interface type: 0x108
[ 1935.584161] rps set to 0 from module param
[ 1935.588296] No module param cfg file specified
[ 1935.594032] SDIO: max_segs=128 max_seg_size=65535
[ 1935.598761] rx_work=1 cpu_num=4
[ 1935.601939] Attach mlan adapter operations.card_type is 0x108.
[ 1935.611303] wlan: Enable TX SG mode
[ 1935.614802] wlan: Enable RX SG mode
[ 1935.621738] Request firmware: nxp/sduartiw416_combo.bin
[ 1935.627035] wlan_sdio mmc0:0001:1: Direct firmware load for nxp/sduartiw416_combo.bin failed with error -2
[ 1935.636753] wlan_sdio mmc0:0001:1: Falling back to sysfs fallback for: nxp/sduartiw416_combo.bin
[ 1935.646353] WLAN: request_firmware() failed, error code = -2
[ 1935.652043] woal_request_fw failed
[ 1935.655462] Firmware Init Failed
[ 1935.661009] Free module params
[ 1935.664069] woal_add_card failed
[ 1935.667360] wlan_sdio: probe of mmc0:0001:1 failed with error -1
[ 1935.673490] wlan: Register to Bus Driver Done
[ 1935.677888] wlan: Driver loaded successfully
There has been no device tree change.
Dear @lsp89
I suspect that firmware name is wrong:
nxp/sduartiw416_combo.bin
Please check inside /lib/firmware/nxp/ directory, I assume that firmware name is sdiouartiw416_combo_v0.bin.
I guess you should modify wifi_mod_para.conf accordingly.
Regards,
Olivier
Okay, it appears to be loading now but still reports hci version incorrectly:
hci0: Type: Primary Bus: UART
BD Address: 04:C4:61:AB:E2:DA ACL MTU: 1021:7 SCO MTU: 120:6
UP RUNNING PSCAN ISCAN
RX bytes:813 acl:0 sco:0 events:54 errors:0
TX bytes:1059 acl:0 sco:0 commands:54 errors:0
Features: 0xff 0xfe 0x8f 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF
Link mode: SLAVE ACCEPT
Name: 'imx8mpevk'
Class: 0x200000
Service Classes: Audio
Device Class: Miscellaneous,
HCI Version: (0xc) Revision: 0x8300
LMP Version: (0xc) Subversion: 0x1054
Manufacturer: Marvell Technology Group Ltd. (72)
so its gone from 5.0 to 5.3? it's supposed to be 5.2
Dear @lsp89
This is a bug, we should report 5.2 support.
Do you plan to apply for a BT certification ?
Regards,
Olivier
Dear @lsp89
Let me provide more details:
Our latest IW416 software reports BT 5.3 support, because it actually supports the features of core specification 5.3 (we even plan to support BT core specification 5.4 next year).
But IW416 datasheet and product description on nxp.com only claim BT 5.2 support, because NXP only applied for BT 5.2 certification for now.
Can you inform us if you plan to apply for BT certification ?
Regards,
Olivier
We are building a development platform upon which customers' commercial products will be based, so it is very likely that they may wish to apply for certification of their product.
Dear @lsp89
The software you are using is quite old; we strongly advice you to upgrade to the latest IW416 software version (lf-6.1.36-2.1.0 tag) as is includes additional features and latest bug fixes:
16.92.21.p84.3-MXM6X16408.p2
Get driver from:
git clone http://github.com/nxp-imx/mwifiex.git
git checkout lf-6.1.36-2.1.0
And Firmware from:
git clone https://github.com/NXP/imx-firmware
git checkout lf-6.1.36-2.1.0
Could you please test with that latest software ?
Regards,
Olivier