atk9k kann mit wpa_supplicant kein virtuelles Gerät auf AP + Client einrichten

atk9k kann mit wpa_supplicant kein virtuelles Gerät auf AP + Client einrichten

Ich versuche, einen Beagle Bone Black mit Ubuntu 14.04 als Zugriffspunkt und gleichzeitig als drahtlosen Client zu verwenden. Das Ziel besteht darin, den Zugriffspunkt zu verwenden, um einem Client die Verbindung zu ermöglichen, eine Seite über einen HTTPD-Server zu öffnen und dann ein lokales drahtloses Signal zu konfigurieren/zu verbinden.

Das WLAN verwendet den Chipsatz Atheros AR9271, der den Treiber ath9k_htc verwendet. Ich frage mich, ob dies spezifisch für diesen Chipsatz ist und nicht für einen standardmäßigen Chipsatz mit ath9k-Unterstützung, oder ob ich das Offensichtliche übersehe?

Ich kann den Zugriffspunkt mithilfe eines virtuellen Geräts zum Laufen bringen

iw phy phy0 interface add wap0 type __ap
ifconfig wap0 hw ether 0a:35:9f:fe:44:01  # or any fake HW address
ifconfig wap0 192.168.8.1 netmask 255.255.255.0
ifconfig wap0 192.168.8.1 up

mit /etc/network/interfaces Eintrag

auto wap0
iface wap0 inet static
    hostapd /etc/hostapd/hostapd.conf
    address 192.168.8.1
    netmask 255.255.255.0

und /etc/hostapd/hostapd.conf Eintrag auf ein Minimum

interface=wap0
driver=nl80211
ssid=BeagleBoneBlack
channel=1

und /etc/dnsmasq.conf mindestens mit

interface=lo,wap0
listen-address=127.0.0.1
no-dhcp-interface=lo
dhcp-range=192.168.8.10,192.168.8.50,255.255.255.0,12h
cache-size=0

Ich kann einen Client mit verschiedenen Tools (nmcli / wicd / iw / ...) drahtlos verbinden. Anschließend kann ich mich mit einem anderen Router verbinden, indem ichwlan0

wenn die Verschlüsselung deaktiviert ist

Wenn ich versuche, eine Verbindung zu einem anderen Router herzustellen, während wpa1/2diese Option aktiviert ist, erhalte ich mit jedem Client und mehreren Kernel-/Treiberversionen (kompatibel 3.8.x bis Backports 3.19.x) merkwürdige Ergebnisse.

alles vom wpa_supplicantdirekten Laufen

wpa_passphrase "NETWORK_SSID" "WPA_PASS_PHRASE" > /etc/wpa_supplicant.conf
wpa_supplicant -i wlan0 -Dwext -Dn180211 -c/etc/wpa_supplicant.conf

Ausgabe (einige Dutzend Mal in unterschiedlicher Reihenfolge wiederholt)

Successfully initialized wpa_supplicant
wlan0: CTRL-EVENT-SCAN-STARTED 
wlan0: SME: Trying to authenticate with 04:a1:51:33:f3:64 (SSID='NETWORK_SSID' freq=2462 MHz)
wlan0: SME: Authentication request to the driver failed

beim Ausführen von wpa_supplicant vor dem Initialisieren des virtuellen Gerätswap0

# wpa_supplicant -i wlan0 -Dwext -Dn180211 -c/etc/wpa_supplicant.conf

