]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/initscripts/system/leds
07147ce6c5f50c097c00b4103198b39968419db2
[people/pmueller/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 R1 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 exit 0
130 ;;
131
132 stop)
133 # Alix LED stop
134 disable_led_trigger alix:1
135 enable_led alix:1
136 disable_led_trigger alix:2
137 disable_led_trigger alix:3
138
139 # Apu LED stop
140 disable_led_trigger ${APULED}1
141 enable_led ${APULED}1
142 disable_led_trigger ${APULED}2
143 disable_led_trigger ${APULED}3
144
145 # Geos LED stop
146 disable_led_trigger geos:1
147 enable_led geos:1
148 disable_led_trigger geos:2
149 disable_led_trigger geos:3
150
151 # Mirabox stop
152 disable_led_trigger mirabox:green:pwr
153 enable_led mirabox:green:pwr
154 disable_led_trigger mirabox:green:stat
155 disable_led_trigger mirabox:blue:stat
156
157 # Nanopi R1 stop
158 disable_led_trigger nanopi-r1:red:status
159 enable_led nanopi-r1:red:status
160 disable_led_trigger nanopi-r1:green:wan
161 disable_led_trigger nanopi-r1:green:lan
162
163 # Nanopi R2S stop
164 disable_led_trigger nanopi-r2s:red:sys
165 enable_led nanopi-r2s:red:sys
166 disable_led_trigger nanopi-r2s:green:wan
167 disable_led_trigger nanopi-r2s:green:lan
168
169 exit 0
170 ;;
171
172 *)
173 echo "Usage: ${0} {start|stop}"
174 exit 1
175 ;;
176 esac
177
178 # End $rc_base/init.d/leds