aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless')
-rw-r--r--target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless56
1 files changed, 56 insertions, 0 deletions
diff --git a/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless
new file mode 100644
index 0000000000..3c345ff148
--- /dev/null
+++ b/target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+
+[ ! -e /etc/config/wireless ] && exit 0
+
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+board=$(board_name)
+
+case "$board" in
+linksys,caiman|linksys,cobra|linksys,mamba|linksys,shelby|linksys,venom)
+ SKU=$(strings /dev/mtd3|sed -ne 's/^cert_region=//p')
+ WIFIMAC2G=$(macaddr_add $(cat /sys/class/net/eth0/address) +1)
+ WIFIMAC5G=$(macaddr_add $WIFIMAC2G +1)
+ case "$SKU" in
+ AP)
+ REGD=CN
+ ;;
+ AU)
+ REGD=AU
+ ;;
+ CA)
+ REGD=CA
+ ;;
+ EU)
+ REGD=DE
+ ;;
+ US)
+ REGD=US
+ ;;
+ esac
+
+ case "$board" in
+ linksys,mamba)
+ WIFIMAC0=$WIFIMAC2G
+ WIFIMAC1=$WIFIMAC5G
+ ;;
+ *)
+ WIFIMAC0=$WIFIMAC5G
+ WIFIMAC1=$WIFIMAC2G
+ ;;
+ esac
+
+ uci get wireless.radio0.country || uci set wireless.radio0.country=$REGD
+ uci get wireless.@wifi-iface[0].macaddr || uci set wireless.@wifi-iface[0].macaddr=$WIFIMAC0
+ uci get wireless.radio1.country || uci set wireless.radio1.country=$REGD
+ uci get wireless.@wifi-iface[1].macaddr || uci set wireless.@wifi-iface[1].macaddr=$WIFIMAC1
+ ;;
+esac
+
+uci commit wireless
+
+exit 0