ath79: fix MAC addresses for ethernet on ZyXEL NBG6716
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 7 Apr 2020 10:31:48 +0000 (12:31 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 8 Apr 2020 14:59:14 +0000 (16:59 +0200)
commit85aef6f627040cd0909bd549abb721eafa511353
tree175d6b42fa1ada843b771493244dc1faf70203b1
parentc948a4782ba9e99f690a75ddf95ad76add95b5fa
ath79: fix MAC addresses for ethernet on ZyXEL NBG6716

MAC addresses of the ethernet devices (eth0 & eth1) are randomly set at
boot time by the ag71xx driver, because it is currently not possible to
retrieve MAC addresses in ASCII format within the DTS file.
This commit works around this behaviour by setting the MAC addresses
during the preinit phase.

The same has been implemented recently for the Siemens WS-AP3610 in
d2b8ccb1c04d ("ath79: add support for Siemens WS-AP3610").

MAC assignment in vendor firmware is as follows:

use   vendor   address     OpenWrt
2g    wifi0    ethaddr     -> wlan1
5g    wifi1    ethaddr +1  -> wlan0
lan   eth1     ethaddr +2  -> eth0
wan   eth0     ethaddr +3  -> eth1

ethaddr is retrieved by $(mtd_get_mac_ascii u-boot-env ethaddr)

Note that both Wifi and ethernet indexing is swapped in OpenWrt
compared to vendor firmware.

Suggested-by: Guillaume Lefebvre <guillaume@zelig.ch>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Kevin Gagnon <kevin_gagnon@videotron.ca>
target/linux/ath79/nand/base-files/etc/board.d/02_network
target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh [new file with mode: 0644]