diff options
author | Martin Schiller <ms.3headeddevs@gmail.com> | 2019-08-21 09:06:54 +0200 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-07-17 12:14:32 +0200 |
commit | 4d8552c26527428e041a490a365b5cbd3495119e (patch) | |
tree | edde8db8bd1431979f33c6a2694b4de20d277470 /package/network/utils/ltq-dsl-base/files/etc | |
parent | 1de9cac2f993738bf6a7ff2261bb382549a7863b (diff) | |
download | upstream-4d8552c26527428e041a490a365b5cbd3495119e.tar.gz upstream-4d8552c26527428e041a490a365b5cbd3495119e.tar.bz2 upstream-4d8552c26527428e041a490a365b5cbd3495119e.zip |
lantiq: move dsl related base-files into own package
It does not make sense to install this components on lantiq systems
where the dsl subsystem is not needed/used.
This also makes it possible to use the files also on other targets.
(hopefully ipq401x / FritzBox 7530 in the near future)
Signed-off-by: Martin Schiller <ms.3headeddevs@gmail.com>
Diffstat (limited to 'package/network/utils/ltq-dsl-base/files/etc')
-rwxr-xr-x | package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/led_dsl.sh | 32 | ||||
-rwxr-xr-x | package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/pppoa.sh | 37 |
2 files changed, 69 insertions, 0 deletions
diff --git a/package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/led_dsl.sh b/package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/led_dsl.sh new file mode 100755 index 0000000000..dd8e84a1af --- /dev/null +++ b/package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/led_dsl.sh @@ -0,0 +1,32 @@ +#!/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)" + for m in $(config_get led_dsl mode); do + led_set_attr $1 "$m" "1" + done + ;; + *) + 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 diff --git a/package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/pppoa.sh b/package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/pppoa.sh new file mode 100755 index 0000000000..4506737672 --- /dev/null +++ b/package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/pppoa.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +[ "$DSL_NOTIFICATION_TYPE" = "DSL_INTERFACE_STATUS" ] || exit 0 + +. /usr/share/libubox/jshn.sh +. /lib/functions.sh + +include /lib/network +scan_interfaces + +interfaces=$(ubus list network.interface.\* | cut -d"." -f3) +for ifc in $interfaces; do + + json_load "$(ifstatus $ifc)" + + json_get_var proto proto + if [ "$proto" != "pppoa" ]; then + continue + fi + + json_get_var up up + config_get_bool auto "$ifc" auto 1 + if [ "$DSL_INTERFACE_STATUS" = "UP" ]; then + if [ "$up" != 1 ] && [ "$auto" = 1 ]; then + ( sleep 1; ifup "$ifc" ) & + fi + else + if [ "$up" = 1 ] && [ "$auto" = 1 ]; then + ( sleep 1; ifdown "$ifc" ) & + else + json_get_var autostart autostart + if [ "$up" != 1 ] && [ "$autostart" = 1 ]; then + ( sleep 1; ifdown "$ifc" ) & + fi + fi + fi +done |