OEM XD3200 won't load ath10k firmware

We have a OEM version of the YunCore XD3200 AP which we are adding as a new device however after adding / modifying all the required device files the ath10k firmware for 5GHz radio still won't load. The board.bin and firmware-5.bin files are installed and correct but when ath10k_pci tries to load it returns the following errors, what have we missed?

[ 9.059510] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
[ 9.065585] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[ 9.287499] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:00:00.0.bin failed with error -2
[ 9.298581] ath10k_pci 0000:00:00.0: Falling back to user helper
[ 9.437297] firmware ath10k!pre-cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[ 9.469804] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/cal-pci-0000:00:00.0.bin failed with error -2
[ 9.480521] ath10k_pci 0000:00:00.0: Falling back to user helper
[ 9.631098] firmware ath10k!cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[ 9.831228] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043222ff sub 0000:0000
[ 9.840809] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[ 9.853815] ath10k_pci 0000:00:00.0: firmware ver 10.2.4-1.0-00016 api 5 features no-p2p,raw-mode,mfp crc32 0c5668f8
[ 9.904793] ath10k_pci 0000:00:00.0: board id is not exist in otp, ignore it
[ 9.912172] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[ 9.922966] ath10k_pci 0000:00:00.0: Falling back to user helper
[ 10.001778] firmware ath10k!QCA988X!hw2.0!board-2.bin: firmware_loading_store: map pages failed
[ 10.020673] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[ 10.146003] ath10k_pci 0000:00:00.0: otp calibration failed: 2
[ 10.152033] ath10k_pci 0000:00:00.0: failed to run otp: -22
[ 10.157802] ath10k_pci 0000:00:00.0: could not init core (-22)
[ 10.163932] ath10k_pci 0000:00:00.0: could not probe fw (-22)

Update: After a little more investigation it seems the file "cal-pci-0000/00/00.0.bin" is missing from the firmware directory which is causing the ath10k firmware not to load. Is this file part of the build or generated at boot?

Thanks in advance,
Paul

Anyone know where the file "cal-pci-0000/00/00.0.bin" comes from?

I had the same issue with my "Engineering Sample" Netgear R7800, I had to copy the 2 cal files from a retail R7800 (hnyman posted his) and replace mine using winSCP. Is your's a QCA9980 or a QCA9984? You can use hnyman's if you have the latter.

These threads have cal files for the following chipsets:

QCA9984 - Netgear R7800

QCA9980 - Netgear D7800
https://bugs.lede-project.org/index.php?do=details&task_id=453#comment1801

Edit: I see you have a 988x. Ask somone with a 988x device for their cal files and see if works.

Thanks for the reply.

I have the actual file from when I installed the pre-compiled version of the LEDE firmware for this device and if I manually add it to my build it works fine. Just wasn't sure where the file comes from (it's not in the LEDE source), how to update it in future or if it is specific to each individual device, i.e ART or calibation data.

I think in the D7800 link they mention it probably comes from the ART partition.

Great, thanks.

I have similar problem with tp-link archer c58 that have the QCA9886 .
where did you you find your cal-pci-0000:00:00.0.bin file?!
Thanks

It's not one, you need two cal files for both 2.4/5Ghz, I posted links for the R7800 (9984) and D7800 (9980) above in the thread.

Here's the example of how those cal or pre-cal files generated - it is taken from ART partition by similar script