aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm-2.4/base-files
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-04-10 14:29:01 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-04-10 14:29:01 +0000
commitd6c27b7b066d898d6d74af4ba8b08b8e07e16ff6 (patch)
treef73d8c907ef233b329aa88ff4662e9bbd6e83e2c /target/linux/brcm-2.4/base-files
parent797d41e0611180b39b3b0c5611216bad648dc1b5 (diff)
downloadmaster-187ad058-d6c27b7b066d898d6d74af4ba8b08b8e07e16ff6.tar.gz
master-187ad058-d6c27b7b066d898d6d74af4ba8b08b8e07e16ff6.tar.bz2
master-187ad058-d6c27b7b066d898d6d74af4ba8b08b8e07e16ff6.zip
[brcm47xx] add script to fixup the wireless mac (#7102)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20775 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm-2.4/base-files')
-rwxr-xr-xtarget/linux/brcm-2.4/base-files/etc/init.d/wmacfixup33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/brcm-2.4/base-files/etc/init.d/wmacfixup b/target/linux/brcm-2.4/base-files/etc/init.d/wmacfixup
new file mode 100755
index 0000000000..ee1b752201
--- /dev/null
+++ b/target/linux/brcm-2.4/base-files/etc/init.d/wmacfixup
@@ -0,0 +1,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() { :; }