brcmfmac: multi-BSS fails with arbitrary per-BSS MAC addresses

Stephen C Goodman <[email protected]> Mon, 3 Aug 2026 17:29:41 +0000
Newsgroups org.kernel.vger.linux-wireless,dev.linux.lists.brcm80211
Message-ID <GVYP280MB1056B22F060395735F23C20C9DD52@GVYP280MB1056.SWEP280.PROD.OUTLOOK.COM>
Hi,=0A=
=0A=
I am seeing a reproducible multi-BSS MAC-address handling issue with `brcmf=
mac` when configuring multiple AP interfaces on the same PHY.=0A=
=0A=
## Environment=0A=
=0A=
```=0A=
=0A=
Broadcom chipset:   BCM4366C0=0A=
```=0A=
=0A=
## Summary=0A=
=0A=
A single AP works normally.=0A=
=0A=
Multiple APs also work when either:=0A=
=0A=
1. the default automatically assigned MAC addresses are used, or=0A=
2. explicit `option macaddr` values are configured using the same base addr=
ess, with the first five octets identical and only the last octet different=
.=0A=
=0A=
However, if I configure arbitrary unique MAC addresses for the AP interface=
s, only one AP can be enabled. As soon as a second AP is enabled, multi-BSS=
 operation fails and the AP interfaces disappear / fail to come up.=0A=
=0A=
## Expected behavior=0A=
=0A=
The PHY advertises support for multiple AP interfaces.=0A=
=0A=
Therefore, multiple AP interfaces should be able to operate concurrently as=
 long as each interface is assigned a valid, unique unicast MAC address.=0A=
=0A=
## Actual behavior=0A=
=0A=
### One AP=0A=
=0A=
A single AP works with:=0A=
=0A=
* the default MAC address=0A=
* an explicit same-base MAC address=0A=
* an arbitrary valid MAC address=0A=
=0A=
### Multiple APs using default MAC assignment=0A=
=0A=
Multiple APs work when the default automatically generated addresses are us=
ed.=0A=
=0A=
### Multiple APs using explicit same-base addresses=0A=
=0A=
Multiple APs work when I explicitly configure addresses where the first fiv=
e octets remain identical and only the last octet changes.=0A=
=0A=
Example of a working manually configured pattern:=0A=
=0A=
```=0A=
AP0: AA:BB:CC:DD:EE:01=0A=
AP1: AA:BB:CC:DD:EE:02=0A=
AP2: AA:BB:CC:DD:EE:03=0A=
AP3: AA:BB:CC:DD:EE:04=0A=
```=0A=
=0A=
The final values do not necessarily need to be consecutive, but the first f=
ive octets must remain identical in my tests.=0A=
=0A=
For example, addresses such as these also remain within the working pattern=
:=0A=
=0A=
```=0A=
AP0: AA:BB:CC:DD:EE:11=0A=
AP1: AA:BB:CC:DD:EE:27=0A=
AP2: AA:BB:CC:DD:EE:5A=0A=
AP3: AA:BB:CC:DD:EE:C3=0A=
```=0A=
=0A=
### Multiple APs using arbitrary unique addresses=0A=
=0A=
If the AP interfaces are assigned arbitrary unique MAC addresses, multi-BSS=
 fails.=0A=
=0A=
Keeping only the first three octets=97the vendor/OUI portion=97the same is =
not sufficient.=0A=
=0A=
Example of a failing pattern:=0A=
=0A=
```=0A=
AP0: AA:BB:CC:11:22:33=0A=
AP1: AA:BB:CC:44:55:66=0A=
AP2: AA:BB:CC:77:88:99=0A=
AP3: AA:BB:CC:12:34:56=0A=
```=0A=
=0A=
With one AP enabled, it works.=0A=
=0A=
When a second AP is enabled using this type of address layout, both APs fai=
l / disappear. With three or four configured, all APs fail as well.=0A=
=0A=
## Reproduction=0A=
=0A=
1. Configure one AP with an arbitrary valid MAC address.=0A=
=0A=
   * The AP comes up successfully.=0A=
=0A=
2. Add a second AP on the same PHY with another arbitrary unique MAC addres=
s.=0A=
=0A=
   * Both AP interfaces fail / disappear.=0A=
=0A=
3. Replace the addresses with explicit addresses sharing the same first fiv=
e octets.=0A=
=0A=
   * Both APs come up successfully.=0A=
=0A=
4. Add a third and fourth AP using the same first-five-octet pattern.=0A=
=0A=
   * All configured APs come up successfully.=0A=
=0A=
5. Change the last three octets independently while keeping only the same O=
UI.=0A=
=0A=
   * Multi-BSS fails again.=0A=
=0A=
## Observed address restriction=0A=
=0A=
In my testing, multiple AP interfaces work only when their MAC addresses be=
long to the same narrow address range:=0A=
=0A=
```=0A=
AA:BB:CC:DD:EE:xx=0A=
```=0A=
=0A=
Changing any of the first five octets between AP interfaces causes multi-BS=
S bring-up to fail.=0A=
=0A=
Keeping only the first three octets identical is not enough.=0A=
=0A=
This may indicate that the device or firmware supports only a restricted vi=
rtual-interface address mask or MAC-address pool, but that restriction does=
 not appear to be clearly exposed or enforced before interface creation.=0A=
=0A=
## Related issue=0A=
=0A=
I have also observed a separate AP+STA concurrency issue on the same hardwa=
re where the STA is reassigned to an AP interface=92s MAC address.=0A=
=0A=
I am reporting that separately because its reproduction and failure mode ar=
e different. However, both problems may involve virtual-interface MAC alloc=
ation or firmware interface-address handling.=0A=
=0A=
=0A=
Best regards,=0A=
Stephen=