“wpa 请求者:未找到当前 AP 的网络配置” - carl9170 驱动的 wifi 适配器在 Debian 7 上出现故障

“wpa 请求者:未找到当前 AP 的网络配置” - carl9170 驱动的 wifi 适配器在 Debian 7 上出现故障

我有一台带有 Linux3.2 内核的 D​​ebian 7 机器和一个带有 Atheros 芯片组 (D-Link DWA-16 Xtreme N Dual Band) 的 USB wifi 适配器,理论上来说应该管用

事实上,我设法与 NetworkManager 建立了 wifi 通信,并且它或多或少工作正常大约 30 分钟,但随后断开连接并且无法重新建立连接。

我无法重新建立与 NetworkManager 的连接,它成功关联并进行身份验证,开始 4 向握手,但随后由于以下原因取消身份验证原因15(4次握手超时)

然后我尝试通过旧方法ifupdown通过在以下位置创建一个条目来执行相同的操作/etc/network/interfaces

allow-hotplug wlan1
iface wlan1 inet static
       wpa-ssid MyNet
       wpa-psk <My key hash generated by `wpa_passphrase MyNet key`>
       address 192.168.1.2
       netmask 255.255.255.0
       broadcast 192.168.1.255
       gateway 192.168.1.1
       dns-nameservers a.b.c.d

当我 时sudo ifup wlan1,它表现得合理,直到:

wpa_supplicant[8258]: wlan1: Associated with <router's MAC>
wpa_supplicant[3402]: wlan1: No network configuration found for the current AP

(从 /var/log/syslog)。Wireshark看到 ARP 包从我的 wifi 适配器发送到路由器,但路由器没有回复。

您对这意味着什么以及如何解决此问题有任何想法吗?

解决方案: 感谢 peterph 的建议,我尝试在前台和后台创建wpa_supplicant.confwpa_supplicant作为独立程序运行,然后wpa-conf wpa_supplicant.conf/etc/network/interfaces.

sudo wpa_supplicant -iwlan1 -c/etc/wpa_supplicant/wpa_supplicant.conf -d
sudo wpa_supplicant -iwlan1 -c/etc/wpa_supplicant/wpa_supplicant.conf -B

当我杀死一个正在运行的NetworkManager.看来是有干扰了。

第二个问题是四次握手失败。当我在接入点上禁用 MAC 地址过滤时,一切顺利。我的 wifi 接口的 MAC 在可用 MAC 列表中,但由于某种原因它仍然无法与路由器上的 MAC 过滤连接。

更新2:问题又回来了。四次握手再次失败。重新加载驱动程序没有帮助。

答案1

这种问题最好分成独立的部分。在这种情况下,ifupdown完全规避并手动执行所有步骤 - 即:

  1. wpa_supplicant使用适当的配置文件运行

  2. 连接建立后,运行 dhcp 客户端,

要检查如何ifupdown运行wpa_supplicant- 它必须在文件中传递某种配置,您可以拦截 - 检查运行ps fax | grep wpa_supplicant时的输出ifupdown- 选项的参数-c是(可能是即时生成的)的名称配置文件。

如果您出于某种原因决定转用ifupdown,您可能会对wicd,它由一个由各种 UI(ncurses、GTK、Qt)控制的守护进程组成。

顺便说一句,一些 DHCP 客户端能够通过wpa_supplicant自己生成来建立无线连接(我见过dhcpcd这样做)——当人们尝试调试连接问题时,这可能会非常有趣(并且会造成干扰)。

答案2

