已成功初始化 wpa_supplicant 但我未连接,无法访问 wpa_cli

Del*_*ara 7 wpa-supplicant arch-linux iw

我正在尝试为我目前运行 ArchLinux2017.07.01 的笔记本电脑设置互联网,但我遇到了一个大问题,我似乎在网上的任何其他地方都看不到。请注意,我对 Arch 有点陌生,所以我可能会咬我的舌头。

在遵循维基教程的同时,我进入了这部分 https://wiki.archlinux.org/index.php/Wireless_network_configuration#Connect_to_an_access_point 现在由于我的加密是 WPA2,我使用了以下给定的命令

# wpa_supplicant -i interface -c <(wpa_passphrase "your_SSID" "your_key")
Run Code Online (Sandbox Code Playgroud)

输出是:

Successfully initialized wpa_supplicant
Run Code Online (Sandbox Code Playgroud)

但是,尝试时# iw dev interface link它说我没有连接?

更奇怪的是,在尝试通过 wpa_cli 关闭 wpa_supplicant 时,我收到以下错误,然后是无限加载(除非使用 CTRL+C 中止):

Could not connect to wpa_supplicant: (nil) - re-trying
Run Code Online (Sandbox Code Playgroud)

我的问题是:发生了什么,我能做些什么?如有必要,请随时询问有关我的笔记本电脑设置、软件等的任何信息。

这是我所知道的:

  • 我的网络控制器驱动程序已安装、管理并且能够扫描
  • ssid 和 pass 是 100% 正确的,我在其他设备上测试了相同的。

mar*_*eil 5

此处概述了推荐的wpa_cli连接方法。wpa_supplicant

问题是因为您的配置没有提供ctrl_interface用于wpa_cli交互的wpa_supplicant

你可以运行:

# wpa_supplicant -i interface -c <(wpa_passphrase "your_SSID" "your_key") -C /run/wpa_supplicant
Run Code Online (Sandbox Code Playgroud)

但是wpa_cli只能在root用户下工作。

更完整的方法是创建一个配置文件,如下所示:

ctrl_interface=/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1

network={
    ssid="your_SSID"
    psk="your_key"
}
Run Code Online (Sandbox Code Playgroud)

并运行:

# wpa_supplicant -i interface -c /etc/wpa_supplicant/example.conf
Run Code Online (Sandbox Code Playgroud)

这样,wheel组内的任何用户都可以访问wpa_cli

请务必阅读有关wpa_supplicant的 wiki