Skip to content

ipq5018/qcn6122: add BDFs for TP-Link Archer AX55 v1 - #143

Merged
openwrt-bot merged 2 commits into
openwrt:mainfrom
kuncy7:ax55-bdf
Sep 3, 2026
Merged

ipq5018/qcn6122: add BDFs for TP-Link Archer AX55 v1#143
openwrt-bot merged 2 commits into
openwrt:mainfrom
kuncy7:ax55-bdf

Conversation

@kuncy7

@kuncy7 kuncy7 commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Board data files for the TP-Link Archer AX55 v1 (IPQ5018 2.4 GHz + QCN6122 5 GHz), extracted from the stock firmware.

Requested in review of the device support PR: openwrt/openwrt#24197 — the BDFs were originally carried in package/firmware/ipq-wifi/files/ there and have been removed from that PR in favour of this submission.

Both radios verified working on hardware with these board files (ath11k, factory MACs from caldata).

@kuncy7

kuncy7 commented Jul 12, 2026

Copy link
Copy Markdown
Contributor Author

Force-pushed an important correction: the original files carried the generic QCA reference-board data, which left the 2.4 GHz receiver ~40 dB deaf on this hardware (uplink stuck at HE-MCS 0). The qmi-board-id=255 entries now carry the calibration the vendor firmware actually selects for this board (bdwlan.b24 for IPQ5018 per qcom,board_id = <0x24> in the OEM DTS, bdwlan.b60 for QCN6122 per <0x60>). Verified on hardware: same client went from -86 dBm / ~0.2 Mbit/s uplink to -42 dBm / HE-MCS 11 both ways (iperf3 344/260 Mbit/s). Same class of issue as the GL.iNet B3000 BDF fix (#116).

@kuncy7

kuncy7 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Force-pushed a second correction. Both blobs came out of the stock-firmware
extraction with their target-power tables zeroed — 33 regions (1136 B) in the
IPQ5018 file, 39 regions (1472 B) in the QCN6122 one — so the firmware fell back
to 13 dBm on both bands. Only the zeroed runs were filled, from the vendor
entries of the same file; every byte that was already ours is untouched.

Verified on hardware, median of 30 RSSI samples from a stationary client:

band 13 dBm (before) after
2.4 GHz −56.0 dBm −48.0 dBm at 20 dBm
5 GHz −69.0 dBm −61.0 dBm at 23 dBm

md5: b541dc294dba577d720d8d88e5940fc8 (ipq5018),
30deb3062b590e48e4fb6e9084d2a488 (qcn6122).

For context on priority: openwrt/openwrt#24197 (Archer AX55 v1 support) needs
these files. Without them the ipq-wifi-tplink_ax55v1 package builds
successfully but installs zero files, so the board comes up with no
calibration data at all — and the build gives no warning about it.

@robimarko

Copy link
Copy Markdown
Contributor

Why are you including BDF-s with no variant string as well?
I assume those are some reference ones that wont be used at all?

@kuncy7

kuncy7 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

You are right - those were leftovers from the stock-firmware extraction: the reference-board entries (qmi-board-id 32/35/36 on the IPQ5018 side, 80/96/144/176 on the QCN6122 side) plus a variantless duplicate of the calibrated entry (byte-identical to it). On this board the firmware reports qmi-board-id=255 and both radios set the calibration variant in the DTS, so none of those extra entries is ever selected.

Both containers are now trimmed to the single calibrated entry, matching the rest of the feed - each file drops from ~656 KB to 128 KB. The board data itself is unchanged (same MD5 as before). Force-pushed.

Board data from the stock firmware of the TP-Link Archer AX55 v1
(IPQ5018 2.4 GHz radio). The qmi-board-id=255 entry carries the
calibration the vendor firmware actually selects for this board
(bdwlan.b24, qcom,board_id 0x24) - the generic reference-board data
leaves the 2.4 GHz receiver ~40 dB deaf on this hardware.

The target-power tables came out of the extraction with 33 regions
(1136 B) zeroed, which made the firmware fall back to 13 dBm instead of
the 20 dBm the regulatory domain allows; those regions are filled from
the vendor entries of the same file. Measured on hardware as the median
of 30 RSSI samples from a stationary client: -48.0 dBm at 20 dBm
against -56.0 dBm with the output forced to 13 dBm.

The container carries just this single calibrated entry (qmi-board-id
255 plus the calibration variant), matching the other files in this
feed; the variantless duplicate and the unused reference-board entries
that came along from the stock extraction are dropped.

Signed-off-by: Stanislaw Pal <kuncy7@gmail.com>
Link: openwrt#143
Signed-off-by: Robert Marko <robimarko@gmail.com>
Board data from the stock firmware of the TP-Link Archer AX55 v1
(QCN6122 5 GHz radio). The qmi-board-id=255 entry carries the
calibration the vendor firmware actually selects for this board
(bdwlan.b60, qcom,board_id 0x60).

As with the IPQ5018 blob, the target-power tables came out of the
extraction with 39 regions (1472 B) zeroed, capping the band at 13 dBm
instead of 23; filled from the vendor entries of the same file.
Measured on hardware as the median of 30 RSSI samples from a stationary
client: -61.0 dBm at 23 dBm against -69.0 dBm with the output forced to
13 dBm.

The container carries just this single calibrated entry (qmi-board-id
255 plus the calibration variant), matching the other files in this
feed; the variantless duplicate and the unused reference-board entries
that came along from the stock extraction are dropped.

Signed-off-by: Stanislaw Pal <kuncy7@gmail.com>
Link: openwrt#143
Signed-off-by: Robert Marko <robimarko@gmail.com>
@openwrt-bot
openwrt-bot merged commit f2c37a6 into openwrt:main Sep 3, 2026
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.

3 participants