diff options
| -rwxr-xr-x | target/linux/adm5120/base-files/default/etc/diag.sh | 48 | ||||
| -rwxr-xr-x | target/linux/adm5120/base-files/default/lib/adm5120.sh | 50 | 
2 files changed, 98 insertions, 0 deletions
diff --git a/target/linux/adm5120/base-files/default/etc/diag.sh b/target/linux/adm5120/base-files/default/etc/diag.sh new file mode 100755 index 000000000..3d5d9d84a --- /dev/null +++ b/target/linux/adm5120/base-files/default/etc/diag.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# +# Copyright (C) 2007 OpenWrt.org +# +# $Id$ +# + +. /lib/adm5120.sh + +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_set_morse() { +	led_set_attr $status_led "trigger" "morse" +	led_set_attr $status_led "delay" "$1" +	led_set_attr $status_led "message" "$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 +} + +set_state() { +	case "$1" in +	preinit) +		status_led_set_timer 200 200 +		;; +	failsafe) +		status_led_set_timer 50 50 +		;; +	done) +		status_led_on +		;; +	esac +} diff --git a/target/linux/adm5120/base-files/default/lib/adm5120.sh b/target/linux/adm5120/base-files/default/lib/adm5120.sh new file mode 100755 index 000000000..d599a09b1 --- /dev/null +++ b/target/linux/adm5120/base-files/default/lib/adm5120.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# +# Copyright (C) 2007 OpenWrt.org +# +# $Id$ +# + +board_name="" +status_led="" +sys_mtd_part="" + +adm5120_detect() { +	board_name=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /system type/ {print $2}' /proc/cpuinfo) + +	case "$board_name" in +	"Cellvision"*) +		status_led="status" +		sys_mtd_part="firmware" +		;; +	"Compex"*) +		status_led="diag" +		case "$board_name" in +		*-WRT) +			sys_mtd_part="trx" +			;; +		*) +			sys_mtd_part="partition1" +			;; +		esac +		;; +	"Edimax"*) +		status_led="power" +		sys_mtd_part="firmware" +		;; +	"Infineon"*) +		sys_mtd_part="firmware" +		;; +	"Mikrotik"*) +		status_led="power" +		;; +	"ZyXEL"*) +		status_led="power" +		sys_mtd_part="trx" +		;; +	*) +		;; +	esac +} + +adm5120_detect  | 
