leds: new led startup script.

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.
This commit is contained in:
Arne Fitzenreiter
2012-12-20 20:59:16 +01:00
parent acddae55da
commit d1cc6eaac8
5 changed files with 86 additions and 40 deletions

View 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

View 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

View 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

View File

@@ -9,62 +9,101 @@
. /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}
if [ "${RED_DEV}" == "" ]; then
RED_DEV=ppp0
fi
modprobe ledtrig-netdev
local i
for i in ${led1} ${led2}; do
echo "netdev" > ${i}/trigger
echo "${RED_DEV}" > ${i}/device_name
done
echo "rx" > ${led1}/mode
echo "tx" > ${led2}/mode
# 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
}
reset_trigger() {
[ -d "${1}" ] || return 0
echo "none" > ${1}/trigger
# 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
}
start_alix2() {
modprobe -q leds-alix2 &>/dev/null
local i
for i in 1 2 3; do
if [ ! -d "/sys/class/leds/alix:${i}" ]; then
return 1
fi
done
setup_red_modem /sys/class/leds/alix:2 /sys/class/leds/alix:3
}
stop_alix2() {
local i
for i in 1 2 3; do
reset_trigger /sys/class/leds/alix:${i}
done
# 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
}
case "${1}" in
start|stop)
for i in alix2; do
${1}_${i}
done
start)
# Alix LED start
setup_netdev_trigger alix:2 ${RED_DEV} rx
setup_netdev_trigger alix:3 ${RED_DEV} tx
# 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
# 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
# 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
exit 0
;;
*)
echo "Usage: ${0} {start|stop}"
exit 1
;;
;;
esac
# End $rc_base/init.d/leds

View File

@@ -0,0 +1,3 @@
#!/bin/bash
/etc/init.d/leds start &>/dev/null
exit 0