]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/leds
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next
[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 # Geos LED start
69 setup_heartbeat_trigger geos:1
70 setup_netdev_trigger geos:2 ${RED_DEV} rx
71 setup_netdev_trigger geos:3 ${RED_DEV} tx
72
73 # Dreamplug
74 setup_netdev_trigger dreamplug:green:wlan ${GREEN_DEV} tx rx
75 setup_netdev_trigger dreamplug:blue:wlanap ${BLUE_DEV} tx rx
76 setup_netdev_trigger dreamplug:blue:bluetooth ${RED_DEV} tx rx
77
78 # Iomega iConnect start
79 setup_heartbeat_trigger iconnect:blue:otb
80 setup_netdev_trigger iconnect:blue:power ${RED_DEV} rx
81 setup_netdev_trigger iconnect:red:power ${RED_DEV} tx
82 setup_netdev_trigger iconnect:blue:usb_2 ${GREEN_DEV} tx rx
83 setup_netdev_trigger iconnect:blue:usb_3 ${BLUE_DEV} tx rx
84 setup_netdev_trigger iconnect:blue:usb_4 ${ORANGE_DEV} tx rx
85
86 # ICY Box LED start
87 setup_netdev_trigger nas6210:red:power ${RED_DEV} tx rx
88 setup_netdev_trigger nas6210:red:usb_copy ${GREEN_DEV} tx rx
89
90 exit 0
91 ;;
92
93 stop)
94 # Alix LED stop
95 disable_led_trigger alix:1
96 enable_led alix:1
97 disable_led_trigger alix:2
98 disable_led_trigger alix:3
99
100 # Geos LED stop
101 disable_led_trigger geos:1
102 enable_led geos:1
103 disable_led_trigger geos:2
104 disable_led_trigger geos:3
105
106 # Dreamplug
107 disable_led_trigger dreamplug:green:wlan
108 disable_led_trigger dreamplug:blue:wlanap
109 disable_led_trigger dreamplug:blue:bluetooth
110
111 # Iomega iConnect stop (heartbeat will leave on)
112 disable_led_trigger iconnect:blue:power
113 disable_led_trigger iconnect:red:power
114 disable_led_trigger iconnect:blue:usb_2
115 disable_led_trigger iconnect:blue:usb_3
116 disable_led_trigger iconnect:blue:usb_4
117
118 # ICY Box LED stop
119 disable_led_trigger nas6210:red:power
120 disable_led_trigger nas6210:red:usb_copy
121
122 exit 0
123 ;;
124
125 *)
126 echo "Usage: ${0} {start|stop}"
127 exit 1
128 ;;
129 esac
130
131 # End $rc_base/init.d/leds