
Ich habe eine Debian 7-Maschine mit Linux3.2-Kernel und einen USB-WLAN-Adapter mit Atheros-Chipsatz (D-Link DWA-16 Xtreme N Dual Band), der theoretischsollte arbeiten.
Tatsächlich gelang es mir, eine WLAN-Kommunikation mit NetworkManager herzustellen, und sie funktionierte für etwa 30 Minuten mehr oder weniger problemlos. Dann wurde die Verbindung jedoch getrennt und konnte nicht wiederhergestellt werden.
Ich konnte die Verbindung mit NetworkManager nicht wiederherstellen. Die Verbindung wird erfolgreich hergestellt und die Authentifizierung durchgeführt, der 4-Wege-Handshake wird gestartet, die Authentifizierung wird dann jedoch aufgehoben aufgrund vonGrund 15 (4-Wege-Handshake-Timeout).
Dann habe ich versucht, dasselbe auf die gute alte Art zu tun, ifupdown
indem ich einen Eintrag erstellt habe in /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
Wenn ich sudo ifup wlan1
, verhält es sich vernünftig, bis:
wpa_supplicant[8258]: wlan1: Associated with <router's MAC>
wpa_supplicant[3402]: wlan1: No network configuration found for the current AP
(von /var/log/syslog
). Wireshark
sieht, dass ARP-Pakete von meinem WLAN-Adapter zum Router gehen, aber der Router antwortet nicht.
Haben Sie eine Idee, was das bedeuten könnte und wie das Problem behoben werden kann?
LÖSUNG:
Dank des Vorschlags von peterph habe ich versucht, es als eigenständiges Programm sowohl im Vordergrund als auch im Hintergrund auszuführen und es dann wpa_supplicant.conf
in zu verwenden .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
Bei mir verschwand der erste Teil der Probleme (mit spontaner Trennung nach „Status: verbunden“), als ich eine laufende Instanz von beendete NetworkManager
. Es scheint gestört zu haben.
Der zweite Teil des Problems war, dass der 4-Wege-Handshake fehlschlug. Er funktionierte einwandfrei, als ich die MAC-Adressfilterung am Access Point deaktivierte. Die MAC meiner WLAN-Schnittstelle war in der Liste der verfügbaren MACs, aber aus irgendeinem Grund konnte sie mit der MAC-Filterung am Router trotzdem keine Verbindung herstellen.
UPDATE 2:Die Probleme sind wieder da. Der 4-Wege-Handshake schlägt wieder fehl. Das Neuladen des Treibers hilft nicht.
Antwort1
Diese Art von Problem wird am besten in unabhängige Teile unterteilt. In diesem Fall ist es besser, das Problem ifupdown
vollständig zu umgehen und alle Schritte manuell auszuführen – das heißt:
wpa_supplicant
mit einer entsprechenden Konfigurationsdatei ausführenSobald die Verbindung hergestellt ist, wird der DHCP-Client ausgeführt.
Um zu prüfen, wie ifupdown
es ausgeführt wird wpa_supplicant
, muss ihm eine Art Konfiguration in einer Datei übergeben werden, die Sie abfangen können. Prüfen Sie die Ausgabe ps fax | grep wpa_supplicant
während der ifupdown
Ausführung. Der Parameter der -c
Option ist der Name der (wahrscheinlich spontan generierten) Konfigurationsdatei.
Wenn Sie sich aus irgendeinem Grund für einen Wechsel entschieden haben ifupdown
, könnten Sie interessiert sein anwicd
, das aus einem Daemon besteht, der von verschiedenen Benutzeroberflächen (ncurses, GTK, Qt) gesteuert wird.
Übrigens können einige DHCP-Clients die drahtlose Verbindung einrichten, indem sie wpa_supplicant
sich selbst starten (ich habe dhcpcd
das schon gesehen) – was ziemlich faszinierend (und störend) sein kann, wenn man versucht, Verbindungsprobleme zu debuggen.
Antwort2
Dies ist die Reihenfolge der Dinge, die ich beim Debuggen eines fehlerhaften drahtlosen Geräts versuchen würde.
- Behebt ein Neustart das Problem?
Versuchen Sie, die Kerneltreiber für das drahtlose Gerät zu entladen. Etwa in der Art des Folgenden:
$ 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
Untersuchen Sie alle Nachrichten, die sich auf das drahtlose Gerät beziehen und über gemeldet werden
dmesg
. Beispiel:$ 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
Antwort3
Hatte auch lange Zeit hand shake
+ Probleme. Weder eine Lösung aus ( | ) Foren noch hat es bei mir funktioniert.FAIL
gentoo
Arch
stackexchange
Ich verwende ein Linux mit Basisausstattung void
und nur die unbedingt notwendigen Programme dhcpcd
.wpa_supplicant
Was schließlich funktionierte, hat ewig gedauert, aber ich hatte keine andere Chance, weil:
- der weibliche Stecker des LAN-Kabels ist ebenfalls defekt und bei keinem Elektronikhändler von DigiKey|Farnell|Reichelt|Conrad|Mouser|Amazon ist ein Ersatzteil erhältlich, da es sich um eine halbhohe Variante ohne Teilebezeichnung/-nummer/-hinweis handelt.
- Das Anlöten einzelner Litzen an die Hauptplatine ist ein verrücktes Unterfangen. Machen Sie das nicht zu Hause, haha. Beim Arbeiten sind dünne (sehr dünne) flexible Drähte erforderlich, damit es nicht zu Kurzschlüssen oder Brüchen kommt!
- ein Ersatz
WLAN chip
(um defekte Hardware auszuschließen) war imhardware whitelist
Lenovo-Bootloader nicht fest codiert und unterstützt. Ja, wirklich toll, kompatibel, aber einfach nicht aufgeführt und daher fehlerhaft, wow, einfach nur wow.Hard coded white list
! Lenovo! Gesunder Menschenverstand?
Nach viel Ausprobieren und Debuggen ist also ein anderer Fix (eine andere Möglichkeit) aufgetaucht, den ich gerne mit der Community teilen möchte.
Lösung, die bei mir nach dem Neustart jedes Mal funktioniert: 1
sudo wpa_cli # fail
sudo xbps-install -Syv NetworkManager
sudo ln -s /etc/sv/NetworkManager /var/service/
2(Kann nach dem Booten automatisch ausgeführt werden.)
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
Stellen Sie sicher, dass dhcpcd, wpa_supplicant und die richtige Netzwerkschnittstelle aktiv und betriebsbereit sind und dass die Netzwerkschnittstelle (z. B. wlan0 oder wlp2s) in /etc/wpa_supplicant/wpa_supplication.conf verwendet wird, d. h.:
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".
Es scheint, dass NetworkManager einen Effekt hat, der das Problem löst! Ich hatte noch keine Zeit, herauszufinden, welcher Effekt das ist.