]>
Commit | Line | Data |
---|---|---|
d81baab2 | 1 | #!/bin/sh |
66c36198 PM |
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 | ############################################################################### | |
d81baab2 MT |
21 | |
22 | . /etc/sysconfig/rc | |
23 | . ${rc_functions} | |
24 | ||
56885462 AF |
25 | if [ -e /etc/init.d/leds.user ]; then |
26 | /etc/init.d/leds.user $* | |
d1cc6eaa AF |
27 | exit ${?} |
28 | fi | |
29 | ||
d81baab2 MT |
30 | # Load ethernet settings |
31 | eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings) | |
32 | ||
0e37b552 MT |
33 | case "${RED_TYPE}" in |
34 | PPPOE) | |
35 | RED_DEV="ppp0" | |
36 | ;; | |
37 | esac | |
d81baab2 | 38 | |
d1cc6eaa AF |
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 | |
604945c0 AF |
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 | |
d1cc6eaa AF |
59 | fi |
60 | } | |
d81baab2 | 61 | |
d1cc6eaa AF |
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 | |
d81baab2 MT |
69 | } |
70 | ||
d1cc6eaa AF |
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 | |
d81baab2 MT |
78 | } |
79 | ||
d10a7de1 AF |
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 | ||
dd12d8c5 | 88 | #Handle new APU ACPI Leds introduced on APU2 with bios 4.10.0.0 |
0db33402 AF |
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 | |
dd12d8c5 AF |
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 | |
0db33402 | 108 | fi |
dd12d8c5 | 109 | |
d1cc6eaa AF |
110 | case "${1}" in |
111 | start) | |
112 | # Alix LED start | |
670d5144 | 113 | setup_heartbeat_trigger alix:1 |
d1cc6eaa AF |
114 | setup_netdev_trigger alix:2 ${RED_DEV} rx |
115 | setup_netdev_trigger alix:3 ${RED_DEV} tx | |
d81baab2 | 116 | |
fff24766 | 117 | # Apu LED start |
dd12d8c5 AF |
118 | setup_heartbeat_trigger ${APULED}1 |
119 | setup_netdev_trigger ${APULED}2 ${RED_DEV} rx | |
120 | setup_netdev_trigger ${APULED}3 ${RED_DEV} tx | |
fff24766 | 121 | |
d10a7de1 AF |
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 | ||
d595016b AF |
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 | ||
ca75ec52 AF |
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 | ||
75ccf298 | 137 | # Nanopi R2S start |
02fadedf AF |
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 | ||
75ccf298 AF |
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 | ||
d1cc6eaa AF |
147 | exit 0 |
148 | ;; | |
149 | ||
150 | stop) | |
151 | # Alix LED stop | |
670d5144 | 152 | disable_led_trigger alix:1 |
d10a7de1 | 153 | enable_led alix:1 |
d1cc6eaa AF |
154 | disable_led_trigger alix:2 |
155 | disable_led_trigger alix:3 | |
156 | ||
fff24766 | 157 | # Apu LED stop |
dd12d8c5 AF |
158 | disable_led_trigger ${APULED}1 |
159 | enable_led ${APULED}1 | |
160 | disable_led_trigger ${APULED}2 | |
161 | disable_led_trigger ${APULED}3 | |
fff24766 | 162 | |
d10a7de1 AF |
163 | # Geos LED stop |
164 | disable_led_trigger geos:1 | |
165 | enable_led geos:1 | |
166 | disable_led_trigger geos:2 | |
167 | disable_led_trigger geos:3 | |
168 | ||
d595016b AF |
169 | # Mirabox stop |
170 | disable_led_trigger mirabox:green:pwr | |
171 | enable_led mirabox:green:pwr | |
172 | disable_led_trigger mirabox:green:stat | |
173 | disable_led_trigger mirabox:blue:stat | |
174 | ||
ca75ec52 AF |
175 | # Nanopi R1 stop |
176 | disable_led_trigger nanopi-r1:red:status | |
177 | enable_led nanopi-r1:red:status | |
178 | disable_led_trigger nanopi-r1:green:wan | |
179 | disable_led_trigger nanopi-r1:green:lan | |
180 | ||
02fadedf AF |
181 | # Nanopi R2S stop |
182 | disable_led_trigger nanopi-r2s:red:sys | |
183 | enable_led nanopi-r2s:red:sys | |
184 | disable_led_trigger nanopi-r2s:green:wan | |
185 | disable_led_trigger nanopi-r2s:green:lan | |
186 | ||
75ccf298 AF |
187 | # Nanopi R4S stop |
188 | disable_led_trigger nanopi-r4s:green:sys | |
6b184642 | 189 | enable_led nanopi-r4s:green:sys |
75ccf298 AF |
190 | disable_led_trigger nanopi-r4s:green:wan |
191 | disable_led_trigger nanopi-r4s:green:lan | |
192 | ||
cbaab6dc | 193 | exit 0 |
d1cc6eaa | 194 | ;; |
d81baab2 MT |
195 | |
196 | *) | |
197 | echo "Usage: ${0} {start|stop}" | |
198 | exit 1 | |
d1cc6eaa | 199 | ;; |
d81baab2 | 200 | esac |