]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/leds
core81: set need reboot flag and restart apache.
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / leds
1 #!/bin/sh
2 ########################################################################
3 # Begin $rc_base/init.d/leds
4 #
5 # Description : Script to setup leds at boot.
6 #
7 ########################################################################
8
9 . /etc/sysconfig/rc
10 . ${rc_functions}
11
12 if [ -e /etc/init.d/leds.user ]; then
13 /etc/init.d/leds.user $*
14 exit ${?}
15 fi
16
17 # Load ethernet settings
18 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
19
20 case "${RED_TYPE}" in
21 PPPOE)
22 RED_DEV="ppp0"
23 ;;
24 esac
25
26 # setup_netdev_trigger LED DEVICE MODE
27 setup_netdev_trigger ()
28 {
29 if [ -d "/sys/class/leds/$1" ]; then
30 modprobe -q ledtrig-netdev 2>&1 > /dev/null
31 echo "netdev" > /sys/class/leds/$1/trigger
32 echo "$2" > /sys/class/leds/$1/device_name
33 echo "$3 $4" > /sys/class/leds/$1/mode
34 fi
35 }
36
37 # setup_netdev_trigger LED
38 setup_heartbeat_trigger ()
39 {
40 if [ -d "/sys/class/leds/$1" ]; then
41 modprobe -q ledtrig-heartbeat 2>&1 > /dev/null
42 echo "heartbeat" > /sys/class/leds/$1/trigger
43 fi
44 }
45
46 # disable_led_trigger LED
47 disable_led_trigger ()
48 {
49 if [ -d "/sys/class/leds/$1" ]; then
50 echo "none" > /sys/class/leds/$1/trigger
51 echo "0" > /sys/class/leds/$1/brightness
52 fi
53 }
54
55 # enable LED
56 enable_led ()
57 {
58 if [ -d "/sys/class/leds/$1" ]; then
59 echo "1" > /sys/class/leds/$1/brightness
60 fi
61 }
62
63 case "${1}" in
64 start)
65 # Alix LED start
66 setup_heartbeat_trigger alix:1
67 setup_netdev_trigger alix:2 ${RED_DEV} rx
68 setup_netdev_trigger alix:3 ${RED_DEV} tx
69
70 # Apu LED start
71 setup_heartbeat_trigger apu:1
72 setup_netdev_trigger apu:2 ${RED_DEV} rx
73 setup_netdev_trigger apu:3 ${RED_DEV} tx
74
75 # Geos LED start
76 setup_heartbeat_trigger geos:1
77 setup_netdev_trigger geos:2 ${RED_DEV} rx
78 setup_netdev_trigger geos:3 ${RED_DEV} tx
79
80 # Dreamplug
81 setup_netdev_trigger dreamplug:green:wlan ${GREEN_DEV} tx rx
82 setup_netdev_trigger dreamplug:blue:wlanap ${BLUE_DEV} tx rx
83 setup_netdev_trigger dreamplug:blue:bluetooth ${RED_DEV} tx rx
84
85 # Iomega iConnect start
86 setup_heartbeat_trigger iconnect:blue:otb
87 setup_netdev_trigger iconnect:blue:power ${RED_DEV} rx
88 setup_netdev_trigger iconnect:red:power ${RED_DEV} tx
89 setup_netdev_trigger iconnect:blue:usb_2 ${GREEN_DEV} tx rx
90 setup_netdev_trigger iconnect:blue:usb_3 ${BLUE_DEV} tx rx
91 setup_netdev_trigger iconnect:blue:usb_4 ${ORANGE_DEV} tx rx
92
93 # ICY Box LED start
94 setup_netdev_trigger nas6210:red:power ${RED_DEV} tx rx
95 setup_netdev_trigger nas6210:red:usb_copy ${GREEN_DEV} tx rx
96
97 exit 0
98 ;;
99
100 stop)
101 # Alix LED stop
102 disable_led_trigger alix:1
103 enable_led alix:1
104 disable_led_trigger alix:2
105 disable_led_trigger alix:3
106
107 # Apu LED stop
108 disable_led_trigger apu:1
109 enable_led apu:1
110 disable_led_trigger apu:2
111 disable_led_trigger apu:3
112
113 # Geos LED stop
114 disable_led_trigger geos:1
115 enable_led geos:1
116 disable_led_trigger geos:2
117 disable_led_trigger geos:3
118
119 # Dreamplug
120 disable_led_trigger dreamplug:green:wlan
121 disable_led_trigger dreamplug:blue:wlanap
122 disable_led_trigger dreamplug:blue:bluetooth
123
124 # Iomega iConnect stop (heartbeat will leave on)
125 disable_led_trigger iconnect:blue:power
126 disable_led_trigger iconnect:red:power
127 disable_led_trigger iconnect:blue:usb_2
128 disable_led_trigger iconnect:blue:usb_3
129 disable_led_trigger iconnect:blue:usb_4
130
131 # ICY Box LED stop
132 disable_led_trigger nas6210:red:power
133 disable_led_trigger nas6210:red:usb_copy
134
135 exit 0
136 ;;
137
138 *)
139 echo "Usage: ${0} {start|stop}"
140 exit 1
141 ;;
142 esac
143
144 # End $rc_base/init.d/leds