diff mbox

[OpenWrt-Devel] add "preinit_regular" diag.sh set_state argument

Message ID 1418594444-3209-1-git-send-email-zajec5@gmail.com
State Accepted
Headers show

Commit Message

Rafał Miłecki Dec. 14, 2014, 10 p.m. UTC
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 package/base-files/files/lib/functions/leds.sh                   | 4 ++++
 package/base-files/files/lib/preinit/10_indicate_preinit         | 6 +-----
 package/base-files/files/lib/preinit/50_indicate_regular_preinit | 2 +-
 target/linux/adm5120/base-files/etc/diag.sh                      | 3 +++
 target/linux/ar7/base-files/etc/diag.sh                          | 3 +++
 target/linux/ar71xx/base-files/etc/diag.sh                       | 3 +++
 target/linux/avr32/base-files/etc/diag.sh                        | 4 ++++
 target/linux/bcm53xx/base-files/etc/diag.sh                      | 3 +++
 target/linux/brcm47xx/base-files/etc/diag.sh                     | 3 +++
 target/linux/brcm63xx/base-files/etc/diag.sh                     | 3 +++
 target/linux/cns21xx/base-files/etc/diag.sh                      | 3 +++
 target/linux/kirkwood/base-files/etc/diag.sh                     | 3 +++
 target/linux/mpc85xx/base-files/etc/diag.sh                      | 4 ++++
 target/linux/mvebu/base-files/etc/diag.sh                        | 3 +++
 target/linux/mxs/base-files/etc/diag.sh                          | 3 +++
 target/linux/oxnas/base-files/etc/diag.sh                        | 3 +++
 target/linux/ramips/base-files/etc/diag.sh                       | 3 +++
 17 files changed, 50 insertions(+), 6 deletions(-)

Comments

