summaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx
blob: e707dabf056f4e47629fdc69d88713c28f6f1360 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh

set_ether_mac() {

	RB_CONFIG="$(grep "RedBoot config" /proc/mtd | cut -d: -f1)"

	for npe in eth0 eth1 eth2
	do
		if [ "$(ifconfig $npe 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
			ifconfig $npe hw ether $(fconfig -s -r -d /dev/$RB_CONFIG -n npe_"$npe"_esa)
		fi
	done

	# Some developers should be shot on sight at Zcom/Netgear
	# -- Fixup for the WG302v1, need someone with a WAG302v1 to fix that, too

	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
			ifconfig eth0 hw ether $(fconfig -s -r -d /dev/$RB_CONFIG -n zcom_npe_esa)
	fi

	# Others (*cough*, Tonze) are dumb enough to not handle mac addresses at all

	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
		ifconfig eth0 hw ether 00:11:22:33:44:55
	fi
	if [ "$(ifconfig eth1 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
		ifconfig eth1 hw ether 00:11:22:33:44:56
	fi
}

boot_hook_add preinit_main set_ether_mac