From b1d483b865d0a6110d95a0638903a73c7354865a Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sat, 18 Dec 2021 00:33:57 +0100 Subject: [PATCH] ramips: work around duplicate MAC address on U6 Lite 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 --- .../linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts index 0e56d16a7f7b0..afd54e816bf4f 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts @@ -90,6 +90,21 @@ 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>; };