Qualcommax & ath11k board calibration & BDF data woes

You mean the ipq-wifi packaged board-2.bin and what is in my device ART? No, they are not identical, but are very, very similar. Say, if am am to share them would someone be able to tell if the stuff in my "ART" partition also contains BDF or not? If they were identical that I guess my wifi would just work and we would not have this discussion at all :wink:

Well, that is my point exactly, they are NOT the same, they use the same structure so they seem similar but they are NOT the same.

If you have the stock FW, then you can easily check for the BDF, it should be in /lib/firmware.
What is the size of ART partition?

Just to take a step back.

In other words, you don't even know if the shipped board files are incorrect for the wxr-5950ax12, as you've forced flashed its firmware to some totally different device. You were lucky that doing so didn't hard-brick the device and that you're 'only' facing an issue with the board data for your -different- device.

Now you're faced with the issue you tried to shortcut, doing proper device investigation, extracting the board data from the OEM firmware, transposing it via qca-swiss-army-knife, packaging it for ipq-wifi and package up a dedicated image recipe for your device.

And please take a good night's sleep before, the advice you've been given us correct - believe it or at least stop questioning it over and over again.

In other words, you don't even know if the shipped board files are incorrect

Thanks, but no thanks. Please stop with this, you wording is getting into disrespectful territory. I know what I'm doing, other than the board data, the devices are identical. The info I have from disassembled wxr-5950ax12 as well as wxr-6000ax12, as well as the the OAM firmwares for all device revisions confirms that.

you tried to shortcut, doing proper device investigation, extracting the board data from the OEM firmware, transposing it via qca-swiss-army-knife, packaging it for ipq-wifi and package up a dedicated image recipe for your device.

Yes, that would be the case if the device in question had any different hardware. You will have to trust me that it is really not the case here.

And please take a good night's sleep

That is actually the best advice I got so far in this thread :slight_smile:

I admit I am in a desperate lack of knowledge on BDF, but you can't possibly blame me, considering the sheer abidance of freely accessible information on that topic. I am sorry if you people misunderstood my intention, I am simply asking for help in understand things better.

There are two ART partitions, mtd18 & 19. Both are 512K, but the actual data starts at 0x1000, and is 0x20000 long, the rest are empty FFs.

Interestingly, the binary diff sais that 96.5% of bytes in the ART data and what is in ipq-wifi-buffalo_wxr-5950ax12 package are identical. I really do not wish to bother anyone here, but I would be very grateful if someone could take a look at the actual blobs and prove me wrong.

I don't own WXR-6000AX12P/B, so I haven't done any testing on it.

memo:

In squashfs rootfs,

  • WXR-5950AX12 (v3.03):

    $ unsquashfs -ll ubifs-root/*/img-*_vol-*rootfs.ubifs | grep "bdwlan"
    -rw-r--r-- root/root            131072 2019-12-16 19:50 squashfs-root/lib/firmware/IPQ8074/bdwlan.b210
    -rw-r--r-- root/root            131072 2019-12-16 19:50 squashfs-root/lib/firmware/IPQ8074/bdwlan.bin
    

    dmesg on stock:

    cnss: BDF IPQ8074/bdwlan.bin size 131072
    
  • WXR-5950AX12 (v3.54)

    $ unsquashfs -ll ubifs-root/*/img-*_vol-*rootfs.ubifs | grep "bdwlan"
    -rw-r--r-- root/root            131072 2023-06-11 17:37 squashfs-root/lib/firmware/IPQ8074/bdwlan.b210
    lrwxrwxrwx root/root                15 2023-06-11 17:37 squashfs-root/lib/firmware/IPQ8074/bdwlan.bin -> /tmp/bdwlan.bin
    -rw-r--r-- root/root            131072 2023-06-11 17:37 squashfs-root/lib/firmware/IPQ8074/bdwlan_rev1.bin
    -rwxr-xr-x root/root            131072 2023-06-11 17:37 squashfs-root/lib/firmware/IPQ8074/bdwlan_rev2.bin
    -rwxr-xr-x root/root            131072 2023-06-11 17:37 squashfs-root/lib/firmware/IPQ8074/bdwlan_rev2_sky85772.bin
    
  • WXR-6000AX12P (v3.54)

    $ unsquashfs -ll ubifs-root/*/img-*_vol-*rootfs.ubifs | grep "bdwlan"
    -rw-r--r-- root/root            131072 2023-06-11 11:34 squashfs-root/lib/firmware/IPQ8074/bdwlan.b210
    lrwxrwxrwx root/root                15 2023-06-11 11:34 squashfs-root/lib/firmware/IPQ8074/bdwlan.bin -> /tmp/bdwlan.bin
    -rw-r--r-- root/root            131072 2023-06-11 11:34 squashfs-root/lib/firmware/IPQ8074/bdwlan_rev1.bin
    -rwxr-xr-x root/root            131072 2023-06-11 11:34 squashfs-root/lib/firmware/IPQ8074/bdwlan_rev2.bin
    -rwxr-xr-x root/root            131072 2023-06-11 11:34 squashfs-root/lib/firmware/IPQ8074/bdwlan_rev2_sky85772.bin
    

I have no plan to add support for WXR-6000AX12P/B.

1 Like

Thanks.

On two WXR-6000AX12P (v3.50)

md5sum bdwlan*
7e17ef0a35a5f23259d27fdd216e5e6e  bdwlan.b210
7e17ef0a35a5f23259d27fdd216e5e6e  bdwlan_rev1.bin
1614ea4bd52c7b1322c76d387d1b45f7  bdwlan_rev2.bin
2e935f28d8fb283ea990194db0f74060  bdwlan_rev2_sky85772.bin

Sure we can, given the fact you try to question the answers you have been given admittedly without proper knowledge of this area. After this, talking about "respect" is a very interesting approach...

I know what I'm doing, other than the board data, the devices are identical.

You clearly dont know what you are doing. Even if the internals are exactly the same due to some OEM branding, you cannot state that the BDFs are the same until you actually compared and verified them and not just by name or size. Robi can correct me, but so far I dont think we have ever seen identical board files for any of the many supported ipq807x devices.

Again, the recommended thing to do is to extract the BDF from the latest vendor firmware (sometimes there are many BDFs and you have to check which one the device actually uses), transposing it via qca-swiss-army-knife and upload and overwrite it on the Openwrt flashed device and try with that. Given the fact this worked for all the supported device, it would be highly unlikely if this would not work for your device.

$ md5sum wxr5950ax12-*/squashfs-root/lib/firmware/IPQ8074/bdwlan*.bin
7e17ef0a35a5f23259d27fdd216e5e6e  wxr5950ax12-303/squashfs-root/lib/firmware/IPQ8074/bdwlan.bin
md5sum: wxr5950ax12-354/squashfs-root/lib/firmware/IPQ8074/bdwlan.bin: No such file or directory    # symlink
7e17ef0a35a5f23259d27fdd216e5e6e  wxr5950ax12-354/squashfs-root/lib/firmware/IPQ8074/bdwlan_rev1.bin
1614ea4bd52c7b1322c76d387d1b45f7  wxr5950ax12-354/squashfs-root/lib/firmware/IPQ8074/bdwlan_rev2.bin
2e935f28d8fb283ea990194db0f74060  wxr5950ax12-354/squashfs-root/lib/firmware/IPQ8074/bdwlan_rev2_sky85772.bi
1 Like

