Skip to content

Conversation

@psyke83
Copy link
Contributor

@psyke83 psyke83 commented Nov 23, 2025

This is created using the real device board file (bdwlan.b23) instead of the generic board file (bdwlan.bin) present in vendor firmware. The new file solves signal and throughput issues I was having only with this radio.

$ cat vendor/vendor_dmesg.txt  | grep bdwlan
[   34.131533] cnss[2]: INFO: Downloading BDF: IPQ5018/bdwlan.b23, size: 131072
[   34.721213] cnss[42]: INFO: Downloading BDF: qcn6122/bdwlan.b60, size: 131072

Further confirmation:

# For IPQ5018 - use bdwlan.bin (the generic vendor board that is not used at runtime):
$ rm -f 'bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=GL-iNet-GL-B3000.bin'
$ cp ~/work/openwrt/vendor-firmware/IPQ5018/WIFI_FW/bdwlan.bin 'bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=GL-iNet-GL-B3000.bin'
./ath11k-bdencoder -c board-2.json -o board-glinet_gl-b3000.ipq5018.OLD
board binary file 'board-glinet_gl-b3000.ipq5018.OLD' is created
# Compare with current in openwrt tree:
$ sha256sum board-glinet_gl-b3000.ipq5018.OLD ~/work/openwrt/firmware_qca-wireless/board-glinet_gl-b3000.ipq5018
776410c3c8a7ae657c5b9cbafd726fe16add54a573d35526b8fca343e21c0fc2  board-glinet_gl-b3000.ipq5018.OLD
776410c3c8a7ae657c5b9cbafd726fe16add54a573d35526b8fca343e21c0fc2  /home/conn/work/openwrt/firmware_qca-wireless/board-glinet_gl-b3000.ipq5018
# For IPQ5018 - use bdwlan.b23 (the correct one vendor uses):
$ rm -f 'bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=GL-iNet-GL-B3000.bin'
$ cp ~/work/openwrt/vendor-firmware/IPQ5018/WIFI_FW/bdwlan.b23 'bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=GL-iNet-GL-B3000.bin'
./ath11k-bdencoder -c board-2.json -o board-glinet_gl-b3000.ipq5018.NEW
board binary file 'board-glinet_gl-b3000.ipq5018.NEW' is created
# Compare with current in openwrt tree:
$ sha256sum board-glinet_gl-b3000.ipq5018.NEW ~/work/openwrt/firmware_qca-wireless/board-glinet_gl-b3000.ipq5018
685184ace8ab091228c9546ea86e5b8613169c147c2c795bc7a4d7506921ae1c  board-glinet_gl-b3000.ipq5018.NEW
776410c3c8a7ae657c5b9cbafd726fe16add54a573d35526b8fca343e21c0fc2  /home/conn/work/openwrt/firmware_qca-wireless/board-glinet_gl-b3000.ipq5018
# For QCN6122 - use bdwlan.b60 (the correct one):
$ rm 'bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=GL-iNet-GL-B3000.bin'
$ cp ~/work/openwrt/vendor-firmware/IPQ5018/WIFI_FW/qcn6122/bdwlan.b60 'bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=GL-iNet-GL-B3000.bin'
./ath11k-bdencoder -c board-2.json -o board-glinet_gl-b3000.qcn6122.NEW
board binary file 'board-glinet_gl-b3000.qcn6122.NEW' is created
# Compare with current in openwrt tree:
$ sha256sum board-glinet_gl-b3000.qcn6122.NEW ~/work/openwrt/firmware_qca-wireless/board-glinet_gl-b3000.qcn6122
8d8192d06a06c29c2fc4e7de228040490e7a18edba23c7e27c1090ff1cb91e14  board-glinet_gl-b3000.qcn6122.NEW
8d8192d06a06c29c2fc4e7de228040490e7a18edba23c7e27c1090ff1cb91e14  /home/conn/work/openwrt/firmware_qca-wireless/board-glinet_gl-b3000.qcn6122

@TheRootED24
Copy link
Contributor

TheRootED24 commented Nov 23, 2025

Those are the same board files used already ? perhaps yours are from a newer firmware ?? The bdfs 23 & 60 I used where from oem firmware openwrt-b3000-4.5.18-0731-1722397535.img.

EDIT

sha256sum board-glinet_gl-b3000.ipq5018
776410c3c8a7ae657c5b9cbafd726fe16add54a573d35526b8fca343e21c0fc2 board-glinet_gl-b3000.ipq5018

After going through them and comparing ...seems you are correct, the 5018 bdf is currently incorrect. Not sure how it got mixed, good catch in any case.

@robimarko should the pr be sent to firmware_qca-wireless instead ?

@robimarko
Copy link
Contributor

robimarko commented Nov 23, 2025

Yes, this should be corrected directly in firmware_qca-wireless.

Once CI passes I will merge this

@psyke83
Copy link
Contributor Author

psyke83 commented Nov 23, 2025

To clarify, the files were sourced from: https://fw.gl-inet.com/firmware/b3000/testing/openwrt-b3000-4.7.15-0801-1754021959.img

I didn't check the stable release, but the generic ipq5018 and real qca6122 board files match what you submitted.

I could tell immediately this was right as the average signal of my farthest client improved from -61 to -49 dBm.

@TheRootED24
Copy link
Contributor

TheRootED24 commented Nov 23, 2025

yes, somehow i overwrote contents of my bdwlan.b23 with bdwlan.bin. I think it was when I was trying to get bootargs going .. regardless, I was under the impression i had submitted both .b23 and .b60 . I likely never would have notice had you not investigated and pointed out the sha256sum mismatch 👍

I could tell immediately this was right as the average signal of my farthest client improved from -61 to -49 dBm.

I have been saying all along that the noise level did not seem correct, in my setup, my test devices are all within excellent range, so i never really notice the tx power loss.

-63/-107 dBm   <-- current bdf (bdwlan.bin) 

-45/-94  dBm   <-- with proper bdf (bdwlan.b23) 

everything looks correct now

This is created using the real device board file (bdwlan.b23) instead of the generic
board file (bdwlan.bin) present in vendor firmware.

$ cat vendor/vendor_dmesg.txt  | grep bdwlan
[   34.131533] cnss[2]: INFO: Downloading BDF: IPQ5018/bdwlan.b23, size: 131072
[   34.721213] cnss[42]: INFO: Downloading BDF: qcn6122/bdwlan.b60, size: 131072
Link: openwrt#116

Signed-off-by: Robert Marko <[email protected]>
@openwrt-bot openwrt-bot merged commit c620298 into openwrt:main Nov 23, 2025
@robimarko
Copy link
Contributor

Thanks! Rebased on top of main and merged!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants