summaryrefslogtreecommitdiffstats
path: root/target/linux/orion/base-files/etc/hotplug.d/usb/10-usb
blob: 5572daede19e611450ca09ab026fbf468ae3f531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh
#
# Copyright (C) 2009-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

usb_led=''
usb_device=''

led_set_attr() {
	[ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
}

usb_led_set_timer() {
	led_set_attr "${usb_led}" 'trigger' 'timer'
	led_set_attr "${usb_led}" 'delay_on' "$1"
	led_set_attr "${usb_led}" 'delay_off' "$2"
}

usb_led_on() {
	led_set_attr "${usb_led}" 'trigger' 'none'
	led_set_attr "${usb_led}" 'brightness' 255
}

usb_led_off() {
	led_set_attr "${usb_led}" 'trigger' 'none'
	led_set_attr "${usb_led}" 'brightness' 0
}

get_usb_led() {
	local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`

	case "${hardware}" in
	 'Linksys WRT350N v2')
		usb_led='wrt350nv2:green:usb'
		usb_device='1-1:1.0'
		;;
	esac;
}

get_usb_led

case "${ACTION}" in
 add)
	# update LEDs
	[ "${usb_device}" = "${DEVICENAME}" ] && usb_led_on
	;;
 remove)
	# update LEDs
	[ "${usb_device}" = "${DEVICENAME}" ] && usb_led_off
	;;
esac