diff options
-rwxr-xr-x | target/linux/ramips/base-files/etc/diag.sh | 63 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/lib/ramips.sh | 31 | ||||
-rw-r--r-- | target/linux/ramips/rt288x/profiles/00-default.mk | 2 | ||||
-rw-r--r-- | target/linux/ramips/rt305x/profiles/00-default.mk | 2 |
4 files changed, 96 insertions, 2 deletions
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh new file mode 100755 index 0000000000..c69cb9e1c4 --- /dev/null +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -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 index 0000000000..9f9256740b --- /dev/null +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -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 +} diff --git a/target/linux/ramips/rt288x/profiles/00-default.mk b/target/linux/ramips/rt288x/profiles/00-default.mk index 414df50abb..80ae4d0246 100644 --- a/target/linux/ramips/rt288x/profiles/00-default.mk +++ b/target/linux/ramips/rt288x/profiles/00-default.mk @@ -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 diff --git a/target/linux/ramips/rt305x/profiles/00-default.mk b/target/linux/ramips/rt305x/profiles/00-default.mk index 414df50abb..80ae4d0246 100644 --- a/target/linux/ramips/rt305x/profiles/00-default.mk +++ b/target/linux/ramips/rt305x/profiles/00-default.mk @@ -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 |