1#!/bin/sh
2
3set_ether_mac() {
4
5	RB_CONFIG="$(grep "RedBoot config" /proc/mtd | cut -d: -f1)"
6
7	for npe in eth0 eth1 eth2
8	do
9		if [ "$(ifconfig $npe 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
10			ifconfig $npe hw ether $(fconfig -s -r -d /dev/$RB_CONFIG -n npe_"$npe"_esa)
11		fi
12	done
13
14	# Some developers should be shot on sight at Zcom/Netgear
15	# -- Fixup for the WG302v1, need someone with a WAG302v1 to fix that, too
16
17	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
18			ifconfig eth0 hw ether $(fconfig -s -r -d /dev/$RB_CONFIG -n zcom_npe_esa)
19	fi
20
21	# Others (*cough*, Tonze) are dumb enough to not handle mac addresses at all
22
23	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
24		ifconfig eth0 hw ether 00:11:22:33:44:55
25	fi
26	if [ "$(ifconfig eth1 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
27		ifconfig eth1 hw ether 00:11:22:33:44:56
28	fi
29}
30
31boot_hook_add preinit_main set_ether_mac
32
33