]> git.ipfire.org Git - ipfire-2.x.git/blob - src/initscripts/system/leds
d68426acf2332bf8668d68fa8c14c5a9c9c37f3a
[ipfire-2.x.git] / src / initscripts / system / 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 if [ -e "/sys/class/leds/$1/mode" ]; then
34 echo "$3 $4" > /sys/class/leds/$1/mode
35 else
36 if [ -f "/sys/class/leds/$1/$3" ]; then
37 echo 1 > /sys/class/leds/$1/$3
38 fi
39 if [ -f "/sys/class/leds/$1/$4" ]; then
40 echo 1 > /sys/class/leds/$1/$4
41 fi
42 if [ -f "/sys/class/leds/$1/$5" ]; then
43 echo 1 > /sys/class/leds/$1/$5
44 fi
45 fi
46 fi
47 }
48
49 # setup_netdev_trigger LED
50 setup_heartbeat_trigger ()
51 {
52 if [ -d "/sys/class/leds/$1" ]; then
53 modprobe -q ledtrig-heartbeat 2>&1 > /dev/null
54 echo "heartbeat" > /sys/class/leds/$1/trigger
55 fi
56 }
57
58 # disable_led_trigger LED
59 disable_led_trigger ()
60 {
61 if [ -d "/sys/class/leds/$1" ]; then
62 echo "none" > /sys/class/leds/$1/trigger
63 echo "0" > /sys/class/leds/$1/brightness
64 fi
65 }
66
67 # enable LED
68 enable_led ()
69 {
70 if [ -d "/sys/class/leds/$1" ]; then
71 echo "1" > /sys/class/leds/$1/brightness
72 fi
73 }
74
75 #Handle new APU ACPI Leds introduced on APU2 with bios 4.10.0.0
76 if [ -e /sys/class/leds/apu:green:1 ]; then
77 APULED="apu:green:";
78 else if [ -e /sys/class/leds/apu1:green:led1 ]; then
79 APULED="apu1:green:led";
80 else if [ -e /sys/class/leds/apu2:green:led1 ]; then
81 APULED="apu2:green:led";
82 else if [ -e /sys/class/leds/apu3:green:led1 ]; then
83 APULED="apu3:green:led";
84 else if [ -e /sys/class/leds/apu4:green:led1 ]; then
85 APULED="apu4:green:led";
86 else if [ -e /sys/class/leds/apu5:green:led1 ]; then
87 APULED="apu5:green:led";
88 else
89 APULED="apu:";
90 fi
91 fi
92 fi
93 fi
94 fi
95 fi
96
97 case "${1}" in
98 start)
99 # Alix LED start
100 setup_heartbeat_trigger alix:1
101 setup_netdev_trigger alix:2 ${RED_DEV} rx
102 setup_netdev_trigger alix:3 ${RED_DEV} tx
103
104 # Apu LED start
105 setup_heartbeat_trigger ${APULED}1
106 setup_netdev_trigger ${APULED}2 ${RED_DEV} rx
107 setup_netdev_trigger ${APULED}3 ${RED_DEV} tx
108
109 # Geos LED start
110 setup_heartbeat_trigger geos:1
111 setup_netdev_trigger geos:2 ${RED_DEV} rx
112 setup_netdev_trigger geos:3 ${RED_DEV} tx
113
114 # Mirabox start
115 setup_heartbeat_trigger mirabox:green:pwr
116 setup_netdev_trigger mirabox:green:stat ${GREEN_DEV} tx rx
117 setup_netdev_trigger mirabox:blue:stat ${BLUE_DEV} tx rx
118
119 # Nanopi R1 start
120 setup_heartbeat_trigger nanopi-r1:red:status
121 setup_netdev_trigger nanopi-r1:green:wan ${RED_DEV} tx rx
122 setup_netdev_trigger nanopi-r1:green:lan ${GREEN_DEV} tx rx
123
124 # Nanopi R2S start
125 setup_heartbeat_trigger nanopi-r2s:red:sys
126 setup_netdev_trigger nanopi-r2s:green:wan ${RED_DEV} tx rx
127 setup_netdev_trigger nanopi-r2s:green:lan ${GREEN_DEV} tx rx
128
129 # Nanopi R4S start
130 setup_heartbeat_trigger nanopi-r4s:green:sys
131 setup_netdev_trigger nanopi-r4s:green:wan ${RED_DEV} tx rx
132 setup_netdev_trigger nanopi-r4s:green:lan ${GREEN_DEV} tx rx
133
134 exit 0
135 ;;
136
137 stop)
138 # Alix LED stop
139 disable_led_trigger alix:1
140 enable_led alix:1
141 disable_led_trigger alix:2
142 disable_led_trigger alix:3
143
144 # Apu LED stop
145 disable_led_trigger ${APULED}1
146 enable_led ${APULED}1
147 disable_led_trigger ${APULED}2
148 disable_led_trigger ${APULED}3
149
150 # Geos LED stop
151 disable_led_trigger geos:1
152 enable_led geos:1
153 disable_led_trigger geos:2
154 disable_led_trigger geos:3
155
156 # Mirabox stop
157 disable_led_trigger mirabox:green:pwr
158 enable_led mirabox:green:pwr
159 disable_led_trigger mirabox:green:stat
160 disable_led_trigger mirabox:blue:stat
161
162 # Nanopi R1 stop
163 disable_led_trigger nanopi-r1:red:status
164 enable_led nanopi-r1:red:status
165 disable_led_trigger nanopi-r1:green:wan
166 disable_led_trigger nanopi-r1:green:lan
167
168 # Nanopi R2S stop
169 disable_led_trigger nanopi-r2s:red:sys
170 enable_led nanopi-r2s:red:sys
171 disable_led_trigger nanopi-r2s:green:wan
172 disable_led_trigger nanopi-r2s:green:lan
173
174 # Nanopi R4S stop
175 disable_led_trigger nanopi-r4s:green:sys
176 enable_led nanopi-r4s:green:sys
177 disable_led_trigger nanopi-r4s:green:wan
178 disable_led_trigger nanopi-r4s:green:lan
179
180 exit 0
181 ;;
182
183 *)
184 echo "Usage: ${0} {start|stop}"
185 exit 1
186 ;;
187 esac
188
189 # End $rc_base/init.d/leds