[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:54:29 EDT 2015


As a clarification to the previous patch, when I refer to "[the] above
change", I wrote the text from the point of view of the following Trac
pages:

https://dev.openwrt.org/ticket/14136
https://dev.openwrt.org/ticket/15282

and was referring to the solution presented on those tickets and
claiming them as incomplete and my patch as resolving the issue.

Best regards,

-Janne Cederberg

2015-03-11 20:48 GMT+02:00 Janne Cederberg <janne.cederberg at gmail.com>:
> 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