[PATCH wireless-next 0/5] b43: N-PHY: fix calibrations on rev7+ (BCM43228)

Rosen Penev rosenp at gmail.com
Wed Oct 28 11:12:08 PDT 2026


On Mon Oct 26, 2026 at 11:15 AM PDT, Luca Casati wrote:
> On a BCM43228 (14e4:4359, N-PHY rev 16, radio 2057 rev 9) b43
> associates but transmits poorly: high retry counts and low rates.
> Comparing mmiotraces of b43 and the proprietary wl driver
> (6.30.223.271) on the same card, together with brcmsmac, turned up
> several bugs in the N-PHY calibration code:
>
>  1. The TX tone sample table was loaded as all zeros, so every
>     tone-based calibration ran without a signal.
>  2. TX IQ/LO calibration: inverted busy poll, reversed final copy,
>     and missing rev7+ cleanup that left TX dead after a cal.
>  3. RSSI calibration: wrong VCM written on rev7+, wrong distance
>     formula, wrong rounding of negative offsets.
>  4. 2057 RC calibration: the first run was polled before it started,
>     leaving SCAP at 0 and the TX low-pass filter detuned.
>  5. A missing field in the rev7 TX_PU RF override.
>
> After these, the register writes for the cals match wl's on this card.
>
> Patches 4 and 5 and the cleanup parts of patch 2 only affect rev7+.
> Patch 1, the poll and final-copy fixes in patch 2, and the
> distance/rounding fixes in patch 3 also change code that runs on older
> N-PHYs (rev3+); I could only test rev 16, so testing on other N-PHY
> cards would be welcome.
>
> Tested on the BCM43228 only (2.4 GHz, 11g/HT20), on v7.0; the series
> also applies to wireless-next. Throughput to the internet went from
> about 5.7/4.1 to 11.1/5.2 Mbit/s down/up, with fewer TX retries. That
> number is limited by the line and noisy, so take it as a rough
> indication; wl reaches 21-32 Mbit/s down on the same setup, so there
> is more to do (PAPD and TX power control on rev7+).
>
> Comments and changelogs refer to wl where the fix was checked against
> its register writes. If citing the proprietary driver is not
> acceptable here, I am happy to reword them.
>
> The bugs were found and the fixes drafted with the help of an AI
> coding assistant (Claude Opus 5.5), working from the mmiotrace diffs
> between b43 and wl and from brcmsmac. I reviewed and tested every
> patch on the hardware above.
I'll just comment here instead of the individual patches.

For all of these, Fixes: tags are appropriate. They help linux-stable
pick them up. Meaning that wireless, instead of wireless-next is the
more appropriate place for them.

The whole Assisted-by thing is deprecated. It is no longer desired to
advertize such a thing in individual commits. It's fine for a cover
letter.
>
> Luca Casati (5):
>   b43: N-PHY: fix the TX tone sample table
>   b43: N-PHY: fix TX IQ/LO calibration
>   b43: N-PHY: fix rev3+ RSSI calibration
>   b43: N-PHY: wait for the first 2057 RC calibration run
>   b43: N-PHY: add the missing override to the rev7 TX_PU command
>
>  drivers/net/wireless/broadcom/b43/phy_n.c | 120 +++++++++++++++++++---
>  1 file changed, 106 insertions(+), 14 deletions(-)
>
>
> base-commit: 028ef9c96e96197026887c0f092424679298aae8





More information about the b43-dev mailing list