openwrtv3/target/linux/orion/base-files/etc/hotplug.d/usb/10-usb
Mathias Kresin e4e984f2a0 treewide: use only board_name function to get name
Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree
compatible string directly. Always use the board_name function to get
the board name.

The admswconfig package still reads /proc/cpuinfo directly. The code
looks somehow broken and the whole adm5120 which uses this package
looks unmaintained. Leave it as it is for now.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00

54 lines
1,007 B
Bash

#!/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() {
. /lib/functions.sh
case "$(board_name)" 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