选好了 wifi ssid,填了密码,生成新配置文件,重启了wpa_supplicant,怎么知道输入的密码对不对,如果不对有什么体现?
wpa_supplicant 前台运行时,打印信息中会有:
WPA: 4-Way Handshake failed - pre-shared key may be incorrect
因此启动 wpa_supplicant 时加上 -f 参数将打印输出为 log 文件,再从 log 文件中轮询 grep 字符串 4-Way Handshake failed。
wpa_supplicant 默认编译不支持 -f 参数,需要修改源代码目录下 .config 文件,把下面这一行放开注释:
CONFIG_DEBUG_FILE=y
StackExchange - SuperUser 有一个类似的方案:
https://superuser.com/questions/903464/wpa-supplicant-detecting-that-my-password-is-incorrect/903893
#!/bin/bash
function poke {
while true
do
printf '\n'
sleep 1
done
}
function watch {
(poke) | wpa_cli | while read line
do
case "$line" in
*'4-Way Handshake failed'*)
echo "incorrect key"
return
;;
*'CTRL-EVENT-CONNECTED'*)
echo "connected"
return
;;
esac
done
}
wpa_cli disable_network 0 > /dev/null
wpa_cli enable_network 0 > /dev/null
watch
手机扫一扫
移动阅读更方便
你可能感兴趣的文章