eth0 / wlan0 Abhängigkeiten

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

    ich habe ein paar komische Effekte mit eth0 / wlan0.

    Bei einem Pi Zero W geht das interne wlan0 nicht mehr wenn ein USB-Ethernet Adapter eth0 dran ist
    (wpa_supplicant connected nicht).

    Bei einem anderen Debian 7 Single-Board-Computer mit internen Ethernet eth0 lässt sich wlan0 (Dongle) von außen nicht mehr pingen wenn ich das Ethernetkabel rausziehe und pingt weiter wenn ich es wieder reinstecke.

    Arbeitet da noch irgendwas im Hintergrund von dem ich nichts weis und das mir das kaputt managed?

    iwl

    • Offizieller Beitrag
    Zitat

    Arbeitet da noch irgendwas im Hintergrund von dem ich nichts weis und das mir das kaputt managed


    ich tendiere ja zu sagen "systemd" :fies:. WLAN unte rLinux war schon immer schrecklich (auf Kommandozeilenebene), mit systemd ist es schrecklich geblieben und zusätzlich unberechenbar geworden. Ich hab seit Jessie nur Probleme wenn es ans einrichten einer Simplen WLAN Verbindung geht. Mal gehts, mal nicht, mal zieht er sich ne IP, mal will er ne feste. Nimm mal testweise das alte Wheezy und probier es damit.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (28. Juni 2017 um 19:10)

  • Hi,
    ich glaube ja eher, hier ist die Situation gemeint, dass zwei Netzwerk-Adapter (LAN/WLAN) vom selben host nicht im gleichen Netzsegment liegen können bzw. das von einem DHCP Server wohl nicht unterstützt wird.
    Mach ja auch keinen Sinn, wenn man mal drüber nachdenkt ... ;)

    cu,
    d-s-

  • Hallo zusammen,

    das kann ich nicht bestätigen. Ich habe 2 Raspi3 mit eth0 und wlan0 am gleichen Router (Speesport) angeschlossen.

    Hab Jessie drauf, und mit DHCP haben beide raspis jeweils 2 netzwerk adressen. Konfiguriert hab ich das WLAN nur in der wpa_supliant.conf

    Grüße mojo

  • Aber auch jeweils beide Adapter im selben Netzsegment?

    //EDIT: mir ist diese Frage schon öfter untergekommen (wobei sich mir der Sinn bisher immer noch nicht erschlossen hat) und habe bisher nur Lösungsvorschläge gelesen, die eine statische IP vergeben, manuell konfigurieren, ...
    z.B. -> https://raspberrypi.stackexchange.com/questions/3186…d-wifi-together
    Es hiess halt oft, dass DHCP das nicht unterstützt ... was mir auch einleuchtet, weil beides mal ja auch der hostname derselbe ist.
    Evtl. geht's mit per MAC zugewiesener IP ...

    cu,
    -ds-

  • Mit dem dhcp geht das tatsächlich etwas durcheinander, beide den Hostnamen als dhcp client namen und so wechselt die ip-adresse für den host im dns.

    Wo kann man z.B. die Dhcp-Optionen für wpa-suplicant einstellen?
    In interfaces muss man ja da bei wlan manual stellen (wenn wpa-roam) und ich glaube er braucht dann noch die Zeile : interface default inet dhcp .

    Aber wenn ich für das wlan0 dann einen anderen dhcp client namen will, wo stelle ich den dann ein?
    Automatisch zusammengefügt:
    Mit dem dhcp-namen habe ich gefunden, das kann man in dhclient.conf einstellen für jedes Interface.

    Mit dem Ping bei Netzkabel gezogen ist das Problem wahrscheinlich, dass dieser "pi" immer auf eth0 rausgeht, auch wenn das ping über wlan0 reinkam,
    man sieht bei jedem Ping nämlich den Wlan-Adapter blinken, nur kommt nix zurück, weil das wahrscheinlich über eth0 rausgeht, aber kein Kabel.

    Man müsste nun noch rausfinden, wie der pi / kernel so schlau sein kann, nur über verbundene Interfaces rauszugehen.

    Mit dem Pi Zero W ist vielleicht das Problem, dass der sofort alles auf eth0 schaltet, wenn da einer per usb eingesteckt wird, auch wenn der gar keine Verbindung hat und dann ist auch keine Verbindung, an dhcp kann das aber eigentlich nicht liegen, ohne Verbindung setzt das doch noch keine Route via eth0.

    Wahrscheinlich hat eth0 priorität, was bei Pis mit primär Ethernet kein Problem ist, beim Pi Zero ist aber das normalerweise genutzte wlan weg, egal ob usb eth0 verbunden ist oder nicht, Frage nun, wo das zu konfigurieren ist.

    Einmal editiert, zuletzt von iwl (28. Juni 2017 um 23:30)

  • Moin iwl !

    Das Problem ist wahrscheinlich, das das Routing nach 0.0.0.0 nur über eine Adresse (Schnittstelle) stattfinden kann. Wenn LAN und WLAN über DHCP konfiguriert werden stellt jedes Netzwerk "seine" IP für das Routing nach 0.0.0.0 (zum Netzwerkrouter) zur Verfügung und es kann nur einen Sieger geben, z.B. eth0. Dann routed der Pi alles über eth0 raus, auch wenn eth0 unterbrochen wird.

    Wenn ein Pi mit beiden Netzwerkanschlüssen, LAN und WLAN betrieben wird, kann nur ein Anschluss von DHCP konfiguriert werden, der andere muss manuell seine IP erhalten - ohne Router und DNS Server ! Das ist die Grundeinstellung.

    Für den Fall, dass das das DHCP gesteuerte Interface - mit Router und DNS - abgestellt wird, habe ich einen Hack gesehen, der sich das Event Management von SystemD zunutze macht. Dazu wird mit den Pre und Post Kommandos (im Interface ? File) der Zustand von eth0 und wlan0 abgefragt und immer die Interfaces gestartet, die zueinender passen. Für den Fall, dass eth0 (mit DHCP) down geht, wird WLAN0 (ohne DHCP) gestoppt und WLAN1 (mit DHCP) gestartet usw.


    Servus !

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (29. Juni 2017 um 15:10)

  • Ich fand inzwischen auch noch eine Diskussion im Internet, dass einer schon vor 2-3 Jahren den Kernel gepatcht hat, dass UDEV Events für eth connect/disconnect kommen, wo man sich dranhängen kann.
    Ich habe auf den Pis fast keine UDEV-Regeln gefunden, müsste man wahrscheinlich alles selbst machen.
    Die UDEV Regeln für den WLAN Stick enthalten anscheinend dessen MAC-Adresse, müssen dann ja automatisch generiert sein, wovon fragt sich.

    Auf dem PiZero war noch der wicd Network Manager vielleicht hat der auch gestört, habe ich erst mal deinstalliert.

    iwl

    Einmal editiert, zuletzt von iwl (29. Juni 2017 um 13:36)

  • Hallo iwl !

    Es war so simpel, dass ich mir gedacht habe, warum macht das nicht jeder, der mit LAN und WLAN ins Internet will.
    Da wurde nur ifconfig und ifplugd in den PRE ind POST Scriptzeilen verwendet.
    Das ist aber schon die Comfortvariante, falls die LAN, oder WLAN Verbindung neu aufgebaut/unterbrochen wird.

    Du musst Dich erstmal entscheiden, ob Du primär über USB-LAN, oder WLAN ins Internet und zum DNS connecten willst.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • ifplugd ist ein neues Stichwort, macht der auch schon Events, deren Bearbeitung man direkt in interfaces bearbeiten kann?

    Leider finde ich keinen Verweis auf die so simplen Lösungen in Deinem Beitrag

    Beim PiZero W habe ich jetzt alles mit eth0 aus den Interfaces entfernt, besonders auto, die (usb-) eth steht aber trotzdem bei Ifconfig, wenigstens unkonfiguriert, während die eingebaute auf dem Pi ohne auto eth0 in interfaces von selbst nicht bei ifconfig erscheint, wahrscheinlich wird beim PiZero da USB-Event-mäßig was getriggert.

    Am PiZero hängt ein powered Hub, obwohl powered stürzt jedesmal der PiZero ab wenn ich einen USB-eth an den Hub stecke, kaum Kondensatoren auf dem PiZero vielleicht löte ich mal versuchshalber einen zwischen 5 Volt und Masse am PiZero, so ist das ätzend.

  • Die simple Lösung hat irgendwie so ausgesehen:

    iface lo auto inet loopback

    iface eth0 inet auto dhcp

    pre-up ifconfig wlan1 down
    post-up ifconfig wlan0 up
    pre-down ifconfig wlan0 down
    post-down ifconfig wlan1 up

    iface wlan0 auto inet
    ip=x.x.x.x
    Netmask= x.x.x.x
    kein Router, kein DNS

    pre-up ifconfig wlan1 down
    post-up ifconfig eth0 up
    post-down ifconfig eth0 up

    iface wlan1 inet dhcp

    pre-up ifconfig wlan0 down
    post-up ifconfig eth0 down
    pre-down ifconfig wlan0 up
    post-down ifconfig eth0 up

    Das ist jetzt nur aus meiner Erinnerung und vor ifconfig wurde irgenwie mit if ifplugd der Zustand abgefragt, um die Fehlerprotokollierung zu vermeiden.


    Servus !

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (29. Juni 2017 um 18:29)

  • Nach langem probieren habe ich jetzt hinbekommen, dass man das Ethernet stecken und ziehen kann und wlan runter und raufgefahren wird, beide dabei abwechselnd die gleiche IP benutzen und meist ssh dabei überlebt, letzteres kann vielleicht mit ARP Broadcasts nach Schnittstellen Wechsel noch verbessert werden.

    Ich musste alles mögliche ändern interfaces, wpa-config, ifplug und andere Scripte, weil es an so vielem hängt musste man an allen Ecken probieren und wenn es dann mal ging, schauen was es nun von den Änderungen nicht braucht, etc.

    Es geht eigentlich stabil, ist aber sicher noch weiter optimierbar, systematisch und funktional.

    Allerdings erst mal auf einem BananaPi mit internen eth und usb wlan, bei raspberries wird es auch gehen.

    Beim USB Ethernet am Pizero ist jetzt noch das Problem, dass ifplug da connect nicht erkennen kann, immer connected wenn up disconnected wenn down.

    Allerdings gibt es /sys/class/net/carrier und das zeigt 1 / 0 an wenn Kabel gesteckt / nicht, kann man mit ip link / ip monitor link monitoren (RTNetLink)
    Unschön ist das man nun nach ifdown ifconfig up machen muss, damit das detektieren funktioniert und ifup dann force braucht oder ifconfig down davor oder man macht ifup / down selbst neu und einen neuen Dämon um ip monitor link / RTNetLink braucht man auch.
    Man müsste also eine ganze Menge machen um das mal alles sauber zu haben.

Jetzt mitmachen!

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