这是我在调试不稳定的无线设备时尝试的顺序。

  1. 重启可以解决问题吗?
  2. 尝试卸载与无线设备相关的内核驱动程序。具有以下效果:

    $ lsmod | grep iw
    iwlagn                209751  0 
    iwlcore               195714  1 iwlagn
    mac80211              229095  2 iwlagn,iwlcore
    cfg80211              134981  3 iwlagn,iwlcore,mac80211
    
    $ sudo rmmod iwlagn
    $ sudo rmmod iwlcore
    
    $ modprobe iwlagn
    
  3. 调查与通过 报告的无线设备相关的任何消息dmesg。例如:

    $ dmesg
    ...
    ...
    [207981.191849] mac80211: Unknown parameter `ieee80211_disable_40mhz_24ghz:Disable'
    [207988.895378] mac80211: `Disable' invalid for parameter `ieee80211_disable_40mhz_24ghz'
    [208280.841725] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:d
    [208280.841727] iwlagn: Copyright(c) 2003-2010 Intel Corporation
    [208280.841826] iwlagn 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
    [208280.841857] iwlagn 0000:03:00.0: setting latency timer to 64
    [208280.842798] iwlagn 0000:03:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6C
    [208280.863413] iwlagn 0000:03:00.0: Tunable channels: 13 802.11bg, 0 802.11a channels
    [208280.863582] iwlagn 0000:03:00.0: irq 48 for MSI/MSI-X
    [208280.898025] iwlagn 0000:03:00.0: loaded firmware version 128.50.3.1 build 13488
    [208280.898725] phy1: Selected rate control algorithm 'iwl-agn-rs'
    [208281.154937] ADDRCONF(NETDEV_UP): wlan0: link is not ready
    [208282.101156] wlan0: authenticate with 30:46:9a:47:4c:d4 (try 1)
    [208282.104128] wlan0: authenticated
    [208282.104164] wlan0: associate with 30:46:9a:47:4c:d4 (try 1)
    [208282.106911] wlan0: RX AssocResp from 30:46:9a:47:4c:d4 (capab=0x411 status=0 aid=3)
    [208282.106914] wlan0: associated
    [208282.111520] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
    [208292.608637] wlan0: no IPv6 routers present
    

答案3

也有很长一段时间的hand shake+FAIL问题。 ( gentoo| Arch) 论坛中的任何解决方案都不stackexchange适合我。

我使用的是最基本的Linux ,void仅使用必要的程序dhcpcdwpa_supplicant

最终奏效的方法花了我很长时间,但没有其他机会,因为:

  • LAN 电缆母头连接器也被损坏,没有任何更换部件可以从 DigiKey|Farnell|Reichelt|Conrad|Mouser|Amazon 的任何电子经销商处获得,因为它是半高变体,没有部件标签|编号|提示。
  • 将单股线焊接到主板上,真是一个疯狂的努力,不要在家里这样做哈哈,在工作时,需要细(非常细)的柔性电线,以免短路或断裂!
  • Lenovo 引导加载程序中不支持硬编码的替换WLAN chip(以排除损坏的硬件) 。hardware whitelist是的,真的很棒,兼容,但只是没有列出,因此失败了,哇,只是哇。Hard coded white list!联想!常识?

因此,经过大量的试验和错误,调试时间出现了另一个修复(可能性),我想与社区分享。

每次重新启动后都适用的解决方案: 1

sudo wpa_cli  # fail
sudo xbps-install -Syv NetworkManager
sudo ln -s /etc/sv/NetworkManager /var/service/

2(开机后可能会自动运行。)

sudo sv up NetworkManager
sudo wpa_cli  # works half way (scan possible but association fails)
sudo sv down NetworkManager
sudo wpa_cli  # fail
sudo sv restart dhcpd
sudo wpa_cli  # works

确保 dhcpcd、wpa_supplicant、正确的网络接口已启动|并运行,并且 /etc/wpa_supplicant/wpa_supplication.conf 中使用网络接口(例如 wlan0 或 wlp2s),id est:

 sudo vi /etc/sv/wpa_supplicant/run  # Change all occurrences of the default interface name like e.g. "wlan0" to the correct interface as shown by ip link command, exempli gratia "wlp2s".

看来 NetworkManager 有一定的效果,那就是修复!我还没有时间去调查它到底是什么。

相关内容