summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm-2.4/base-files/etc/init.d/wmacfixup
blob: ee1b7522013771fa54127f34d8d5965ed0009617 (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
#!/bin/sh /etc/rc.common
# Copyright (C) 2010 OpenWrt.org

START=41

boot() {
	[ -d /sys/class/ieee80211 ] || exit

	commit=0

	fixup_wmac() {
		local cfg="$1"
		local cfmac

		config_get cfmac "$cfg" macaddr

		[ "$cfmac" != "00:90:4c:5f:00:2a" ] || {
			local nvmac="$(nvram get il0macaddr 2>/dev/null)"
			[ -n "$nvmac" ] && [ "$nvmac != "$cfmac ] && {
				uci set wireless.$cfg.macaddr="$nvmac"
				commit=1
			}
		}
	}

	config_load wireless
	config_foreach fixup_wmac wifi-device

	[ "$commit" = 1 ] && uci commit wireless
}

start() { :; }
stop()  { :; }