Openwrt 4.1内核对WPS支持

Openwrt 4.1内核对WPS支持

处理逻辑
点击按键触发gpio -> 内核捕获信号gpio_button_hotplug -> 选择执行逻辑 /etc/hotplug.json -> 执行shell脚本 /etc/rc.button/wps

/etc/rc.button/wps

#!/bin/sh

if [ "$ACTION" = "pressed" -a "$BUTTON" = "wps" ]; then
    cd /var/run/hostapd
    for socket in *; do
        [ -S "$socket" ] || continue
        hostapd_cli -i "$socket" wps_pbc
    done
fi

return 0

内核代码添加
修改mach-ap143.c文件,通过ath79_register_gpio_keys_polled 实现对按键轮询。

static struct gpio_keys_button ap143_gpio_keys[] __initdata = {
    {
        .desc       = "WPS button",
        .type       = EV_KEY,
        .code       = KEY_WPS_BUTTON,
        .debounce_interval = AP143_KEYS_DEBOUNCE_INTERVAL,
        .gpio       = AP143_GPIO_BTN_WPS,
        .active_low = 1,
    },
}
......
    ath79_register_gpio_keys_polled(-1, AP143_KEYS_POLL_INTERVAL,
            ARRAY_SIZE(ap143_gpio_keys),
            ap143_gpio_keys);

测试
通过电脑连接具有WPS功能的热点,然后点击路由器上的按钮,等一会就可以连接成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值