ramips: add diag support
authorGabor Juhos <juhosg@openwrt.org>
Sun, 11 Apr 2010 17:47:23 +0000 (17:47 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 11 Apr 2010 17:47:23 +0000 (17:47 +0000)
SVN-Revision: 20799

target/linux/ramips/base-files/etc/diag.sh [new file with mode: 0755]
target/linux/ramips/base-files/lib/ramips.sh [new file with mode: 0755]
target/linux/ramips/rt288x/profiles/00-default.mk
target/linux/ramips/rt305x/profiles/00-default.mk

diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
new file mode 100755 (executable)
index 0000000..c69cb9e
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/sh
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+#
+
+. /lib/ramips.sh
+
+status_led=""
+
+led_set_attr() {
+       [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
+}
+
+status_led_set_timer() {
+       led_set_attr $status_led "trigger" "timer"
+       led_set_attr $status_led "delay_on" "$1"
+       led_set_attr $status_led "delay_off" "$2"
+}
+
+status_led_on() {
+       led_set_attr $status_led "trigger" "none"
+       led_set_attr $status_led "brightness" 255
+}
+
+status_led_off() {
+       led_set_attr $status_led "trigger" "none"
+       led_set_attr $status_led "brightness" 0
+}
+
+get_status_led() {
+       case $(ramips_board_name) in
+       dir-300-b1)
+               status_led="dir-300b:green:status"
+               ;;
+       fonera20n)
+               status_led="fonera20n:green:power"
+               ;;
+       v22rw-2x2)
+               status_led="v22rw-2x2:green:security"
+               ;;
+       whr-g300n)
+               status_led="whr-g300n:red:diag"
+               ;;
+       esac;
+}
+
+set_state() {
+       get_status_led
+
+       case "$1" in
+       preinit)
+               insmod leds-gpio
+               status_led_set_timer 200 200
+               ;;
+       failsafe)
+               status_led_set_timer 50 50
+               ;;
+       done)
+               status_led_on
+               ;;
+       esac
+}
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
new file mode 100755 (executable)
index 0000000..9f92567
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+
+ramips_board_name() {
+       local machine
+       local name
+
+       machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
+
+       case "$machine" in
+       *"DIR-300 revB")
+               name="dir-300-b1"
+               ;;
+       *"La Fonera 2.0N")
+               name="fonera20n"
+               ;;
+       *"V22RW-2X2")
+               name="v22rw-2x2"
+               ;;
+       *"WHR-G300N")
+               name="whr-g300n"
+               ;;
+       *)
+               name="generic"
+               ;;
+       esac
+
+       echo $name
+}
index 414df50..80ae4d0 100644 (file)
@@ -7,7 +7,7 @@
 
 define Profile/Default
        NAME:=Default Profile
-       PACKAGES:=kmod-rt2880-pci wpad-mini
+       PACKAGES:=kmod-leds-gpio kmod-rt2880-pci wpad-mini
 endef
 
 define Profile/Default/Description
index 414df50..80ae4d0 100644 (file)
@@ -7,7 +7,7 @@
 
 define Profile/Default
        NAME:=Default Profile
-       PACKAGES:=kmod-rt2880-pci wpad-mini
+       PACKAGES:=kmod-leds-gpio kmod-rt2880-pci wpad-mini
 endef
 
 define Profile/Default/Description