summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/base-files/etc/preinit.arch
blob: 637aa5fc50e59693550eef2ff3c1fb2020eba83e (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#
# Copyright (C) 2009 OpenWrt.org
#

. /lib/ar71xx.sh

fetch_mac_from_mtd() {
	local mtd_part=$1
	local lan_env=$2
	local wan_env=$3
	local mtd mac

	mtd=$(grep $mtd_part /proc/mtd | cut -d: -f1)
	[ -z $mtd ] && return

	mac=$(grep $lan_env /dev/$mtd | cut -d= -f2)
	[ ! -z $mac ] && ifconfig eth0 hw ether $mac 2>/dev/null

	mac=$(grep $wan_env /dev/$mtd | cut -d= -f2)
	[ ! -z $mac ] && ifconfig eth1 hw ether $mac 2>/dev/null
}

preinit_load_modules() {
	insmod input-core
	insmod input-polldev
	insmod gpio_buttons
	insmod button-hotplug
}

preinit_set_mac_address() {
	case $(ar71xx_board_name) in
		tew-632brp)
			fetch_mac_from_mtd config lan_mac wan_mac
			;;
		dir-615-c1)
			fetch_mac_from_mtd config lan_mac wan_mac
			echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness
			;;
		wrt160nl)
			fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
			;;
	esac
}

preinit_set_mac_address
preinit_load_modules

ifname=eth0

failsafe_ip

netmsg 192.168.1.255 "Press reset now, to enter Failsafe!"

ifconfig "$ifname" 0.0.0.0 down

sleep 2