summaryrefslogtreecommitdiff
path: root/target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh')
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh b/target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh
new file mode 100755
index 0000000..0bf749c
--- /dev/null
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/dsl/led_dsl.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+[ "$DSL_NOTIFICATION_TYPE" = "DSL_INTERFACE_STATUS" ] || exit 0
+
+. /lib/functions.sh
+. /lib/functions/leds.sh
+
+led_dsl_up() {
+ case "$(config_get led_dsl trigger)" in
+ "netdev")
+ led_set_attr $1 "trigger" "netdev"
+ led_set_attr $1 "device_name" "$(config_get led_dsl dev)"
+ led_set_attr $1 "mode" "$(config_get led_dsl mode)"
+ ;;
+ *)
+ led_on $1
+ ;;
+ esac
+}
+
+config_load system
+config_get led led_dsl sysfs
+if [ -n "$led" ]; then
+ case "$DSL_INTERFACE_STATUS" in
+ "HANDSHAKE") led_timer $led 500 500;;
+ "TRAINING") led_timer $led 200 200;;
+ "UP") led_dsl_up $led;;
+ *) led_off $led
+ esac
+fi