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 <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas 2024-07-03 20:56:56 +02:00
parent 4cc69a6542
commit 37636a8752

View File

@ -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
}