Raspi onboard WLAN gleichzeitig als AP und Client

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Abend,

    ich möchte das onboard WLAN eines Raspi 3B oder Zero W nutzen, um den Raspi gleichzeitig mit einem Router über WLAN zu verbinden als auch einen AP bereit zu stellen. Ich halte mich an diese Anleitung: http://imti.co/post/145442415…wifi-station-ap. Ich habe ein gestern heruntergeladenes Raspbian Stretch Light.

    Über WLAN habe ich die Pakete hostapd und dnsmasq heruntergeladen, aber nachdem ich alle Konfigs anpasse und neu starte, geht "nichts mehr". Ich kann z.B. 8.8.8.8 nicht anpingen, ein AP ist in der Liste verfügbarer WLANs nicht zu finden.

    Hoffentlich kann mir jemand helfen! :conf::danke_ATDE:

    Noch ein paar Ausgaben, gerne reiche ich nach, falls etwas fehlt:

    Code
    route -n
    
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
    10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 uap0
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
    Code
    /etc/wpa_supplicant/wpa_supplicant.conf
    
    country=DE
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
        ssid="MeineSSIDhier"
        psk="passworthier"
        key_mgmt=WPA-PSK
    }
    Code
    /etc/dnsmasq.conf
    
    interface=lo,uap0
    no-dhcp-interface=lo,wlan0
    bind-interfaces
    server=8.8.8.8
    domain-needed
    bogus-priv
    dhcp-range=10.0.0.50,10.0.0.150,12h
    Code
    /home/pi/startup.sh
    
    #!/bin/bash
    iw dev wlan0 interface add uap0 type __ap
    service dnsmasq restart
    sysctl net.ipv4.ip_forward=1
    iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/24 -j MASQUERADE
    ifup uap0
    hostapd /etc/hostapd/hostapd.conf
  • Hi,

    doofe Frage: hast du alle Dienste mal händisch gestartet und geschaut, was bei herumkommt? Oder nur den Raspberry neugestartet, und dann festgestellt dass nichts mehr geht?

    EDIT: ich vermute dass ihm entweder die Rechte zum Lesen der Konfig-Dateien fehlen bzw. die weiterführenden Dienste uap0 nicht erkennen weil es zu jenem Zeitpunkt noch nicht up ist.

    Wegen deinem Ping-Problem, poste mal bitte die Ausgabe von

    ip route show

    Ist ein bisschen besser zu sehen von wo er kommt und über welches Interface er dann geht.

    Mfg

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

    Einmal editiert, zuletzt von sls (17. Oktober 2017 um 23:05)

  • Hi sls,

    doofe Frage

    :angel:

    Klar, direkt nachdem mir klar geworden ist, dass das rc.local Script nicht so will wie ich. Eben nochmal getestet, nach "fehlerhaftem" Start:

    Wirst du da schlau draus?!

  • Zum Edit:

    Ausgeführt nach obigem Post und den Befehlen. Wie gesagt, vor Autostart-Skript und den ganzen Kofigurationen konnte ich mich mit wpa_supplicant mit dem WLAN verbinden und Pakete herunterladen.

    Code
    $ ip route show
    default via 192.168.1.1 dev wlan0 linkdown
    10.0.0.0/24 dev uap0 proto kernel scope link src 10.0.0.1 linkdown
    192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.17 linkdown
    $

    Danke für die Hilfe!

  • Probier' mal händisch, deine Interfaces up zu bekommen:

    sudo ifconfig wlan0 up

    Anschließend den hier:

    sudo iw dev wlan0 interface add uap0 type __ap

    Welchen Wlantreiber verwendest du eigentlich?

    Mfg

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

  • Ok, dann probiere doch mal bitte folgendes:

    sudo ifconfig wlan0 up

    sudo ip link | grep DOWN <- wird wlan0 hier angezeigt?

    Falls nein, nochmal folgenden Befehel ausführen.

    sudo service ifplugd stop

    sudo iw dev wlan0 interface add uap0 type __ap

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

  • command failed: Device or resource busy (-16)

    Hast du die Möglichkeit, einen separaten USB-Wlan-Stick zu verwenden? Überprüfe bitte auch mal, ob `channel` in der hostapd.conf für deine WLAN-Schnittstelle passt. Zur Not mittels iwlist channel überprüfen. (Dazu das Konstrukt auf den funktionierenden Wlan-Zustand zurückbauen)

    Ich möchte nicht zu viel Mutmaßungen streuen, aber es gibt für dein Problem mehrere Ursachen. Deinen WLAN-Treiber findest du für gewöhnlich mittels `lsmod` - es gibt auch die Option einfach folgendes zu tun:

    readlink sys/class/net/wlan0/device/driver

    Sollte dann die Treiberbezeichnung ausspucken. Mit dem Kürzel kannst du dann via lsmod | grep "treiberkürzel" suchen.


    Mfg, sls

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

  • Hast du die Möglichkeit, einen separaten USB-Wlan-Stick zu verwenden?

    Ich besitze leider keinen, aber das ganze soll am Ende auch möglichst kompakt sein (Zero W) und einfach zu "klonen".

    Dazu das Konstrukt auf den funktionierenden Wlan-Zustand zurückbauen

    Machst du Witze?! :-/

    Mal im Ernst, kann man das auch anders lösen?

    Sollte dann die Treiberbezeichnung ausspucken. Mit dem Kürzel kannst du dann via lsmod | grep "treiberkürzel" suchen.

    Ok, danke... probiere ich gleich morgen mal aus...

  • Ich besitze leider keinen, aber das ganze soll am Ende auch möglichst kompakt sein (Zero W) und einfach zu "klonen".

    Mal im Ernst, kann man das auch anders lösen?

    Mal von deinem Problem abgesehen bin ich halt kritisch, ob das Built-In-Wlan-Modul für einen AP taugt.

    Anyways. Ich würde den Fehler weiterhin beim ifplugd-Daemon vermuten.

    Hier wurde von der selben Problematik gesprochen: https://www.raspberrypi.org/forums/viewtopic.php?t=24615

    EDIT: nochmal zur Erläuterung, warum ich ifplugd als Fehlerursache annehme. Der Daemon ist zur automatischen Konfiguration deiner Netzwerk-Schnittstellen gedacht, sobald bspw. ein Ethernet-Kabel am RJ45-Port gesteckt wird.

    Dieser Dienst "blockiert" dein Gerät in jenem Moment, in welchem du es verwendest. Möchtest du nun ein virtuelles Subinterface (uap0) an dein physisches Interface (wlan0) binden, kommt es zum Konflikt, da der Daemon erkennt (das Gerät ist bereits in Verwendung) und das Subinterface nie "up" nimmt, was auch aus dem Log-Output hervorgeht.

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

    2 Mal editiert, zuletzt von sls (19. Oktober 2017 um 14:19)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!