]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/initscripts/init.d/leds
Merge remote-tracking branch 'mfischer/libxml2' into next
[people/pmueller/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 # Mirabox start
98 setup_heartbeat_trigger mirabox:green:pwr
99 setup_netdev_trigger mirabox:green:stat ${GREEN_DEV} tx rx
100 setup_netdev_trigger mirabox:blue:stat ${BLUE_DEV} tx rx
101
102 exit 0
103 ;;
104
105 stop)
106 # Alix LED stop
107 disable_led_trigger alix:1
108 enable_led alix:1
109 disable_led_trigger alix:2
110 disable_led_trigger alix:3
111
112 # Apu LED stop
113 disable_led_trigger apu:1
114 enable_led apu:1
115 disable_led_trigger apu:2
116 disable_led_trigger apu:3
117
118 # Geos LED stop
119 disable_led_trigger geos:1
120 enable_led geos:1
121 disable_led_trigger geos:2
122 disable_led_trigger geos:3
123
124 # Dreamplug
125 disable_led_trigger dreamplug:green:wlan
126 disable_led_trigger dreamplug:blue:wlanap
127 disable_led_trigger dreamplug:blue:bluetooth
128
129 # Iomega iConnect stop (heartbeat will leave on)
130 disable_led_trigger iconnect:blue:power
131 disable_led_trigger iconnect:red:power
132 disable_led_trigger iconnect:blue:usb_2
133 disable_led_trigger iconnect:blue:usb_3
134 disable_led_trigger iconnect:blue:usb_4
135
136 # ICY Box LED stop
137 disable_led_trigger nas6210:red:power
138 disable_led_trigger nas6210:red:usb_copy
139
140 # Mirabox stop
141 disable_led_trigger mirabox:green:pwr
142 enable_led mirabox:green:pwr
143 disable_led_trigger mirabox:green:stat
144 disable_led_trigger mirabox:blue:stat
145
146 exit 0
147 ;;
148
149 *)
150 echo "Usage: ${0} {start|stop}"
151 exit 1
152 ;;
153 esac
154
155 # End $rc_base/init.d/leds