From 3aaee1ba023ac40f329821ca3d2fb6b17a7532a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 11 Dec 2014 20:31:07 +0000 Subject: [PATCH] bcm53xx: failsafe support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki SVN-Revision: 43639 --- target/linux/bcm53xx/base-files/etc/diag.sh | 40 +++++++++++++++++++ .../lib/preinit/05_set_preinit_iface_bcm53xx | 7 ++++ 2 files changed, 47 insertions(+) create mode 100644 target/linux/bcm53xx/base-files/etc/diag.sh create mode 100644 target/linux/bcm53xx/base-files/lib/preinit/05_set_preinit_iface_bcm53xx diff --git a/target/linux/bcm53xx/base-files/etc/diag.sh b/target/linux/bcm53xx/base-files/etc/diag.sh new file mode 100644 index 0000000000..05ac9e8374 --- /dev/null +++ b/target/linux/bcm53xx/base-files/etc/diag.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# Copyright (C) 2014 OpenWrt.org + +. /lib/functions/leds.sh + +get_status_led() { + local status_led_file + + # There may be more than one color of power LED, try to avoid amber/red + status_led_file=$(find /sys/class/leds/ -name "*:power" -a ! -name "*:amber:*" -a ! -name "*:red:*" | head -n1) + if [ -d "$status_led_file" ]; then + status_led=$(basename $status_led_file) + return + fi; + + # Now just pick any power LED + status_led_file=$(find /sys/class/leds/ -name "*:power:*" | head -n1) + if [ -d "$status_led_file" ]; then + status_led=$(basename $status_led_file) + return + fi; +} + +set_state() { + get_status_led + + [ -z "$status_led" ] && return + + case "$1" in + preinit) + status_led_blink_preinit + ;; + failsafe) + status_led_blink_failsafe + ;; + done) + status_led_on + ;; + esac +} diff --git a/target/linux/bcm53xx/base-files/lib/preinit/05_set_preinit_iface_bcm53xx b/target/linux/bcm53xx/base-files/lib/preinit/05_set_preinit_iface_bcm53xx new file mode 100644 index 0000000000..0539b82d3b --- /dev/null +++ b/target/linux/bcm53xx/base-files/lib/preinit/05_set_preinit_iface_bcm53xx @@ -0,0 +1,7 @@ +#!/bin/sh + +set_preinit_iface() { + ifname=eth0 +} + +boot_hook_add preinit_main set_preinit_iface