Rafał Miłecki Dec. 15, 2014, 11:15 a.m. UTC | #1
On 14 December 2014 at 23:00, Rafał Miłecki <zajec5@gmail.com> wrote:
> This new argument is used right after starting regular preinit (which
> happens if failsafe wasn't triggered). The main purpose of "preinit"
> argument is to indicate that failsafe can be triggered, however we were
> missing a way to inform user that we don't wait for a trigger anymore.
> With this change it's clear when failsafe mode can be triggered.

https://dev.openwrt.org/changeset/43715

Thanks John!
John Crispin Dec. 15, 2014, 11:33 a.m. UTC | #2
On 15/12/2014 12:15, Rafał Miłecki wrote:
> On 14 December 2014 at 23:00, Rafał Miłecki <zajec5@gmail.com> wrote:
>> This new argument is used right after starting regular preinit (which
>> happens if failsafe wasn't triggered). The main purpose of "preinit"
>> argument is to indicate that failsafe can be triggered, however we were
>> missing a way to inform user that we don't wait for a trigger anymore.
>> With this change it's clear when failsafe mode can be triggered.
> 
> https://dev.openwrt.org/changeset/43715
> 
> Thanks John!

patchwork will start sending out status change mails in the next couple
of days. these will go to the submitter and to a new ML

	John
Hannu Nyman Dec. 15, 2014, 6:05 p.m. UTC | #3
Now that there is a recognisable change in the LED blinking rate, would it be 
also ok to lengthen the "failsafe waiting time" from 2 seconds to something 
longer? That short time, defined in /etc/preinit, has always been one of the 
headaches in entering the failsafe mode. I have lengthened it to 4 seconds in 
my own build, so that the user has a slightly longer window to react.

2 seconds has been originally defined by r17470 in 2009 and maintained in the 
preinit reorganisation by r19331 in 2010.

Waiting timeout is defined here on line 19 of /etc/preinit:
https://dev.openwrt.org/browser/trunk/package/base-files/files/etc/preinit#L19
fs_failsafe_wait_timeout=2

and it is used on line 90 of 30_failsafe_wait
https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/preinit/30_failsafe_wait#L90
diff mbox

Patch

diff --git a/package/base-files/files/lib/functions/leds.sh b/package/base-files/files/lib/functions/leds.sh
index 743c7da..4ac8145 100644
--- a/package/base-files/files/lib/functions/leds.sh
+++ b/package/base-files/files/lib/functions/leds.sh
@@ -66,3 +66,7 @@  status_led_blink_preinit() {
 status_led_blink_failsafe() {
 	led_timer $status_led 50 50
 }
+
+status_led_blink_preinit_regular() {
+	led_timer $status_led 500 500
+}
diff --git a/package/base-files/files/lib/preinit/10_indicate_preinit b/package/base-files/files/lib/preinit/10_indicate_preinit
index 9009116..8e94df9 100644
--- a/package/base-files/files/lib/preinit/10_indicate_preinit
+++ b/package/base-files/files/lib/preinit/10_indicate_preinit
@@ -36,13 +36,9 @@  preinit_echo() {
 	echo $1
 }
 
-pi_indicate_led() {
-	set_state preinit
-}
-
 pi_indicate_preinit() {
 	preinit_net_echo "Doing OpenWrt Preinit\n"
-	pi_indicate_led
+	set_state preinit
 }
 
 boot_hook_add preinit_main preinit_ip
diff --git a/package/base-files/files/lib/preinit/50_indicate_regular_preinit b/package/base-files/files/lib/preinit/50_indicate_regular_preinit
index bc223b3..5b7523f 100644
--- a/package/base-files/files/lib/preinit/50_indicate_regular_preinit
+++ b/package/base-files/files/lib/preinit/50_indicate_regular_preinit
@@ -4,7 +4,7 @@ 
 
 indicate_regular_preinit() {
 	preinit_net_echo "Continuing with Regular Preinit\n"
-	pi_indicate_led
+	set_state preinit_regular
 }
 
 boot_hook_add preinit_main indicate_regular_preinit
diff --git a/target/linux/adm5120/base-files/etc/diag.sh b/target/linux/adm5120/base-files/etc/diag.sh
index f1317c5..08952bd 100755
--- a/target/linux/adm5120/base-files/etc/diag.sh
+++ b/target/linux/adm5120/base-files/etc/diag.sh
@@ -12,6 +12,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh
index 37eed6a..f6548e8 100644
--- a/target/linux/ar7/base-files/etc/diag.sh
+++ b/target/linux/ar7/base-files/etc/diag.sh
@@ -29,6 +29,9 @@  set_state() {
 	failsafe)
 		status_led_set_timer 50 50
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		[ "$status_led" = "status" ] && {
 			status_led_set_heartbeat
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index c022013..63e1ca6 100755
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -305,6 +305,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		case $(ar71xx_board_name) in
diff --git a/target/linux/avr32/base-files/etc/diag.sh b/target/linux/avr32/base-files/etc/diag.sh
index f7604ae..38cd189 100755
--- a/target/linux/avr32/base-files/etc/diag.sh
+++ b/target/linux/avr32/base-files/etc/diag.sh
@@ -15,6 +15,10 @@  set_state() {
 		status_led_blink_failsafe
 		;;
 
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
+
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/bcm53xx/base-files/etc/diag.sh b/target/linux/bcm53xx/base-files/etc/diag.sh
index 05ac9e8..0a8c5fb 100644
--- a/target/linux/bcm53xx/base-files/etc/diag.sh
+++ b/target/linux/bcm53xx/base-files/etc/diag.sh
@@ -33,6 +33,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/brcm47xx/base-files/etc/diag.sh b/target/linux/brcm47xx/base-files/etc/diag.sh
index 539af36..67453e6 100644
--- a/target/linux/brcm47xx/base-files/etc/diag.sh
+++ b/target/linux/brcm47xx/base-files/etc/diag.sh
@@ -31,6 +31,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/brcm63xx/base-files/etc/diag.sh b/target/linux/brcm63xx/base-files/etc/diag.sh
index bbf5c0b..f6a65d1 100755
--- a/target/linux/brcm63xx/base-files/etc/diag.sh
+++ b/target/linux/brcm63xx/base-files/etc/diag.sh
@@ -12,6 +12,9 @@  set_state() {
 	failsafe)
 		status_led_set_timer 50 50
 		;;
+	preinit_regular)
+		status_led_set_timer 500 500
+		;;
 	done)
 		if [ "${status_led/power}" != "$status_led" ]; then
 			status_led_on
diff --git a/target/linux/cns21xx/base-files/etc/diag.sh b/target/linux/cns21xx/base-files/etc/diag.sh
index 292ddb7..d61f467 100755
--- a/target/linux/cns21xx/base-files/etc/diag.sh
+++ b/target/linux/cns21xx/base-files/etc/diag.sh
@@ -22,6 +22,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/kirkwood/base-files/etc/diag.sh b/target/linux/kirkwood/base-files/etc/diag.sh
index bd6bd98..b2bb583 100755
--- a/target/linux/kirkwood/base-files/etc/diag.sh
+++ b/target/linux/kirkwood/base-files/etc/diag.sh
@@ -22,6 +22,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/mpc85xx/base-files/etc/diag.sh b/target/linux/mpc85xx/base-files/etc/diag.sh
index 123a90d..1107763 100755
--- a/target/linux/mpc85xx/base-files/etc/diag.sh
+++ b/target/linux/mpc85xx/base-files/etc/diag.sh
@@ -24,6 +24,10 @@  set_state() {
 		status_led_blink_failsafe
 		;;
 
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
+
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/mvebu/base-files/etc/diag.sh b/target/linux/mvebu/base-files/etc/diag.sh
index 07570b9..adba975 100755
--- a/target/linux/mvebu/base-files/etc/diag.sh
+++ b/target/linux/mvebu/base-files/etc/diag.sh
@@ -22,6 +22,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/mxs/base-files/etc/diag.sh b/target/linux/mxs/base-files/etc/diag.sh
index 683e123..11b1f75 100644
--- a/target/linux/mxs/base-files/etc/diag.sh
+++ b/target/linux/mxs/base-files/etc/diag.sh
@@ -28,6 +28,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/oxnas/base-files/etc/diag.sh b/target/linux/oxnas/base-files/etc/diag.sh
index ba42218..5370696 100755
--- a/target/linux/oxnas/base-files/etc/diag.sh
+++ b/target/linux/oxnas/base-files/etc/diag.sh
@@ -28,6 +28,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index f50ae1f..1af64b2 100755
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -227,6 +227,9 @@  set_state() {
 	failsafe)
 		status_led_blink_failsafe
 		;;
+	preinit_regular)
+		status_led_blink_preinit_regular
+		;;
 	done)
 		status_led_on
 		;;