无法将 wpa_supplicant 连接到 wifi。即使在扫描结果中列出,也未找到 SSID

无法将 wpa_supplicant 连接到 wifi。即使在扫描结果中列出,也未找到 SSID

我正在使用脚本将网络添加到我的网络wpa_supplicant.conf并重新加载wpa_supplicant以连接新网络。像这样的东西:

cat << EOF >> /etc/wpa_supplicant/wpa_supplicant.conf
network={
  ssid="$1"
  psk="$2"
}

EOF

wpa_cli reconfigure

然后我只需从脚本中复制 ssidwpa_cli scan_results并输入密码即可连接。该命令有时会无法连接。尽管它通常可以工作,但我还是CTRL-EVENT-NETWORK-NOT-FOUND提示wpa_cliSSID 中有拼写错误。

长话短说,这个案例是一个不可见的字符,它隐藏在 的控制台输出中wpa_cli scan_results,但该字符在那里,因此 SSID 不匹配。

那么无论如何,我的脚本获得正确 SSID 的最佳选择是什么它包含哪些疯狂的角色?输出可能如下所示:

network={
  ssid="Some Cool Network N@me "
  psk="evencoolerpassword"  # ^ this character is \x20
}

答案1

我可以使用该iw命令来解决这种情况,因为它会转义不可引用的字符,如下所示:

# iw dev wlp3s0 scan | grep SSID
SSID: Some Cool Network N@me\x20

然后我通过在正确的位置vim /etc/wpa_supplicant/wpa_supplicant.conf键入来添加不可见字符。<C-v>x20

相关内容