Successfully initialized wpa_supplicant
wlan0: CTRL-EVENT-SCAN-STARTED 
wlan0: SME: Trying to authenticate with 98:fc:11:b7:48:a0 (SSID='mycomountain' freq=2437 MHz)
wlan0: Trying to associate with 98:fc:11:b7:48:a0 (SSID='NETWORK_SSID' freq=2437 MHz)
wlan0: Associated with 98:fc:11:b7:48:a0
wlan0: WPA: Key negotiation completed with 98:fc:11:b7:48:a0 [PTK=CCMP GTK=TKIP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 98:fc:11:b7:48:a0 completed [id=0 id_str=]

zur Verwendung von /etc/network/interfaces mit der Einstellung

auto wlan0
iface wlan0 inet dhcp
    wpa-ssid "NETWORK_SSID"
    wpa-psk "WPA_PASS_PHRASE"

und läuft

ifdown wlan0; ifup wlan0;

Ausgabe

Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/e8:de:27:1f:6e:60
Sending on   LPF/wlan0/e8:de:27:1f:6e:60
Sending on   Socket/fallback
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/e8:de:27:1f:6e:60
Sending on   LPF/wlan0/e8:de:27:1f:6e:60
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3 (xid=0x39ec90a3)
# ...
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Die DHCPDISCOVER-Zeile wiederholt sich dann mit verschiedenen Intervallwerten, bis sie fehlschlägt

wicd kann einfach nichts tun, wenn hostapd auf wap0 läuft

Ich überspringe sicherlich ein paar Schritte, die ich bisher versucht habe. Die beste Referenz, die nahelegt, dass das, was ich mache, funktionieren sollte (ich kann ein Dutzend weitere mit Teilen posten, die mich so weit gebracht haben, falls das für irgendjemanden hilfreich ist).

Erstellen eines WLAN-Zugangspunkts auf einer einzelnen Schnittstelle unter Linux

** BEARBEITEN **

Ich habe versucht, den Hostaptd-Kanal so zu ändern, dass er mit dem Router-Kanal übereinstimmt, mit dem ich eine Verbindung herstellen möchte. Ich verbinde mich zwar immer noch nicht, aber wicd beginnt, etwas zu tun, wenn Hostapd läuft.

Wicd-Steuerung über Python mit Dbus (wahrscheinlich irrelevant, aber ich hoffe, dieser Thread hilft jemand anderem, sobald eine Lösung gefunden ist)

import dbus

bus = dbus.SystemBus()
wireless = dbus.Interface(bus.get_object('org.wicd.daemon', '/org/wicd/daemon/wireless'),
                          'org.wicd.daemon.wireless')
network_id = 0
wireless.ConnectWireless(network_id)

Wicd-Protokollausgabe

2015/04/20 16:47:30 :: Putting interface down
2015/04/20 16:47:30 :: Releasing DHCP leases...
2015/04/20 16:47:30 :: attempting to set hostname with dhclient
2015/04/20 16:47:30 :: using dhcpcd or another supported client may work better
2015/04/20 16:47:31 :: Setting false IP...
2015/04/20 16:47:31 :: Stopping wpa_supplicant
2015/04/20 16:47:31 :: Flushing the routing table...
2015/04/20 16:47:31 :: Putting interface up...
2015/04/20 16:47:33 :: Attempting to authenticate...
2015/04/20 16:48:09 :: wpa_supplicant authentication may have failed.
2015/04/20 16:48:09 :: connect result is 
2015/04/20 16:48:09 :: exiting connection thread
2015/04/20 16:48:10 :: Sending connection attempt result bad_pass
2015/04/20 16:48:10 :: Autoconnecting...
2015/04/20 16:48:10 :: No wired connection present, attempting to autoconnect to wireless network
2015/04/20 16:48:13 :: Unable to autoconnect, you'll have to manually connect
2015/04/20 16:48:13 :: attempting to set hostname with dhclient
2015/04/20 16:48:13 :: using dhcpcd or another supported client may work better
2015/04/20 16:48:13 :: attempting to set hostname with dhclient
2015/04/20 16:48:13 :: using dhcpcd or another supported client may work better

Ausgabe wicd – hostapd gestoppt

2015/04/20 16:58:58 :: Putting interface down
2015/04/20 16:58:58 :: Releasing DHCP leases...
2015/04/20 16:58:58 :: attempting to set hostname with dhclient
2015/04/20 16:58:58 :: using dhcpcd or another supported client may work better
2015/04/20 16:58:58 :: Setting false IP...
2015/04/20 16:58:58 :: Stopping wpa_supplicant
2015/04/20 16:58:58 :: Flushing the routing table...
2015/04/20 16:58:58 :: Putting interface up...
2015/04/20 16:59:00 :: Attempting to authenticate...
2015/04/20 16:59:02 :: Running DHCP with hostname HOSTNAME
2015/04/20 16:59:02 :: attempting to set hostname with dhclient
2015/04/20 16:59:02 :: using dhcpcd or another supported client may work better
2015/04/20 16:59:02 :: Internet Systems Consortium DHCP Client 4.2.4
2015/04/20 16:59:02 :: Copyright 2004-2012 Internet Systems Consortium.
2015/04/20 16:59:02 :: All rights reserved.
2015/04/20 16:59:02 :: For info, please visit https://www.isc.org/software/dhcp/
2015/04/20 16:59:02 :: 
2015/04/20 16:59:02 :: Listening on LPF/wlan0/64:70:02:20:08:35
2015/04/20 16:59:02 :: Sending on   LPF/wlan0/64:70:02:20:08:35
2015/04/20 16:59:02 :: Sending on   Socket/fallback
2015/04/20 16:59:02 :: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3 (xid=0x136a5e8e)
2015/04/20 16:59:02 :: DHCPREQUEST of 192.168.0.15 on wlan0 to 255.255.255.255 port 67 (xid=0x136a5e8e)
2015/04/20 16:59:02 :: DHCPOFFER of 192.168.0.15 from 192.168.0.1
2015/04/20 16:59:02 :: DHCPACK of 192.168.0.15 from 192.168.0.1
2015/04/20 16:59:02 :: bound to 192.168.0.15 -- renewal in 42862 seconds.
2015/04/20 16:59:02 :: DHCP connection successful
2015/04/20 16:59:02 :: not verifying
2015/04/20 16:59:03 :: Connecting thread exiting.
2015/04/20 16:59:03 :: Sending connection attempt result success

Antwort1

Ich bin mir nicht sicher, welche Hardware Sie haben, aber wenn Sie einen USB-Stick für WLAN verwenden (z. B. TP-Links TL-WN722N), können Sie den AP-Modus-Kanal nicht ohne Firmware-Hacking einstellen. Dies ist keine triviale Aufgabe, für die Sie eine Reihe von Linux-Quellen usw. kompilieren müssen. Darüber hinaus scheint die Standard-Firmware für ein Land zu sein, in dem die Kanäle 12 und 13 nicht verfügbar sind.

verwandte Informationen