ramips: work around duplicate MAC address on U6 Lite
authorDavid Bauer <mail@david-bauer.net>
Fri, 17 Dec 2021 23:33:57 +0000 (00:33 +0100)
committerDavid Bauer <mail@david-bauer.net>
Sun, 19 Dec 2021 23:12:12 +0000 (00:12 +0100)
The UniFi 6 Lite has two MAC addresses for the 2.4 and 5GHz radio in
it's EEPROM partition.

On my unit these are

F4 92 BF A0 BB 6F
F6 92 BF A0 BB 6F

The problem with these is that mac80211 increases the first octet by
2, which leads to conflicting MAC addresses between radios.

Work around this problem for now by increasing the last octet by 1 on
the 5 GHz radio.

Ubiquiti increases the last octet by 2 for each subsequent VAP created
per radio. Ideally we should do the same, however this functionality is
currently lacking from mac80211.

Signed-off-by: David Bauer <mail@david-bauer.net>
target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts

index 0e56d16a7f7b0a663cf9b9ca96a17aed66f32316..afd54e816bf4f44130d313bcba98e528bbe36db6 100644 (file)
 
        nvmem-cells = <&macaddr_eeprom_6>;
        nvmem-cell-names = "mac-address";
+
+       /* This is a workaround.
+        *
+        * Ubiquiti uses a +2 offset in the first octet relative
+        * to the 2.4 GHz WMAC. Other octets are identical.
+        *
+        * The vendor firmware increases the last octet by 2 for each
+        * VAP.
+        *
+        * This is in conflict on how mac80211 addresses subsequent VAPs.
+        * mac80211 increases the first octet by two for each VAP, leading
+        * to conflicting MAC addresses for subsequent interfaces.
+        */
+       mac-address-increment = <1>;
+
        ieee80211-freq-limit = <5000000 6000000>;
 };