Thank you. Is that WXR-5950AX12 (v3.54)?

v3.03 and v3.54.

1 Like

Totally not cool :-1:. I never said that the data is the 100% same, but very similar. I am comparing them all day long, blob data is > 96.5% same, bit for bit, the filenames do not matter here.

1 Like

from /bin/rc:

  • WXR-5950AX12 (v3.54):

    $ strings squashfs-root/bin/rc | grep "bdwlan" -B1
    dd if=/dev/mtd/%d of=/tmp/IPQ8074/caldata.bin bs=1 count=131072 skip=4096
    /lib/firmware/IPQ8074/bdwlan.b210
    --
    lib_qca/librc.c(%d) %s :rc:* This is WXR-5950AX12 Series Board
    cp /lib/firmware/IPQ8074/bdwlan_rev1.bin /tmp/bdwlan.bin
    
  • WXR-6000AX12P (v3.54):

    $ strings squashfs-root/bin/rc | grep "bdwlan" -B1
    dd if=/dev/mtd/%d of=/tmp/IPQ8074/caldata.bin bs=1 count=131072 skip=4096
    /lib/firmware/IPQ8074/bdwlan.b210
    --
    lib_qca/librc.c(%d) %s :rc:* This is WXR-6000AX12P Series Board
    cp /lib/firmware/IPQ8074/bdwlan_rev2.bin /tmp/bdwlan.bin
    
2 Likes

I am comparing them all day long, blob data is > 96.5% same, bit for bit

Given the fact you have no idea what that small amount of difference is, it has no relevance what percentage is the same. There can be a single bit difference that breaks a feature that you are not aware of.

@robimarko Is it possible to overwrite the calibration variant defined in DTS?
qcom,ath11k-calibration-variant = "Buffalo-WXR-5950AX12";

1 Like

Only by editing the DTS.

@Zgembo Calm down, this forum is not a place for that behaviour

1 Like

I hear you. I'm sorry, I'm only trying to understand what is happening here, this is kind a new to me. I do not mean to deny anyone's deep knowledge on the topic, but please understand that questioning stuff that I ain't sure about is the only option I have. It is just hard to stay calm when instead of an answer you get told that "hush, NDA, you are not supposed to know", and that that is somehow my own fault...

Respect

Then why are you using it in this argument? My own BDF file is "almost" the same as the wxr-5950ax12 (or all the rest of the BDFs), as 70+ percent of it is "00", sou you have to compare the diff of the diff. Welcome to the magical world of statistics...

But anyhow, good luck with it, will be fun to watch how you alienate all the devs who actually made the platform support for these devices with years of hard work.

Some manufacturers use different BDFs depending on the country/region for the same device.
A board-2.bin file can contain many different BDFs.
Shouldn't a mechanism for selecting BDF be implemented?

In this particular case, should support be added for a new device with different calibration variant?

You again, we can argue forever like this. Again, I did not say that. All I said is that the data in my device's ART looks about the same and behaves the same as BDF. Seriously man, leave me alone.

Can someone with an actual knowledge on this take a look at the actual ART data, so that what I see with my own eyes can be proven wrong?