Bug 217509

Summary: ath11k: WCN6855: missing board file for Silex SE-PCEAX
Product: Drivers Reporter: philip.hoehlein
Component: network-wirelessAssignee: drivers_network-wireless (drivers_network-wireless)
Status: NEW ---    
Severity: normal CC: bagasdotme, francesco, kvalo
Priority: P4    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description philip.hoehlein 2023-05-30 12:35:58 UTC
Kernel version: 6.2.12 on FC37

Already using recent ath11k fw from git

lspci -mnn
01:00.0 "Network controller [0280]" "Qualcomm Technologies, Inc [17cb]" "QCNFA765 Wireless Network Adapter [1103]" -r01 -p00 "Qualcomm Technologies, Inc [17cb]" "Device [3374]"

dmesg
[  403.302040] ath11k_pci 0000:01:00.0: chip_id 0x12 chip_family 0xb board_id 0xff soc_id 0x400c1211
[  403.302094] ath11k_pci 0000:01:00.0: fw_version 0x110b196e fw_build_timestamp 2022-12-22 12:54 fw_build_id WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
[  403.331486] ath11k_pci 0000:01:00.0: failed to fetch board data for bus=pci,vendor=17cb,device=1103,subsystem-vendor=17cb,subsystem-device=3374,qmi-chip-id=18,qmi-board-id=255 from ath11k/WCN6855/hw2.1/board-2.bin
[  403.331501] ath11k_pci 0000:01:00.0: failed to fetch board.bin from WCN6855/hw2.1
[  403.331507] ath11k_pci 0000:01:00.0: qmi failed to fetch board file: -2
[  403.331512] ath11k_pci 0000:01:00.0: failed to load board data file: -2
Comment 1 Bagas Sanjaya 2023-05-30 23:28:05 UTC
(In reply to philip.hoehlein from comment #0)
> Kernel version: 6.2.12 on FC37
> 
> Already using recent ath11k fw from git
> 
> lspci -mnn
> 01:00.0 "Network controller [0280]" "Qualcomm Technologies, Inc [17cb]"
> "QCNFA765 Wireless Network Adapter [1103]" -r01 -p00 "Qualcomm Technologies,
> Inc [17cb]" "Device [3374]"
> 
> dmesg
> [  403.302040] ath11k_pci 0000:01:00.0: chip_id 0x12 chip_family 0xb
> board_id 0xff soc_id 0x400c1211
> [  403.302094] ath11k_pci 0000:01:00.0: fw_version 0x110b196e
> fw_build_timestamp 2022-12-22 12:54 fw_build_id
> WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
> [  403.331486] ath11k_pci 0000:01:00.0: failed to fetch board data for
> bus=pci,vendor=17cb,device=1103,subsystem-vendor=17cb,subsystem-device=3374,
> qmi-chip-id=18,qmi-board-id=255 from ath11k/WCN6855/hw2.1/board-2.bin
> [  403.331501] ath11k_pci 0000:01:00.0: failed to fetch board.bin from
> WCN6855/hw2.1
> [  403.331507] ath11k_pci 0000:01:00.0: qmi failed to fetch board file: -2
> [  403.331512] ath11k_pci 0000:01:00.0: failed to load board data file: -2

Do you have this issue on older kernels?
Comment 2 philip.hoehlein 2023-06-12 06:30:24 UTC
I didn't test older kernels, but I have another wifi adapter brand with different vid/pid that uses the WCN6855 and it works fine
Comment 3 philip.hoehlein 2023-06-23 07:52:56 UTC
Any update on this?
Comment 4 Bagas Sanjaya 2023-06-23 12:13:30 UTC
I repeat again: Do you have this issue on older kernels using QCNFA765?
Comment 5 philip.hoehlein 2023-06-26 07:48:05 UTC
Hi Bagas,

please tell me which kernel version I should check, I don't see the reason why an older kernel should make a difference?
From my point of view the vendor-id/device_id for this hardware is just missing in the firmware.

I've got the 6.0.12 kernel with the same WCN6855 firmware running on another piece of hw from another brand:

dmesg | grep ath11k
[   31.544335] ath11k_pci 0000:01:00.0: BAR 0: assigned [mem 0x81400000-0x815fffff 64bit]
[   31.544390] ath11k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[   31.545688] ath11k_pci 0000:01:00.0: MSI vectors: 1
[   31.545709] ath11k_pci 0000:01:00.0: wcn6855 hw2.1
[   32.736812] ath11k_pci 0000:01:00.0: chip_id 0x12 chip_family 0xb board_id 0xff soc_id 0x400c1211
[   32.736828] ath11k_pci 0000:01:00.0: fw_version 0x110b196e fw_build_timestamp 2022-12-22 12:54 fw_build_id WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
[   32.915485] ath11k_pci 0000:01:00.0: leaving PCI ASPM disabled to avoid MHI M2 problems

lspci -mnn

01:00.0 "Network controller [0280]" "Qualcomm [17cb]" "QCNFA765 Wireless Network Adapter [1103]" -r01 "Lite-On Communications Inc [11ad]" "Device [a85d]"
Comment 6 Bagas Sanjaya 2023-06-27 12:58:39 UTC
(In reply to philip.hoehlein from comment #5)
> Hi Bagas,
> 
> please tell me which kernel version I should check, I don't see the reason
> why an older kernel should make a difference?
> From my point of view the vendor-id/device_id for this hardware is just
> missing in the firmware.
> 
> I've got the 6.0.12 kernel with the same WCN6855 firmware running on another
> piece of hw from another brand:
> 

It doesn't really answer my earlier inquiries. Again: Using 6.0.12 kernel,
can you reproduce this issue WITH your QCNFA765 device?
Comment 7 philip.hoehlein 2023-06-28 07:54:11 UTC
I'm sorry for confusion.
The problem persists on both kernel 6.0.12 and 6.2.12
Comment 8 Kalle Valo 2023-07-11 09:19:13 UTC
> please tell me which kernel version I should check, I don't see the reason
> why
> an older kernel should make a difference?

Yeah, in this case the kernel version doesn't make any difference as the
issue seems to be the missing board file for this Silex device in
board-2.bin.

I'll try to find one but most likely Silex only has the correct board
file. Does anyone if Silex has it available somewhere? Also any pointers
to the actual product and support information would be helpful.
Comment 9 Francesco Dolcini 2024-09-02 22:50:29 UTC
I do have the board file available and I am looking to have those integrated into the linux-firmware repository. See also https://lore.kernel.org/all/20240829120037.GB30406@francesco-nb/


$ strings board-2_US_EU_JP.bin | head -1
QCA-ATH11K-BOARD



$ ls -l
total 2972
-rw-r--r-- 1 francesco francesco 1503316 dic 14  2022 board-2_UK_CA.bin
-rw-r--r-- 1 francesco francesco 1503316 dic 14  2022 board-2_US_EU_JP.bin
-rw-r--r-- 1 francesco francesco   24310 dic 14  2022 regdb.bin
-rw-r--r-- 1 francesco francesco    2559 dic 14  2022 sx-pceax_ath11k_board_data_files_usage.txt
Comment 10 Francesco Dolcini 2024-09-02 22:56:03 UTC
To be precise, my device is named SX-PCEAX, the one in the title does not exists according to google and to the Silex website, so I assume it is just a typo.
Comment 11 Kalle Valo 2024-09-03 06:49:40 UTC
> I do have the board file available and I am looking to have those integrated
> into the linux-firmware repository. See also
> https://lore.kernel.org/all/20240829120037.GB30406@francesco-nb/
>
>
> $ strings board-2_US_EU_JP.bin | head -1
> QCA-ATH11K-BOARD
So does that board file work for you when you rename it to board-2.bin
and install it to correct location in /lib/firmware? That's not clear
for me.
Comment 12 Francesco Dolcini 2024-09-03 07:10:22 UTC
> So does that board file work for you when you rename it to board-2.bin
and install it to correct location in /lib/firmware? That's not clear
for me.

Yes, it works fine.

The need is to have the required board support file integrates in the linux-firmware git repository

This is needed to
 - Enable multiple Wi-Fi devices using the ath11k driver in the same system/distribution
 - Have the device working out of the box with any linux distribution integrating the upstream linux-firmware
Comment 13 Francesco Dolcini 2024-09-11 08:28:31 UTC
Any update on this?

I have the files that I received directly from Silex, and from some investigation it seems that I would need to extract some payload out of it using some tool from `qca-swiss-army-knife` (https://github.com/qca/qca-swiss-army-knife/blob/master/tools/scripts/ath11k/ath11k-bdencoder).

At least this is what I understood from some old discussion here, https://lore.kernel.org/all/87lea6m3pc.fsf@kernel.org/

I can provide the whole board-2.bin file or I can extract what's required with the mentioned tools (I never did it).

Just let me know how to move forward.