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