]> git.ipfire.org Git - people/mfischer/ipfire-2.x.git/blame - src/initscripts/system/leds
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-2.x
[people/mfischer/ipfire-2.x.git] / src / initscripts / system / leds
CommitLineData
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
25if [ -e /etc/init.d/leds.user ]; then
26 /etc/init.d/leds.user $*
d1cc6eaa
AF
27 exit ${?}
28fi
29
d81baab2
MT
30# Load ethernet settings
31eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
32
0e37b552
MT
33case "${RED_TYPE}" in
34 PPPOE)
35 RED_DEV="ppp0"
36 ;;
37esac
d81baab2 38
d1cc6eaa
AF
39# setup_netdev_trigger LED DEVICE MODE
40setup_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
63setup_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
72disable_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
81enable_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
89if [ -e /sys/class/leds/apu:green:1 ]; then
90 APULED="apu:green:";
91else if [ -e /sys/class/leds/apu1:green:led1 ]; then
dd12d8c5
AF
92 APULED="apu1:green:led";
93else if [ -e /sys/class/leds/apu2:green:led1 ]; then
94 APULED="apu2:green:led";
95else if [ -e /sys/class/leds/apu3:green:led1 ]; then
96 APULED="apu3:green:led";
97else if [ -e /sys/class/leds/apu4:green:led1 ]; then
98 APULED="apu4:green:led";
99else if [ -e /sys/class/leds/apu5:green:led1 ]; then
100 APULED="apu5:green:led";
101else
102 APULED="apu:";
103fi
104fi
105fi
106fi
107fi
0db33402 108fi
dd12d8c5 109
d1cc6eaa
AF
110case "${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 200esac