]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/initscripts/system/leds
leds: use new APUx ACPI Bios leds if exist.
[people/pmueller/ipfire-2.x.git] / src / initscripts / system / leds
CommitLineData
d81baab2
MT
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
56885462
AF
12if [ -e /etc/init.d/leds.user ]; then
13 /etc/init.d/leds.user $*
d1cc6eaa
AF
14 exit ${?}
15fi
16
d81baab2
MT
17# Load ethernet settings
18eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
19
0e37b552
MT
20case "${RED_TYPE}" in
21 PPPOE)
22 RED_DEV="ppp0"
23 ;;
24esac
d81baab2 25
d1cc6eaa
AF
26# setup_netdev_trigger LED DEVICE MODE
27setup_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 echo "$3 $4" > /sys/class/leds/$1/mode
34 fi
35}
d81baab2 36
d1cc6eaa
AF
37# setup_netdev_trigger LED
38setup_heartbeat_trigger ()
39{
40 if [ -d "/sys/class/leds/$1" ]; then
41 modprobe -q ledtrig-heartbeat 2>&1 > /dev/null
42 echo "heartbeat" > /sys/class/leds/$1/trigger
43 fi
d81baab2
MT
44}
45
d1cc6eaa
AF
46# disable_led_trigger LED
47disable_led_trigger ()
48{
49 if [ -d "/sys/class/leds/$1" ]; then
50 echo "none" > /sys/class/leds/$1/trigger
51 echo "0" > /sys/class/leds/$1/brightness
52 fi
d81baab2
MT
53}
54
d10a7de1
AF
55# enable LED
56enable_led ()
57{
58 if [ -d "/sys/class/leds/$1" ]; then
59 echo "1" > /sys/class/leds/$1/brightness
60 fi
61}
62
dd12d8c5
AF
63#Handle new APU ACPI Leds introduced on APU2 with bios 4.10.0.0
64if [ -e /sys/class/leds/apu1:green:led1 ]; then
65 APULED="apu1:green:led";
66else if [ -e /sys/class/leds/apu2:green:led1 ]; then
67 APULED="apu2:green:led";
68else if [ -e /sys/class/leds/apu3:green:led1 ]; then
69 APULED="apu3:green:led";
70else if [ -e /sys/class/leds/apu4:green:led1 ]; then
71 APULED="apu4:green:led";
72else if [ -e /sys/class/leds/apu5:green:led1 ]; then
73 APULED="apu5:green:led";
74else
75 APULED="apu:";
76fi
77fi
78fi
79fi
80fi
81
d1cc6eaa
AF
82case "${1}" in
83 start)
84 # Alix LED start
670d5144 85 setup_heartbeat_trigger alix:1
d1cc6eaa
AF
86 setup_netdev_trigger alix:2 ${RED_DEV} rx
87 setup_netdev_trigger alix:3 ${RED_DEV} tx
d81baab2 88
fff24766 89 # Apu LED start
dd12d8c5
AF
90 setup_heartbeat_trigger ${APULED}1
91 setup_netdev_trigger ${APULED}2 ${RED_DEV} rx
92 setup_netdev_trigger ${APULED}3 ${RED_DEV} tx
fff24766 93
d10a7de1
AF
94 # Geos LED start
95 setup_heartbeat_trigger geos:1
96 setup_netdev_trigger geos:2 ${RED_DEV} rx
97 setup_netdev_trigger geos:3 ${RED_DEV} tx
98
d1cc6eaa 99 # Dreamplug
2b97294c 100 setup_netdev_trigger dreamplug:green:wifi ${GREEN_DEV} tx rx
6077d538 101 setup_netdev_trigger dreamplug:green:wifi_ap ${BLUE_DEV} tx rx
d1cc6eaa 102 setup_netdev_trigger dreamplug:blue:bluetooth ${RED_DEV} tx rx
d81baab2 103
d1cc6eaa
AF
104 # Iomega iConnect start
105 setup_heartbeat_trigger iconnect:blue:otb
106 setup_netdev_trigger iconnect:blue:power ${RED_DEV} rx
107 setup_netdev_trigger iconnect:red:power ${RED_DEV} tx
108 setup_netdev_trigger iconnect:blue:usb_2 ${GREEN_DEV} tx rx
109 setup_netdev_trigger iconnect:blue:usb_3 ${BLUE_DEV} tx rx
110 setup_netdev_trigger iconnect:blue:usb_4 ${ORANGE_DEV} tx rx
d81baab2 111
d1cc6eaa
AF
112 # ICY Box LED start
113 setup_netdev_trigger nas6210:red:power ${RED_DEV} tx rx
114 setup_netdev_trigger nas6210:red:usb_copy ${GREEN_DEV} tx rx
115
d595016b
AF
116 # Mirabox start
117 setup_heartbeat_trigger mirabox:green:pwr
118 setup_netdev_trigger mirabox:green:stat ${GREEN_DEV} tx rx
119 setup_netdev_trigger mirabox:blue:stat ${BLUE_DEV} tx rx
120
ca75ec52
AF
121 # Nanopi R1 start
122 setup_heartbeat_trigger nanopi-r1:red:status
123 setup_netdev_trigger nanopi-r1:green:wan ${RED_DEV} tx rx
124 setup_netdev_trigger nanopi-r1:green:lan ${GREEN_DEV} tx rx
125
d1cc6eaa
AF
126 exit 0
127 ;;
128
129 stop)
130 # Alix LED stop
670d5144 131 disable_led_trigger alix:1
d10a7de1 132 enable_led alix:1
d1cc6eaa
AF
133 disable_led_trigger alix:2
134 disable_led_trigger alix:3
135
fff24766 136 # Apu LED stop
dd12d8c5
AF
137 disable_led_trigger ${APULED}1
138 enable_led ${APULED}1
139 disable_led_trigger ${APULED}2
140 disable_led_trigger ${APULED}3
fff24766 141
d10a7de1
AF
142 # Geos LED stop
143 disable_led_trigger geos:1
144 enable_led geos:1
145 disable_led_trigger geos:2
146 disable_led_trigger geos:3
147
d1cc6eaa 148 # Dreamplug
2b97294c 149 disable_led_trigger dreamplug:green:wifi
6077d538 150 disable_led_trigger dreamplug:green:wifi_ap
d1cc6eaa
AF
151 disable_led_trigger dreamplug:blue:bluetooth
152
153 # Iomega iConnect stop (heartbeat will leave on)
154 disable_led_trigger iconnect:blue:power
155 disable_led_trigger iconnect:red:power
156 disable_led_trigger iconnect:blue:usb_2
157 disable_led_trigger iconnect:blue:usb_3
158 disable_led_trigger iconnect:blue:usb_4
159
160 # ICY Box LED stop
161 disable_led_trigger nas6210:red:power
162 disable_led_trigger nas6210:red:usb_copy
d81baab2 163
d595016b
AF
164 # Mirabox stop
165 disable_led_trigger mirabox:green:pwr
166 enable_led mirabox:green:pwr
167 disable_led_trigger mirabox:green:stat
168 disable_led_trigger mirabox:blue:stat
169
ca75ec52
AF
170 # Nanopi R1 stop
171 disable_led_trigger nanopi-r1:red:status
172 enable_led nanopi-r1:red:status
173 disable_led_trigger nanopi-r1:green:wan
174 disable_led_trigger nanopi-r1:green:lan
175
cbaab6dc 176 exit 0
d1cc6eaa 177 ;;
d81baab2
MT
178
179 *)
180 echo "Usage: ${0} {start|stop}"
181 exit 1
d1cc6eaa 182 ;;
d81baab2
MT
183esac
184
185# End $rc_base/init.d/leds