Happy New Year everyone!
Howdy! So, recently I got miself a shiny new Buffalo WXR-6000AX12P, which is basically the same thing as https://openwrt.org/toh/buffalo/wxr-5950ax12. Buffalo tends to release identical hardware by slightly changed model names every year or so - likely just for marketing reasons.
Anyways, the WXR-5950AX12 got initial support about a year ago (thanks @musashino), so, an acquaintance and I got one device each, holiday discounts and everything...
Luckily, the 23.05 images TFTP booted and installed just fine on our WXR-6000AX12P routers, but that is where all the fun started. On both our devices, the 5GHz wifi would not recognize any of the clients, unless they were like 20cm away from the router. The clients "see" the AP just fine, with the great TX signal strength from the router, but even at 10cm from the router the RX signal was a disaster, as if no RX antenna existed at all. 2.4GHz radio worked just fine. After some tinkering it turned out that the board pq-wifi-buffalo_wxr-5950ax12
package that comes pre-installed in the official images and contains the API2 variant of athk11k board calibration data BDF was the culprit. Removing the pre-packaged calibration data file and manually extracting what seems to be a board calibration data + BDF from the device mtd (0:art), totally fixed the 5GHz wifi, on both devices.
It also happens that mtd calibration data on two WXR-6000AX12P of identical hardware revision is slightly different, suggesting that calibration data is not only device / revision specific, but it may even be specific to different production batches of identical firmware. Would it make sense that an updated calibration data for a slightly different antenna setups may be beneficial? I guess only Qualcomm has the answer...
So, my argument here is that pre-installing board calibration BDF package on qualcommax may not be an optimal approach. Do all of the currently supported devices in the target do come with the model/revision/batch specific calibration + BDF data in the mtd, and does the extraction with caldata.sh
work as is to get it? There may be some minor issues with /etc/hotplug.d/firmware/11-ath11k-caldata
and the ath11k firmware callbacks, for which I am still not sure yet if they are specific to target or device I am looking at. So for now the calibration data + BDF extraction has to be done manually, in case the pre-installed package is removed; details in https://openwrt.org/toh/buffalo/wxr-5950ax12#potential_issueslimitations
Anyway, I am about to propose some small changes in a PR, such that the pq-wifi-buffalo_wxr-5950ax12
is no longer part of the images anymore (IMHO, the packaged caldata should only be as an optional fallback instead), and the mtd art API1 data is used by default. The bonus benefit of this approach is that the wifi would work in uImage as well, which is currently not the case. But first I would like to hear some opinions from people who worked on the target supoprt and those that seem to own the same device.
Anyways, many thanks for all the OpenWRT awesomeness & hard work invested in this target m(_ _)m.
^ @robimarko @Ansuel @fakemanhk @musashino
EDIT:
This thread went to a pretty wrong direction, likely due to my misunderstanding of separation of board calibration data and BDF. The fact that the data from ART mtd partition does have very similar structure as the real BDF, and that driver successfully loads it and the radios just work as it was a real BDF, made me wrongly believe that BDF is the same thing as calibration data.
Lesson learned.
I am still baffled about the reason why the data in my device's ART can work as both BDF and calibration data at the same time. If someone can shed some light on that mystery, beers are on me.