USB ETH Adapter trennt sich von selbst

  • Hi Leute,

    Ich habe einen Raspi Zero2 auf welchem ein FHEM zur Haussteuerung läuft.

    Der Raspi ist über einen DLink USB nach Ethernet Adapter mit dem Netzwerk verbunden.

    Jetzt passiert es ab und zu (ich konnte keine Regel ausmachen), dass die Netzwerkverbindung abbricht.

    Ein erneutes Anstecken des Netzwerkkabels hilft nicht, wohl aber ein erneutes Verbinden des USB ETH Adapters.


    Hat jemand eine Idee, wie ich der Ursache dieser USB Verbindungsabbrüche auf die Spur kommen könnte?


    Gruß

    Dodger

  • Schau einmal in die Logfiles.

    Möglicherweise ein DHCP Timeout, was Du mit einer festen IP am Pi begenen kannst.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Wie, wo, welche Logs?

    Sorry, kenn mich zwar ein bisschen aus, aber Log files in Linux gehören leider noch nicht dazu.

    Und nochmal? Nicht die Netzwerkverbindung wird getrennt, sondern die USB Verbindung.

    So sehe ich dashedenfalls, weil ein erneutes Anstecken des Netzwerkkabels keine Abhilfe schafft.

  • Moinsen,

    Also wir reden doch von einem Zero !? Dann muss an der zweiten µUSB Buchse doch ein OTG Adapter oder ein USB Hub angeschlossen sein ?
    GGF könnte man auch so etwas nutzen, wie einen HUB mit integrierter Netzwerkschnittstelle.

    Und wichtig wäre es was der Auslöser ist. Du sagst der USB sei daran Schuld, wie kommst du darauf ?
    Könnte es auch eine schwächelnde Stromversorgung sein ? Und nur die mittelbare Folge wäre dann das verlieren des Adapters, und dann als weitere Folge der Verbindungsverlust ?
    Auch diese OTG Adapter µUSB auf USB Typ A haben nicht das ewige leben. Und das Zero so meine Erfahrungen reagiert sehr sehr eigen wenn man an dieser OTG Buchse rum macht, egal ob das mal was wackelt, oder eine Verbindung getrennt wird.

    Franky

  • Richtig, es hängt ein MicroUSB-USBA Adapter dran.

    Der USBETH ist das einzige angeschlossene Gerät.

    Spannungsversorgung kommt über ein Hutschienen-Netzteil.

    Ich gehe von einem USB Problem aus, weil ein erneutes Anstecken des LAN Kabels keine Besserung bringt, dass Ab- und Anstöpseln des OTG aber schon.

    Müsste bei einem Stromproblem nicht der komplette Raspi abstürzen?

    Der OTG Adapter ist dich passiv, oder?

  • Moinsen,


    Zwei Punkte, weil ohne :gk1: kommen wir hier nicht einmal ansatzweise weiter.

    Einmal die LOGs , ja in diesen findet man eine Erklärung in welcher Reihenfolge etwas abgelaufen ist, und nicht nur auf Vermutungen beruhend.

    Und bei dem DLINK Ethernet Adapter dürfen wir uns sicherlich auch ein Modell heraussuchen ?
    Wenn der Ethernet-Adapter ähnlich einem USB-Stick ist, also eine starre Verbindung zum OTG Adapter besteht, hier nun auch wieder was nur die :gk1: oder du wissen kannst, dann besteht immer eine mechanische Last auf dem OTG-Adapter und der Buchse auf der Platine. Also wenn kein Stückchen Kabel zwischen der USB Buchse des Pi und dem eigentlichen DLINK Adapter dazwischen ist, kann es auch sein das die Buchse schon mechanisch ausgeleiert ist.

    Und beim Thema Stromversorgung, das Zero ist um einiges Toleranter als die größeren Modelle, und wenn es dann knapp wird, kann es durchaus sein das sich ein USB Gerät abmeldet, weil die Spannung zu gering ist, aber das Zero deswegen noch weiter läuft. Aber auch hier ein Blick ins LOG ob irgendwo eine solche Warnmeldung gibt: cat /var/log/syslog* | grep voltage

    Franky

  • Der USB Port am Raspi ist frei von mechanischer Belastung.

    Im Syslog gibt es keine Einträge mit dem Schlagwort " voltage".

    Das Schlagwort "USB" bringt keinen Eintrag zum Zeitpunkt des Verbindungsverlustes sondern erst dann wieder, als ich den OTG reconnected habe


    EDIT

    Da steht von heute morgen ein Disconnect. Da habe ich ihn abgestempelt...


    pi@raspiSAE2:~ $ cat /var/log/syslog* | grep usb

    Dec 27 08:31:07 raspiSAE2 kernel: [2111483.951444] usb 1-1: USB disconnect, device number 3

    Dec 27 08:31:07 raspiSAE2 kernel: [2111483.951917] ax88179_178a 1-1:1.0 eth0: unregister 'ax88179_178a' usb-3f980000.usb-1, D-Link DUB-1312 USB 3.0

    to Gigabit Ethernet Adapter

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.371335] usb 1-1: new high-speed USB device number 4 using dwc_otg

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.617405] usb 1-1: New USB device found, idVendor=2001, idProduct=4a00, bcdDevice= 1.00

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.617422] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.617432] usb 1-1: Product: D-Link DUB-1312

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.617441] usb 1-1: Manufacturer:

    D-Link Elec. Corp.

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.617451] usb 1-1: SerialNumber:

    00000000000DA6

    Dec 27 08:31:14 raspiSAE2 kernel: [2111490.978230] ax88179_178a 1-1:1.0 eth0: register 'ax88179_178a' at usb-3f980000.usb-1, D-Link DUB-1312 USB 3.0 to Gigabit Ethernet Adapter, 78:32:1b:a8:aa:59

    Dec 27 08:31:15 raspiSAE2 mtp-probe: checking bus 1, device 4: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1"

    Dec 27 08:31:15 raspiSAE2 mtp-probe: checking bus 1, device 4: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1"

  • Hallo Dodger,

    Müsste bei einem Stromproblem nicht der komplette Raspi abstürzen?

    Der OTG Adapter ist dich passiv, oder?

    Nö. Das hängt vom Umfang des Stromproblems ab.


    • Er fährt gar nicht hoch, weil die Spannungsversorgung so schwach ist, dass der RPi mitsamt Peripherie nicht ausreichend versorgt werden kann
    • Er fährt soweit hoch, dass der Boot-Vorgang startet. Danach befindet sich das Teil im sog. Boot-Loop (Dauerschleife), aus der er nicht mehr herauskommt.
    • Er fährt vollkommen hoch - vielleicht sogar ohne irgendwelche Hinweise auf Spannungsprobleme. Dann - bei Starten eines weiteren Programms, bei größerer CPU-Last, bei irgendeinem externen Ereignis, dass entsprechend CPU-Ressourcen erfordert, kann das Netzteil nur nicht mehr ausreichend Strom liefern. In diesem Fall werden einzelne Dienste deaktiviert und - wenn Du Glück hast - auch mal wieder reaktiviert. Dieses De- und Reaktivieren kann sporadisch alle paar Wochen - oder auch im Abstand von Sekunden - vorkommen.

    Diese Deaktivieren und Reaktivieren zeichnet das Betriebssystem fein säuberlich auf. Kannst Du in der aktuellen Sitzung über dmesg abrufen. Oder ansonsten in den Log-Dateien (deswegen auch die Frage von RTFM dazu).

    Dieses Deaktivieren und Reaktivieren verbraucht dann auch Ressourcen, die noch mehr Strom verbrauchen. Du kannst damit in einen Teufelskreis geraten: Die CPU ist zu annähernd 100 % mit diesem De- und Reaktivieren beschäftigt, dass sonst nichts mehr zu laufen scheint.


    Zu den Diensten. Am häufigsten sind betroffen:

    • USB (Tastatur hängt oder reagiert verzögert, Maus dito, Laufwerke sind mal nicht aufrufbar)
    • LAN, WLAN (Internetseiten sind nicht aufrufbar)
    • HDMI (Monitor wird mal kurz schwarz)


    In den Log-Dateien findest Du dann endlose Wiederholungen der versuchten Einbindung / Abmeldung der immer wieder gleichen Hardware.


    Die häufigste Ursache sind Probleme des Netzteils (z.B. Verwendung eines Handy-Ladekabels, Alterung des Netzteils bzw. der verbauten Kondensatoren), Kontaktprobleme (Oxidation).


    Wenn ich hier ein paar Deiner Probleme identifiziert habe, und Dich die Thematik näher interessiert, dann wirf mal einen Blick in meine Linkliste zum Thema "Mysterium". Dort sind 34 Links zu solchen Effekten.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • In die Meldungen des Kernels mit dmesg -T  o.ä. zu schauen ist ein guter Ansatz. Andere nützliche Infos kann man allgem. unter /var/log finden. Dein USB LAN Adapter ist ja laut Eintrag im Logfile ein USB 3 Adapter, es wäre nicht das erste Mal, dass es bei der Kombination von USB 3 Geräten an USB 2 Ports evtl. zu Problemen kommen kann. Vielleicht kannst Du mit einem anderem USB2 zu LAN Adapter mal testen ob da ein ähnliches Verhalten auftritt.

  • Im dmesg finde ich haufenweise folgende Fehlermeldung:


    [Tue Dec 27 08:30:25 2022] ax88179_178a 1-1:1.0 eth0: Failed to read reg index 0x0009: -71


    Und im Netz finde ich nur Hinweise, das der Treiber wohl ne Macke hätte...

    Edited once, last by Dodger ().

  • Sowas ähnliches hab ich gefunden.

    Aber Treiber compilieren und im Kernel tauschen ist mir dann doch too much.

    Ausserdem scheitere ich schon daran, dass ich nicht die passenden Linux headers für meinen Kernel heruntergeladen bekomme...

    Ich hab Kernel 5.10.63-v7+ und runtergeladen bekomme ich nur 5.15.76....

  • Hallo Dodger ,


    hier hat jemand eine "Problemlösung" für den buggy Treiber mit dem Programm usbreset gefunden. Ist vielleicht eine Möglichkeit, wenn man das automatisiert ablaufen lässt. z.B. über Watchdog, Ping und Repair-Binary (siehe man watchdog und man watchdog.conf) oder über ein selbstprogrammiertes Ping-Script.


    Gruß Martin

  • Moinsen,


    Ich verstehe nicht die Grundhaltung. Erst nimmt einen OTG Adapter daher, der ohnehin nicht der stabilste ist, dann schlägt man sich mit einem Treiber herum, und verplempert viel viel Zeit mit Erklärungen und Begründungen warum nicht.

    Ich hatte in meinem Post #4 schon eine Alternative aufgezeigt, die einfach nur in Anstecken und funktioniert enden wird. Klar ist der Platzbedarf möglicher Weise etwas größer, was ich auch nicht bestreiten will, aber mehr als einen Teil von 100MBIT /SEK Netto geht dort ohnehin nicht durch, weil der USB nicht mehr schafft. Warum dann diese Kopfstände mit einem externen USB-to-Ethernet Adapter der wahrscheinlich auch noch mehr Strom verbrauchen dürfte, einen eigen Treiber zum Nachinstallieren benötigt, als diese Fertiglösung zum "Anstecken" !? Plug & Play... gibt es auch beim PICO und bei LINUX

    Franky