]>
Commit | Line | Data |
---|---|---|
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 | case "${RED_TYPE}" in | |
21 | PPPOE) | |
22 | RED_DEV="ppp0" | |
23 | ;; | |
24 | esac | |
25 | ||
26 | # setup_netdev_trigger LED DEVICE MODE | |
27 | setup_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 | } | |
36 | ||
37 | # setup_netdev_trigger LED | |
38 | setup_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 | |
44 | } | |
45 | ||
46 | # disable_led_trigger LED | |
47 | disable_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 | |
53 | } | |
54 | ||
55 | # enable LED | |
56 | enable_led () | |
57 | { | |
58 | if [ -d "/sys/class/leds/$1" ]; then | |
59 | echo "1" > /sys/class/leds/$1/brightness | |
60 | fi | |
61 | } | |
62 | ||
63 | case "${1}" in | |
64 | start) | |
65 | # Alix LED start | |
66 | setup_heartbeat_trigger alix:1 | |
67 | setup_netdev_trigger alix:2 ${RED_DEV} rx | |
68 | setup_netdev_trigger alix:3 ${RED_DEV} tx | |
69 | ||
70 | # Apu LED start | |
71 | setup_heartbeat_trigger apu:1 | |
72 | setup_netdev_trigger apu:2 ${RED_DEV} rx | |
73 | setup_netdev_trigger apu:3 ${RED_DEV} tx | |
74 | ||
75 | # Geos LED start | |
76 | setup_heartbeat_trigger geos:1 | |
77 | setup_netdev_trigger geos:2 ${RED_DEV} rx | |
78 | setup_netdev_trigger geos:3 ${RED_DEV} tx | |
79 | ||
80 | # Dreamplug | |
81 | setup_netdev_trigger dreamplug:green:wifi ${GREEN_DEV} tx rx | |
82 | setup_netdev_trigger dreamplug:green:wifi_ap ${BLUE_DEV} tx rx | |
83 | setup_netdev_trigger dreamplug:blue:bluetooth ${RED_DEV} tx rx | |
84 | ||
85 | # Iomega iConnect start | |
86 | setup_heartbeat_trigger iconnect:blue:otb | |
87 | setup_netdev_trigger iconnect:blue:power ${RED_DEV} rx | |
88 | setup_netdev_trigger iconnect:red:power ${RED_DEV} tx | |
89 | setup_netdev_trigger iconnect:blue:usb_2 ${GREEN_DEV} tx rx | |
90 | setup_netdev_trigger iconnect:blue:usb_3 ${BLUE_DEV} tx rx | |
91 | setup_netdev_trigger iconnect:blue:usb_4 ${ORANGE_DEV} tx rx | |
92 | ||
93 | # ICY Box LED start | |
94 | setup_netdev_trigger nas6210:red:power ${RED_DEV} tx rx | |
95 | setup_netdev_trigger nas6210:red:usb_copy ${GREEN_DEV} tx rx | |
96 | ||
97 | # Mirabox start | |
98 | setup_heartbeat_trigger mirabox:green:pwr | |
99 | setup_netdev_trigger mirabox:green:stat ${GREEN_DEV} tx rx | |
100 | setup_netdev_trigger mirabox:blue:stat ${BLUE_DEV} tx rx | |
101 | ||
102 | exit 0 | |
103 | ;; | |
104 | ||
105 | stop) | |
106 | # Alix LED stop | |
107 | disable_led_trigger alix:1 | |
108 | enable_led alix:1 | |
109 | disable_led_trigger alix:2 | |
110 | disable_led_trigger alix:3 | |
111 | ||
112 | # Apu LED stop | |
113 | disable_led_trigger apu:1 | |
114 | enable_led apu:1 | |
115 | disable_led_trigger apu:2 | |
116 | disable_led_trigger apu:3 | |
117 | ||
118 | # Geos LED stop | |
119 | disable_led_trigger geos:1 | |
120 | enable_led geos:1 | |
121 | disable_led_trigger geos:2 | |
122 | disable_led_trigger geos:3 | |
123 | ||
124 | # Dreamplug | |
125 | disable_led_trigger dreamplug:green:wifi | |
126 | disable_led_trigger dreamplug:green:wifi_ap | |
127 | disable_led_trigger dreamplug:blue:bluetooth | |
128 | ||
129 | # Iomega iConnect stop (heartbeat will leave on) | |
130 | disable_led_trigger iconnect:blue:power | |
131 | disable_led_trigger iconnect:red:power | |
132 | disable_led_trigger iconnect:blue:usb_2 | |
133 | disable_led_trigger iconnect:blue:usb_3 | |
134 | disable_led_trigger iconnect:blue:usb_4 | |
135 | ||
136 | # ICY Box LED stop | |
137 | disable_led_trigger nas6210:red:power | |
138 | disable_led_trigger nas6210:red:usb_copy | |
139 | ||
140 | # Mirabox stop | |
141 | disable_led_trigger mirabox:green:pwr | |
142 | enable_led mirabox:green:pwr | |
143 | disable_led_trigger mirabox:green:stat | |
144 | disable_led_trigger mirabox:blue:stat | |
145 | ||
146 | exit 0 | |
147 | ;; | |
148 | ||
149 | *) | |
150 | echo "Usage: ${0} {start|stop}" | |
151 | exit 1 | |
152 | ;; | |
153 | esac | |
154 | ||
155 | # End $rc_base/init.d/leds |