]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
leds: new led startup script.
authorArne Fitzenreiter <arne_f@ipfire.org>
Thu, 20 Dec 2012 19:59:16 +0000 (20:59 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Thu, 20 Dec 2012 19:59:16 +0000 (20:59 +0100)
Added setups for dreamplug, Iomega iConnect and Raidsonic ICY-Box 62x0
and a functionality to replace the script by a user copy for adding other
led configurations.

config/rootfiles/common/armv5tel/initscripts
config/rootfiles/common/i586/initscripts
config/rootfiles/core/66/filelists/files
src/initscripts/init.d/leds
src/initscripts/init.d/networking/red.up/98-leds [new file with mode: 0644]

index 89e8b2275dd917ae566772c512244133b55420ec..90f9be161a03e3cfcdebe4180555d312ba022e4b 100644 (file)
@@ -87,6 +87,7 @@ etc/rc.d/init.d/networking/red.up/30-ddns
 etc/rc.d/init.d/networking/red.up/40-ipac
 etc/rc.d/init.d/networking/red.up/50-ipsec
 etc/rc.d/init.d/networking/red.up/50-ovpn
+etc/rc.d/init.d/networking/red.up/98-leds
 etc/rc.d/init.d/networking/red.up/99-U-dialctrl.pl
 etc/rc.d/init.d/networking/red.up/99-fireinfo
 etc/rc.d/init.d/networking/red.up/99-pakfire-update
index 5bc93d7ed5d46486f75808cf062d3136952a49a7..737e87847dba28784133814744c4c2fe02e9df0c 100644 (file)
@@ -89,6 +89,7 @@ etc/rc.d/init.d/networking/red.up/30-ddns
 etc/rc.d/init.d/networking/red.up/40-ipac
 etc/rc.d/init.d/networking/red.up/50-ipsec
 etc/rc.d/init.d/networking/red.up/50-ovpn
+etc/rc.d/init.d/networking/red.up/98-leds
 etc/rc.d/init.d/networking/red.up/99-U-dialctrl.pl
 etc/rc.d/init.d/networking/red.up/99-fireinfo
 etc/rc.d/init.d/networking/red.up/99-pakfire-update
index d923c5beced0d6f6e5413461855cb1acc1bb4ab0..3f9acf53c6992e8d4dbcfa6a7b33b5298ccd1b76 100644 (file)
@@ -3,8 +3,10 @@ etc/issue
 etc/rc.d/init.d/firewall
 etc/rc.d/init.d/fsresize
 etc/rc.d/init.d/halt
+etc/rc.d/init.d/leds
 etc/rc.d/init.d/mountfs
 etc/rc.d/init.d/network
+etc/rc.d/init.d/networking/red.up/98-leds
 etc/rc.d/init.d/partresize
 etc/rc.d/init.d/reboot
 etc/rc.d/init.d/sendsignals
index 4e678c5e7cd05bca0a25d4ca791cb7436b2c00b2..818382974c266d83721fa45c001bf5a8e2ee4a6d 100644 (file)
 . /etc/sysconfig/rc
 . ${rc_functions}
 
+if [ -e $0.user ]; then
+       $0.user $*
+       exit ${?}
+fi
+
 # Load ethernet settings
 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
 
-setup_red_modem() {
-       local led1=${1}
-       local led2=${2}
-
-       modprobe ledtrig-netdev
+if [ "${RED_DEV}" == "" ]; then
+       RED_DEV=ppp0
+fi
 
-       local i
-       for i in ${led1} ${led2}; do
-               echo "netdev" > ${i}/trigger
-               echo "${RED_DEV}" > ${i}/device_name
-       done
+# setup_netdev_trigger LED DEVICE MODE
+setup_netdev_trigger ()
+{
+       if [ -d "/sys/class/leds/$1" ]; then
+               modprobe -q ledtrig-netdev 2>&1 > /dev/null
+               echo "netdev" > /sys/class/leds/$1/trigger
+               echo "$2" >     /sys/class/leds/$1/device_name
+               echo "$3 $4" >  /sys/class/leds/$1/mode
+       fi
+}
 
-       echo "rx" > ${led1}/mode
-       echo "tx" > ${led2}/mode
+# setup_netdev_trigger LED
+setup_heartbeat_trigger ()
+{
+       if [ -d "/sys/class/leds/$1" ]; then
+               modprobe -q ledtrig-heartbeat 2>&1 > /dev/null
+               echo "heartbeat" >  /sys/class/leds/$1/trigger
+       fi
 }
 
-reset_trigger() {
-       [ -d "${1}" ] || return 0
-       echo "none" > ${1}/trigger
+# disable_led_trigger LED
+disable_led_trigger ()
+{
+       if [ -d "/sys/class/leds/$1" ]; then
+               echo "none" >     /sys/class/leds/$1/trigger
+               echo "0" >        /sys/class/leds/$1/brightness
+       fi
 }
 
-start_alix2() {
-       modprobe -q leds-alix2 &>/dev/null
+case "${1}" in
+       start)
+               # Alix LED start
+               setup_netdev_trigger alix:2 ${RED_DEV} rx
+               setup_netdev_trigger alix:3 ${RED_DEV} tx
 
-       local i
-       for i in 1 2 3; do
-               if [ ! -d "/sys/class/leds/alix:${i}" ]; then
-                       return 1
-               fi
-       done
+               # Dreamplug
+               setup_netdev_trigger dreamplug:green:wlan ${GREEN_DEV} tx rx
+               setup_netdev_trigger dreamplug:blue:wlanap ${BLUE_DEV} tx rx
+               setup_netdev_trigger dreamplug:blue:bluetooth ${RED_DEV} tx rx
 
-       setup_red_modem /sys/class/leds/alix:2 /sys/class/leds/alix:3
-}
+               # Iomega iConnect start
+               setup_heartbeat_trigger iconnect:blue:otb
+               setup_netdev_trigger iconnect:blue:power ${RED_DEV} rx
+               setup_netdev_trigger iconnect:red:power ${RED_DEV} tx
+               setup_netdev_trigger iconnect:blue:usb_2 ${GREEN_DEV} tx rx
+               setup_netdev_trigger iconnect:blue:usb_3 ${BLUE_DEV} tx rx
+               setup_netdev_trigger iconnect:blue:usb_4 ${ORANGE_DEV} tx rx
 
-stop_alix2() {
-       local i
-       for i in 1 2 3; do
-               reset_trigger /sys/class/leds/alix:${i}
-       done
-}
+               # ICY Box LED start
+               setup_netdev_trigger nas6210:red:power ${RED_DEV} tx rx
+               setup_netdev_trigger nas6210:red:usb_copy ${GREEN_DEV} tx rx
+
+               exit 0
+       ;;
+
+       stop)
+               # Alix LED stop
+               disable_led_trigger alix:2
+               disable_led_trigger alix:3
+
+               # Dreamplug
+               disable_led_trigger dreamplug:green:wlan
+               disable_led_trigger dreamplug:blue:wlanap
+               disable_led_trigger dreamplug:blue:bluetooth
+
+               # Iomega iConnect stop (heartbeat will leave on)
+               disable_led_trigger iconnect:blue:power
+               disable_led_trigger iconnect:red:power
+               disable_led_trigger iconnect:blue:usb_2
+               disable_led_trigger iconnect:blue:usb_3
+               disable_led_trigger iconnect:blue:usb_4
+
+               # ICY Box LED stop
+               disable_led_trigger nas6210:red:power
+               disable_led_trigger nas6210:red:usb_copy
 
-case "${1}" in
-       start|stop)
-               for i in alix2; do
-                 ${1}_${i}
-               done
                exit 0
-               ;;
+       ;;
 
        *)
                echo "Usage: ${0} {start|stop}"
                exit 1
-               ;;
+       ;;
 esac
 
 # End $rc_base/init.d/leds
diff --git a/src/initscripts/init.d/networking/red.up/98-leds b/src/initscripts/init.d/networking/red.up/98-leds
new file mode 100644 (file)
index 0000000..825b46f
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+/etc/init.d/leds start &>/dev/null
+exit 0