From 50c554a475ac1bfbd6b310cf97e914c8b767f5a6 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 14 Jul 2014 10:25:51 +0000
Subject: [PATCH] ar71xx: add user-space support for the EnGenius ESR900

Signed-off-by: Forest Crossman <cyrozap@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/5716/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41641
---
 target/linux/ar71xx/base-files/etc/diag.sh             |  3 +++
 .../linux/ar71xx/base-files/etc/uci-defaults/01_leds   |  5 +++++
 .../ar71xx/base-files/etc/uci-defaults/02_network      | 10 ++++++++++
 target/linux/ar71xx/base-files/lib/ar71xx.sh           |  3 +++
 4 files changed, 21 insertions(+)

diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index a6ca71279b..af3439f8b9 100755
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -75,6 +75,9 @@ get_status_led() {
 	esr1750)
 		status_led="esr1750:amber:power"
 		;;
+	esr900)
+		status_led="engenius:amber:power"
+		;;
 	hiwifi-hc6361)
 		status_led="hiwifi:blue:system"
 		;;
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
index 41406eb01e..34fed026b5 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
@@ -110,6 +110,11 @@ gl-inet)
 	ucidef_set_led_wlan "wlan" "WLAN" "gl-connect:red:wlan" "phy0tpt"
 	;;
 
+esr900)
+	ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "engenius:blue:wlan-2g" "phy0tpt"
+	ucidef_set_led_wlan "wlan5g" "WLAN 5 GHz" "engenius:blue:wlan-5g" "phy1tpt"
+	;;
+
 hiwifi-hc6361)
 	ucidef_set_led_default "inet" "INET" "hiwifi:blue:internet" "0"
 	ucidef_set_led_wlan "wlan" "WLAN" "hiwifi:blue:wlan-2p4" "phy0tpt"
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
index cb3a83b301..d4fb5770ce 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
@@ -266,6 +266,16 @@ wndr4300)
 	[ -n "$mac_wan" ] && ucidef_set_interface_macaddr "wan" "$mac_wan"
 	;;
 
+esr900)
+	local mac
+	ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+	ucidef_add_switch "switch0" "1" "1"
+	ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4"
+	ucidef_add_switch_vlan "switch0" "2" "0t 5"
+	mac=$(mtd_get_mac_ascii u-boot-env "wanaddr")
+	[ -n "$mac" ] && ucidef_set_interface_macaddr "wan" "$mac"
+	;;
+
 all0305 |\
 aw-nr580 |\
 bullet-m |\
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index cce8d25830..bc26d8b1dc 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -328,6 +328,9 @@ ar71xx_board_detect() {
 	*"EnGenius ESR1750")
 		name="esr1750"
 		;;
+	*"EnGenius ESR900")
+		name="esr900"
+		;;
 	*JA76PF)
 		name="ja76pf"
 		;;
-- 
GitLab