[OpenWrt-Devel] [PATCH] [ar71xx] Fix duplicate tickets 14136 and 15282 (Hornet UB GPIO WPS/Reset)

Janne Cederberg janne.cederberg at gmail.com
Wed Mar 11 14:48:16 EDT 2015


This problem has existed at least since Attitude Adjustment and
is also present in trunk. Basically on the Hornet-UB board the
functionality of RESET and WPS have "switched places".

There are two tickets about the issue at dev.openwrt.org,
The solution suggested on them both is incomplete though
and introduces the following proglem:

Patching as suggested on #14136/#15282 will result in a situation
where simply pressing the RESET button on the bottom will cause
FACTORY RESET to be run. This is due to GPIO high/low state being
incorrect as a result of the above change and virtually the RESET
button is in the pressed-down state the entire time. When it is
then physically pressed, that causes the opposite, release, to be
triggered and since to the board it seemed that the button was
pressed long before it was released, the FACTORY RESET results.

The attached patch works as expected. I have verified both the
incorrect functionality as well as after fixing the issue as
described in the patch and flashing the resulting firmware to a
Hornet-UB board.

Signed-off-by: Janne Cederberg <janne.cederberg at gmail.com>
---
 target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c
index 22b1e09..b36c511 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-hornet-ub.c
@@ -28,8 +28,8 @@
 #define HORNET_UB_GPIO_LED_WAN		17
 #define HORNET_UB_GPIO_LED_WPS		27
 
-#define HORNET_UB_GPIO_BTN_RESET	11
-#define HORNET_UB_GPIO_BTN_WPS		12
+#define HORNET_UB_GPIO_BTN_RESET	12
+#define HORNET_UB_GPIO_BTN_WPS		11
 
 #define HORNET_UB_GPIO_USB_POWER	26
 
@@ -64,7 +64,7 @@ static struct gpio_led hornet_ub_leds_gpio[] __initdata = {
 	{
 		.name		= "alfa:blue:wps",
 		.gpio		= HORNET_UB_GPIO_LED_WPS,
-		.active_low	= 1,
+		.active_low	= 0,
 	},
 };
 
@@ -75,7 +75,7 @@ static struct gpio_keys_button hornet_ub_gpio_keys[] __initdata = {
 		.code		= KEY_WPS_BUTTON,
 		.debounce_interval = HORNET_UB_KEYS_DEBOUNCE_INTERVAL,
 		.gpio		= HORNET_UB_GPIO_BTN_WPS,
-		.active_low	= 1,
+		.active_low	= 0,
 	},
 	{
 		.desc		= "Reset button",
@@ -83,7 +83,7 @@ static struct gpio_keys_button hornet_ub_gpio_keys[] __initdata = {
 		.code		= KEY_RESTART,
 		.debounce_interval = HORNET_UB_KEYS_DEBOUNCE_INTERVAL,
 		.gpio		= HORNET_UB_GPIO_BTN_RESET,
-		.active_low	= 0,
+		.active_low	= 1,
 	}
 };
 
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list