Linux3.2カーネルを搭載したDebian7マシンと、Atherosチップセット(D-Link DWA-16 Xtreme N Dual Band)を搭載したUSB Wi-Fiアダプターがあります。理論的には 動作するはずです 。
実際、私はNetworkManagerとのwifi通信を確立することができ、約30分間はほぼ正常に機能しましたが、その後切断され、接続の再確立に失敗しました。
NetworkManagerとの接続の再確立に失敗しました。関連付けと認証に成功し、4ウェイハンドシェイクを開始しましたが、 理由15(4ウェイハンドシェイクタイムアウト) のために認証を解除しました。
次に、/etc/network/interfaces
にエントリを作成して、古き良きifupdown
を介して同じことを試みました。
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.conf
を作成し、wpa_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
の実行中のインスタンスを強制終了したときに、トラブルの最初の部分( "status:associated"の後に自発的に切断される)が消えました。干渉したようです。
トラブルの2番目の部分は、4ウェイハンドシェイクが失敗したことでした。アクセスポイントでMACアドレスフィルタリングを無効にしたところ、問題なく合格しました。私のwifiインターフェースのMACは利用可能なMACのリストに含まれていましたが、何らかの理由でルーターのMACフィルタリングに接続できませんでした。
更新2:問題が戻ってきました。 4ウェイハンドシェイクが再び失敗します。ドライバーのリロードは役に立ちません。
この種の問題は、独立した部分に分割する方が適切です。この場合、ifupdown
を完全に回避し、すべての手順を手動で実行します。つまり、次のようになります。
適切な設定ファイルでwpa_supplicant
を実行します
接続が確立されたら、dhcpクライアントを実行して
ifupdown
がどのように実行されるかを確認するにはwpa_supplicant
-傍受できるようなファイル内の何らかの構成を渡す必要があります-ifupdown
の場合のps fax | grep wpa_supplicant
の出力を確認しますが実行中です--c
オプションのパラメーターは、(おそらくオンザフライで生成された)構成ファイルの名前です。
何らかの理由でifupdown
から切り替えることにした場合は、さまざまなUI(ncurses、GTK、Qt)によって制御されるデーモンで構成される wicd
に興味があるかもしれません。 )。
ちなみに、一部のDHCPクライアントは、wpa_supplicant
を自分で生成することでワイヤレス接続をセットアップできます(dhcpcd
がそれを実行しているのを見ました)。これは、非常に興味をそそる(そして干渉する)可能性があります。接続の問題をデバッグしようとします。
これは、不安定なワイヤレスデバイスをデバッグするときに試す順序です。
ワイヤレスデバイスに関連するカーネルドライバをアンロードしてみてください。次の効果への何か:
$ 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
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
hand shake
+ FAIL
の問題も長い間ありました。 (gentoo
| Arch
)フォーラムからの解決策もstackexchange
も私にはうまくいきませんでした。
私は必要不可欠なプログラムvoid
、wpa_supplicant
のみを使用して、必要最低限のdhcpcd
linuxを使用しています。
最終的にうまくいったことは、私に何年もかかりましたが、他のチャンスはありませんでした:
WLAN chip
(壊れたハードウェアを除外するため)は、Lenovoブートローダー内のハードコードされたサポートされている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、正しいネットワークインターフェイスが稼働していることを確認してください|実行中のネットワークインターフェイス(例: wlan0またはwlp2sは/etc/wpa_supplicant/wpa_supplication.confで使用されます。idest:
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には修正された効果があるようです!私はまだそれがどれであるかを調査する時間がありませんでした。