「wpa サプリカント: 現在の AP のネットワーク構成が見つかりません」 - carl9170 駆動の wifi アダプタが Debian 7 で不具合を起こす

「wpa サプリカント: 現在の AP のネットワーク構成が見つかりません」 - carl9170 駆動の wifi アダプタが Debian 7 で不具合を起こす

私はLinux3.2カーネルを搭載したDebian 7マシンとAtherosチップセット(D-Link DWA-16 Xtreme N Dual Band)を搭載したUSB wifiアダプタを持っていますが、理論的には動作するはずです

実際、NetworkManager との Wi-Fi 通信を確立することができ、約 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)。Wi Wireshark-Fi アダプターからルーターに ARP パッケージが送信されているのを確認していますが、ルーターは応答しません。

これは何を意味するのか、またこれをどのように解決すればよいのか、何かアイデアはありますか?

解決:peterph の提案のおかげで、フォアグラウンドとバックグラウンドの両方でスタンドアロン プログラムとして作成しwpa_supplicant.confて実行し、で使用すること を試みました。wpa_supplicantwpa-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。干渉していたようです。

2 番目の問題は、4 ウェイ ハンドシェイクが失敗したことです。アクセス ポイントで MAC アドレス フィルタリングを無効にすると、問題なく通過しました。私の Wi-Fi インターフェイスの MAC は、使用可能な MAC のリストにありました。しかし、何らかの理由で、ルーターの MAC フィルタリングでは接続に失敗していました。

更新2:問題が再発しました。4 ウェイ ハンドシェイクが再び失敗しています。ドライバーをリロードしても解決しません。

答え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私には役に立ちませんでした。

私は必要最低限​​のvoidLinux を使っていて、必須のプログラムだけを使っていますdhcpcdwpa_supplicant

最終的にうまくいったのは、何年もかかりましたが、他にチャンスがなかったからです。

  • LAN ケーブルのメス コネクタも壊れており、部品ラベル、番号、ヒントのないハーフ ハイトのバリエーションであるため、DigiKey、Farnell、Reichelt、Conrad、Mouser、Amazon などの電子機器販売代理店で交換部品を入手できません。
  • 個々のストランドをメインボードにはんだ付けするのは、なんともクレイジーな作業です。自宅ではやらないでください。作業中は、ショートしたり切れたりしないように、細い(非常に細い)柔軟なワイヤが必要です。
  • 交換品WLAN chip(ハードウェアの故障を除外するため) は、Lenovo ブートローダー内でサポートされているハードコードされていませんでしたhardware whitelist。はい、本当に素晴らしいです。互換性があるのですが、単にリストに載っていないため失敗しています。すごい、本当にすごいです。Hard coded white list! Lenovo! 常識ですか?

こうして、試行錯誤とデバッグの時間を積み重ねた結果、別の修正(可能性)が浮かび上がったので、それをコミュニティと共有したいと思います。

再起動後に毎回機能する解決策: 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) が使用されていることを確認します。

 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 が何らかの効果を持っていて、それが修正であるようです。それが何なのかを調査する時間はまだありません。

関連情報