]> git.ipfire.org Git - ipfire-2.x.git/blob - src/initscripts/system/leds
suricata: Change midstream policy to "pass-flow"
[ipfire-2.x.git] / src / initscripts / system / leds
1 #!/bin/sh
2 ###############################################################################
3 # #
4 # IPFire.org - A linux based firewall #
5 # Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
6 # #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
11 # #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
16 # #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
19 # #
20 ###############################################################################
21
22 . /etc/sysconfig/rc
23 . ${rc_functions}
24
25 if [ -e /etc/init.d/leds.user ]; then
26 /etc/init.d/leds.user $*
27 exit ${?}
28 fi
29
30 # Load ethernet settings
31 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
32
33 case "${RED_TYPE}" in
34 PPPOE)
35 RED_DEV="ppp0"
36 ;;
37 esac
38
39 # setup_netdev_trigger LED DEVICE MODE
40 setup_netdev_trigger ()
41 {
42 if [ -d "/sys/class/leds/$1" ]; then
43 modprobe -q ledtrig-netdev 2>&1 > /dev/null
44 echo "netdev" > /sys/class/leds/$1/trigger
45 echo "$2" > /sys/class/leds/$1/device_name
46 if [ -e "/sys/class/leds/$1/mode" ]; then
47 echo "$3 $4" > /sys/class/leds/$1/mode
48 else
49 if [ -f "/sys/class/leds/$1/$3" ]; then
50 echo 1 > /sys/class/leds/$1/$3
51 fi
52 if [ -f "/sys/class/leds/$1/$4" ]; then
53 echo 1 > /sys/class/leds/$1/$4
54 fi
55 if [ -f "/sys/class/leds/$1/$5" ]; then
56 echo 1 > /sys/class/leds/$1/$5
57 fi
58 fi
59 fi
60 }
61
62 # setup_netdev_trigger LED
63 setup_heartbeat_trigger ()
64 {
65 if [ -d "/sys/class/leds/$1" ]; then
66 modprobe -q ledtrig-heartbeat 2>&1 > /dev/null
67 echo "heartbeat" > /sys/class/leds/$1/trigger
68 fi
69 }
70
71 # disable_led_trigger LED
72 disable_led_trigger ()
73 {
74 if [ -d "/sys/class/leds/$1" ]; then
75 echo "none" > /sys/class/leds/$1/trigger
76 echo "0" > /sys/class/leds/$1/brightness
77 fi
78 }
79
80 # enable LED
81 enable_led ()
82 {
83 if [ -d "/sys/class/leds/$1" ]; then
84 echo "1" > /sys/class/leds/$1/brightness
85 fi
86 }
87
88 #Handle new APU ACPI Leds introduced on APU2 with bios 4.10.0.0
89 if [ -e /sys/class/leds/apu:green:1 ]; then
90 APULED="apu:green:";
91 else if [ -e /sys/class/leds/apu1:green:led1 ]; then
92 APULED="apu1:green:led";
93 else if [ -e /sys/class/leds/apu2:green:led1 ]; then
94 APULED="apu2:green:led";
95 else if [ -e /sys/class/leds/apu3:green:led1 ]; then
96 APULED="apu3:green:led";
97 else if [ -e /sys/class/leds/apu4:green:led1 ]; then
98 APULED="apu4:green:led";
99 else if [ -e /sys/class/leds/apu5:green:led1 ]; then
100 APULED="apu5:green:led";
101 else
102 APULED="apu:";
103 fi
104 fi
105 fi
106 fi
107 fi
108 fi
109
110 case "${1}" in
111 start)
112 # Alix LED start
113 setup_heartbeat_trigger alix:1
114 setup_netdev_trigger alix:2 ${RED_DEV} rx
115 setup_netdev_trigger alix:3 ${RED_DEV} tx
116
117 # Apu LED start
118 setup_heartbeat_trigger ${APULED}1
119 setup_netdev_trigger ${APULED}2 ${RED_DEV} rx
120 setup_netdev_trigger ${APULED}3 ${RED_DEV} tx
121
122 # Geos LED start
123 setup_heartbeat_trigger geos:1
124 setup_netdev_trigger geos:2 ${RED_DEV} rx
125 setup_netdev_trigger geos:3 ${RED_DEV} tx
126
127 # Mirabox start
128 setup_heartbeat_trigger mirabox:green:pwr
129 setup_netdev_trigger mirabox:green:stat ${GREEN_DEV} tx rx
130 setup_netdev_trigger mirabox:blue:stat ${BLUE_DEV} tx rx
131
132 # Nanopi R1 start
133 setup_heartbeat_trigger nanopi-r1:red:status
134 setup_netdev_trigger nanopi-r1:green:wan ${RED_DEV} tx rx
135 setup_netdev_trigger nanopi-r1:green:lan ${GREEN_DEV} tx rx
136
137 # Nanopi R2S start
138 setup_heartbeat_trigger nanopi-r2s:red:sys
139 setup_netdev_trigger nanopi-r2s:green:wan ${RED_DEV} tx rx
140 setup_netdev_trigger nanopi-r2s:green:lan ${GREEN_DEV} tx rx
141
142 # Nanopi R4S start
143 setup_heartbeat_trigger nanopi-r4s:green:sys
144 setup_netdev_trigger nanopi-r4s:green:wan ${RED_DEV} tx rx
145 setup_netdev_trigger nanopi-r4s:green:lan ${GREEN_DEV} tx rx
146
147 # OrangePi R1 Plus
148 setup_heartbeat_trigger red:status
149 setup_netdev_trigger green:wan ${RED_DEV} tx rx
150 setup_netdev_trigger green:lan ${GREEN_DEV} tx rx
151
152 exit 0
153 ;;
154
155 stop)
156 # Alix LED stop
157 disable_led_trigger alix:1
158 enable_led alix:1
159 disable_led_trigger alix:2
160 disable_led_trigger alix:3
161
162 # Apu LED stop
163 disable_led_trigger ${APULED}1
164 enable_led ${APULED}1
165 disable_led_trigger ${APULED}2
166 disable_led_trigger ${APULED}3
167
168 # Geos LED stop
169 disable_led_trigger geos:1
170 enable_led geos:1
171 disable_led_trigger geos:2
172 disable_led_trigger geos:3
173
174 # Mirabox stop
175 disable_led_trigger mirabox:green:pwr
176 enable_led mirabox:green:pwr
177 disable_led_trigger mirabox:green:stat
178 disable_led_trigger mirabox:blue:stat
179
180 # Nanopi R1 stop
181 disable_led_trigger nanopi-r1:red:status
182 enable_led nanopi-r1:red:status
183 disable_led_trigger nanopi-r1:green:wan
184 disable_led_trigger nanopi-r1:green:lan
185
186 # Nanopi R2S stop
187 disable_led_trigger nanopi-r2s:red:sys
188 enable_led nanopi-r2s:red:sys
189 disable_led_trigger nanopi-r2s:green:wan
190 disable_led_trigger nanopi-r2s:green:lan
191
192 # Nanopi R4S stop
193 disable_led_trigger nanopi-r4s:green:sys
194 enable_led nanopi-r4s:green:sys
195 disable_led_trigger nanopi-r4s:green:wan
196 disable_led_trigger nanopi-r4s:green:lan
197
198 # OrangePi R1 Plus stop
199 disable_led_trigger red:status
200 enable_led red:status
201 disable_led_trigger green:wan
202 disable_led_trigger green:lan
203
204 exit 0
205 ;;
206
207 *)
208 echo "Usage: ${0} {start|stop}"
209 exit 1
210 ;;
211 esac