ramips: fix WiFi MAC addresses for D-Link DIR-810L
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 7 Oct 2019 15:08:52 +0000 (17:08 +0200)
committerDavid Bauer <mail@david-bauer.net>
Tue, 15 Oct 2019 21:31:13 +0000 (23:31 +0200)
So far, WiFi MAC addresses for this device have been set up from
caldata. However, this returns values which do not look like MAC
addresses. They also do not match stock firmware:

wlan0 (5.0): 00:11:22:00:17:D0 from 0x8004
wlan1 (2.4): 00:11:22:00:17:CD from 0x4 (and 0x2e)

It looks like the only valid MAC address on this device is at 0x28.

So, this patch changes setup to calculate addresses based on the
value at 0x28:

lan: *:0A (flash, label)
wan: *:0B (flash + 1)
wifi2: *:0A (flash)
wifi5: *:0C (flash + 2)

Thanks to Roger Pueyo Centelles <roger.pueyo@guifi.net> for
investigating this on his devices.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts

index 687d80fa5d86cf9457726248c8fa3409effe5b78..1df7e2e451c48be140cbaef6bb06421285c64106 100644 (file)
 };
 
 &wmac {
 };
 
 &wmac {
-       ralink,mtd-eeprom = <&factory 0>;
+       ralink,mtd-eeprom = <&factory 0x0>;
        pinctrl-names = "default";
        pinctrl-0 = <&pa_pins>;
        pinctrl-names = "default";
        pinctrl-0 = <&pa_pins>;
+       mtd-mac-address = <&factory 0x28>;
 };
 
 &pcie0 {
 };
 
 &pcie0 {
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x8000>;
                ieee80211-freq-limit = <5000000 6000000>;
                reg = <0x0000 0 0 0 0>;
                mediatek,mtd-eeprom = <&factory 0x8000>;
                ieee80211-freq-limit = <5000000 6000000>;
+               mtd-mac-address = <&factory 0x28>;
+               mtd-mac-address-increment = <2>;
        };
 };
        };
 };