AP152 reffrence board ath10k

Hello everyone!
Here i am using a hardware with ref board ap152.it has QCA9888 wave 2 chipset. i have build openwrt for it. but ath10k is not showing up in kernel. i have added kmod-ath10k and ath10k-firmware-qca9888 both packages in build. by doing
" ls /lib/firmware/ath10k/QCA9888/hw2.0/ "
i found board-2.bin and firmware-5.bin. by doing dmesg i found that kernel cant fetch board.bin so its not working. why??
So after searching a lot i found solution to do "dd" of ART partition to generate board.bin and pre-cal-pci-0000:00:00.0.bin. it resolves ath10k showing issue but new issue that mac address is not coming proper sometime. e.g. 12:34:56:78:90:12 why?

can anyone guide me the proper solution for QCA9888 board.bin and mac address??

dmesg log

[   14.200317] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   14.394072] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:00:00.0.bin failed with error -2
[   14.405153] ath10k_pci 0000:00:00.0: Falling back to user helper
[   14.475461] firmware ath10k!pre-cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[   14.485029] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/cal-pci-0000:00:00.0.bin failed with error -2
[   14.495752] ath10k_pci 0000:00:00.0: Falling back to user helper
[   14.652039] firmware ath10k!cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[   14.661248] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9888/hw2.0/firmware-6.bin failed with error -2
[   14.672327] ath10k_pci 0000:00:00.0: Falling back to user helper
[   14.825478] firmware ath10k!QCA9888!hw2.0!firmware-6.bin: firmware_loading_store: map pages failed
[   15.680901] ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
[   15.690466] ath10k_pci 0000:00:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs 1 testmode 1
[   15.710956] ath10k_pci 0000:00:00.0: firmware ver 10.4-3.5.3-00053 api 5 features no-p2p,mfp,peer-flow-ctrl,allows-mesh-bcast,no-ps crc32 a9
[   15.999542] ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0056,subsystem-vendor=0000,subsystem-device=0
000 from ath10k/QCA9888/hw2.0/board-2.bin
[   16.016446] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9888/hw2.0/board.bin failed with error -2
[   16.027074] ath10k_pci 0000:00:00.0: Falling back to user helper
[   16.099253] firmware ath10k!QCA9888!hw2.0!board.bin: firmware_loading_store: map pages failed
[   16.108245] ath10k_pci 0000:00:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9888/hw2.0
[   16.117970] ath10k_pci 0000:00:00.0: failed to fetch board file: -11
[   16.124711] ath10k_pci 0000:00:00.0: could not probe fw (-11)

Sounds like you’ve either got a corrupt ART partition, or the kernel isn’t configured properly to read it.

Check the manufacturer’s source and confirm that the data is there in the partition. If needed, reconfigure the OpenWrt source and recompile.

sometimes it works ,sometimes i doesnt.
i wrote in /etc/hotplug.d/firmware/11-ath10k-caldata.

if [ ! -f /lib/firmware/ath10k/QCA9888/hw2.0/board.bin ]; then
dd if=/dev/mtd5 of=/lib/firmware/ath10k/QCA9888/hw2.0/board.bin bs=1 skip=20480 count=12064 2>/dev/null
              dd if=/dev/mtd5 of=/lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin bs=1 skip=20480 count=12048 2>/dev/null

You will have to hook your changes properly into target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata, also by using the corresponding helpers, additionally you seem to be missing 330965b342670def66d956d5a20009475ab30d0c (which patches the extracted ART with the correct MAC address on firstboot).

Thanks for the reply. can you share link of that patch?

Facing the same problem with a new platform COVR-P2500 ...


Find a way to solve this problem:
I used packages:ath10k-firmware-qca988X-ct=y kmod-ath10k-ct=y, after flashed, do below:
dd if=/dev/mtd5(art) of=/lib/firmware/ath10k/cal-pci-0000:00:00.0.bin bs=1 skip=20480 count=2116

or add below under "ath10k/cal-pci-0000:00:00.0.bin" block in "target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata" file.

                ath10kcal_extract "art" 0x5000 0x844
                ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth1/address) -1)