]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/leds
initskripts: add pcengines apu support to leds.
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / 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 if [ "${RED_DEV}" == "" ]; then
21 RED_DEV=ppp0
22 fi
23
24 # setup_netdev_trigger LED DEVICE MODE
25 setup_netdev_trigger ()
26 {
27 if [ -d "/sys/class/leds/$1" ]; then
28 modprobe -q ledtrig-netdev 2>&1 > /dev/null
29 echo "netdev" > /sys/class/leds/$1/trigger
30 echo "$2" > /sys/class/leds/$1/device_name
31 echo "$3 $4" > /sys/class/leds/$1/mode
32 fi
33 }
34
35 # setup_netdev_trigger LED
36 setup_heartbeat_trigger ()
37 {
38 if [ -d "/sys/class/leds/$1" ]; then
39 modprobe -q ledtrig-heartbeat 2>&1 > /dev/null
40 echo "heartbeat" > /sys/class/leds/$1/trigger
41 fi
42 }
43
44 # disable_led_trigger LED
45 disable_led_trigger ()
46 {
47 if [ -d "/sys/class/leds/$1" ]; then
48 echo "none" > /sys/class/leds/$1/trigger
49 echo "0" > /sys/class/leds/$1/brightness
50 fi
51 }
52
53 # enable LED
54 enable_led ()
55 {
56 if [ -d "/sys/class/leds/$1" ]; then
57 echo "1" > /sys/class/leds/$1/brightness
58 fi
59 }
60
61 case "${1}" in
62 start)
63 # Alix LED start
64 setup_heartbeat_trigger alix:1
65 setup_netdev_trigger alix:2 ${RED_DEV} rx
66 setup_netdev_trigger alix:3 ${RED_DEV} tx
67
68 # Apu LED start
69 setup_heartbeat_trigger apu:1
70 setup_netdev_trigger apu:2 ${RED_DEV} rx
71 setup_netdev_trigger apu:3 ${RED_DEV} tx
72
73 # Geos LED start
74 setup_heartbeat_trigger geos:1
75 setup_netdev_trigger geos:2 ${RED_DEV} rx
76 setup_netdev_trigger geos:3 ${RED_DEV} tx
77
78 # Dreamplug
79 setup_netdev_trigger dreamplug:green:wlan ${GREEN_DEV} tx rx
80 setup_netdev_trigger dreamplug:blue:wlanap ${BLUE_DEV} tx rx
81 setup_netdev_trigger dreamplug:blue:bluetooth ${RED_DEV} tx rx
82
83 # Iomega iConnect start
84 setup_heartbeat_trigger iconnect:blue:otb
85 setup_netdev_trigger iconnect:blue:power ${RED_DEV} rx
86 setup_netdev_trigger iconnect:red:power ${RED_DEV} tx
87 setup_netdev_trigger iconnect:blue:usb_2 ${GREEN_DEV} tx rx
88 setup_netdev_trigger iconnect:blue:usb_3 ${BLUE_DEV} tx rx
89 setup_netdev_trigger iconnect:blue:usb_4 ${ORANGE_DEV} tx rx
90
91 # ICY Box LED start
92 setup_netdev_trigger nas6210:red:power ${RED_DEV} tx rx
93 setup_netdev_trigger nas6210:red:usb_copy ${GREEN_DEV} tx rx
94
95 exit 0
96 ;;
97
98 stop)
99 # Alix LED stop
100 disable_led_trigger alix:1
101 enable_led alix:1
102 disable_led_trigger alix:2
103 disable_led_trigger alix:3
104
105 # Apu LED stop
106 disable_led_trigger apu:1
107 enable_led apu:1
108 disable_led_trigger apu:2
109 disable_led_trigger apu:3
110
111 # Geos LED stop
112 disable_led_trigger geos:1
113 enable_led geos:1
114 disable_led_trigger geos:2
115 disable_led_trigger geos:3
116
117 # Dreamplug
118 disable_led_trigger dreamplug:green:wlan
119 disable_led_trigger dreamplug:blue:wlanap
120 disable_led_trigger dreamplug:blue:bluetooth
121
122 # Iomega iConnect stop (heartbeat will leave on)
123 disable_led_trigger iconnect:blue:power
124 disable_led_trigger iconnect:red:power
125 disable_led_trigger iconnect:blue:usb_2
126 disable_led_trigger iconnect:blue:usb_3
127 disable_led_trigger iconnect:blue:usb_4
128
129 # ICY Box LED stop
130 disable_led_trigger nas6210:red:power
131 disable_led_trigger nas6210:red:usb_copy
132
133 exit 0
134 ;;
135
136 *)
137 echo "Usage: ${0} {start|stop}"
138 exit 1
139 ;;
140 esac
141
142 # End $rc_base/init.d/leds