From: Álvaro Fernández Rojas Date: Wed, 3 Jul 2024 18:56:56 +0000 (+0200) Subject: bcm27xx: base-files: diag: improve LEDs behaviour X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=37636a8752ecdc0ab399c3f38979c6cfb5576bc6;p=openwrt%2Fstaging%2Fstintel.git bcm27xx: base-files: diag: improve LEDs behaviour As reported in https://github.com/openwrt/openwrt/issues/15834 using the PWR LED for indicating diag status is confusing since this is usually used for power supply failures on RPi devices. This commit uses ACT LED for diag status and restores it to mmc activity. Signed-off-by: Álvaro Fernández Rojas --- diff --git a/target/linux/bcm27xx/base-files/etc/diag.sh b/target/linux/bcm27xx/base-files/etc/diag.sh index 601448fbe3..c0c8e7f2cf 100644 --- a/target/linux/bcm27xx/base-files/etc/diag.sh +++ b/target/linux/bcm27xx/base-files/etc/diag.sh @@ -5,11 +5,23 @@ . /lib/functions.sh . /lib/functions/leds.sh +status_led_restore_trigger() { + local led_lc=$(echo "$status_led" | awk '{print tolower($0)}') + local led_path="/proc/device-tree/leds/led-$led_lc" + local led_trigger + + [ -d "$led_path" ] && \ + led_trigger=$(cat "$led_path/linux,default-trigger" 2>/dev/null) + + [ -n "$led_trigger" ] && \ + led_set_attr $status_led "trigger" "$led_trigger" +} + set_state() { - if [ -d "/sys/class/leds/PWR" ]; then - status_led="PWR" - else + if [ -d "/sys/class/leds/ACT" ]; then status_led="ACT" + else + return fi case "$1" in @@ -22,11 +34,11 @@ set_state() { preinit_regular) status_led_blink_preinit_regular ;; - upgrade) - status_led_blink_preinit_regular - ;; + upgrade) + status_led_blink_preinit_regular + ;; done) - status_led_on + status_led_restore_trigger ;; esac }