Giter VIP home page Giter VIP logo

Comments (12)

klahus1 avatar klahus1 commented on August 15, 2024

Hallo zusammen,

ich habe jetzt mal einen pull request mit meinen Änderungen / Ergänzungen gestellt.

Das Problem mit der WebApi liegt vermutlich an dem "alten Linux System" meines Entwicklungsnotebooks.
Es scheint so, wenn ein Browser kein oder nur ältere Versionen von JavaScript unterstützt, dann ist die Kommunikation nicht vollständig und der "ESPAsyncWebServer" oder "AsyncTCP" hängt sich auf.
Das führt dann unweigerlich zum WDT und reboot.
Mal schauen, ob ich in den nächsten Tage Zeit finde, das Ganze mal genauer zu analysieren.
Mit neueren Browsern ist es kein Problem und läuft tadellos.

Viele Grüße
Klaus

from opendtu.

tbnobody avatar tbnobody commented on August 15, 2024

Habe da nochmal drüber nachgedacht. Selbst wenn der Client kein JS unterstützt sollte er ja die .js Datei laden. Ob er den Code dann ausführt ist eine andere Sache. Generell darf ein fehlgeschlagener Download den Webserver nicht zum crashen bringen. Werde mal versuchen da heute Abend drüber zu schauen.

from opendtu.

klahus1 avatar klahus1 commented on August 15, 2024

Ja, ist schon komisch.
Ich werde in den nächsten Tagen mal mit "Wireshark" schauen, welche Unterschiede es in der Kommunikation gibt...

from opendtu.

klahus1 avatar klahus1 commented on August 15, 2024

Hallo zusammen,
einen Fehler konnte ich leider nicht finden jedoch ein wenig eingrenzen.
In den Wireshark Logs ist nichts Auffälliges zu finden, die Kommunikation hört plötzlich auf.

grafik

Verbunden ist das Notebook über das interne Ethernet-Interface.

Als nächstes habe ich das eingebaute WiFi-Interface und einen externen USB-Ethernet-Adapter getestet.
Da läuft alles einwandfrei und ohne Probleme.

Selbst in der VirtualBox mit einem neueren Linux, hatte ich per eingebautem Ethernet-Interface das Problem.
Es scheint also ein Problem HW- oder Treiber-Problem zu sein, dass hoffentlich nur auf meinem alten Notebook besteht.

VG
Klaus

from opendtu.

tbnobody avatar tbnobody commented on August 15, 2024

Hallo Klaus,

ich habe auf Basis deines PR selbst schon einen Branch mit Ethernet Unterstützung lokal am laufen. Bisher konnte ich keine Probleme feststellen. Habe ein paar Dinge etwas anders Implementiert. Für den MQTT Support fehlen mir noch ein paar Anpassungen aber dann kann ich das mal freigeben.

from opendtu.

tbnobody avatar tbnobody commented on August 15, 2024

Hallo Klaus,
die letzten Commits von heute haben ein neues Environment hinzugefügt "olimex_esp32_poe".
(Dies kann in VSCode in der Statusleiste umgeschaltet werden. Achtung, es gibt dafür separate Port Einstellungen)

Das Umschalten zwischen WiFi und Ethernet klappt auch schon Problemlos (hoffe ich).
Was ich heute noch nicht ganz geschafft habe ist die Darstellung in der WebGUI. IP usw. werden vom korrekten, aktiven Interface angezeigt.. Jedoch ist noch nicht ersichtlich welches Interface aktiv ist.

Es ist zur Zeit so implementiert, dass bei aktivem Ethernet das WiFi immer deaktiviert wird bzw. anders herum.

from opendtu.

klahus1 avatar klahus1 commented on August 15, 2024

Hallo Thomas,
vielen Dank für das Integrieren in dein Projekt.
Es mach sehr viel Arbeit gewissenhaft die Änderungswünschen einzubauen.
Das ist nicht selbstverständlich...
Ich hoffe, dass ich zukünftig noch etwas mehr zum openDTU beitragen kann.

Am Wochenende werde ich mal den Code zusammenführen und testen.

Viele Grüße
Klaus

from opendtu.

stefan123t avatar stefan123t commented on August 15, 2024

@klahus1 habe mir das Issue mal aufmerksam durchgelesen.

Hier die Punkte die mir spontan dazu einfallen:

  • einige der Seiten in der OpenDTU nutzen m.W. WebSocket für aktuelle Daten, hier haben evtl. ältere Browser Patchbedarf und lassen eine Verbindung offen ?
    Oder AsynTCP und ESPAsyncWebServer kommen mit ein paar TCP Signalen SYN, ACK, etc. nicht klar die hier vom Browser nach einer evtl. veralteten WebSocket Spec verwendet wurden/werden.

  • Dein TCPDump mit Wireshark deutet für mich darauf hin, dass der ESP (openDTU-eth.fritz.box 192.168.1.39 ?) seinen ARP Cache aktualisieren möchte um die IP 192.168.1.211 bzw. 192.168.1.111 (Notebook ?) zu erfahren.
    Das Notebook antwortet auch mit der MAC Adresse 08:62:66:b6:20:b7 für 192.168.1.111.
    Die anderen Source / Destinations sind nur als Namen angegeben das macht es etwas schwierig das wirklich nachzuvollziehen.
    Warum gibt es zwei IP Adressen ..211 und ..111 ?
    Was macht der TCP Stack auf dem Olimex ETH Device (Version?) bzw. dem ESP WiFi zu diesem Zeitpunkt -> Serial Logs ?
    Eventuell hat der ESP auch eine Verbindung mit WiFi und ETH gleichzeitig hergestellt und er muss plötzlich als Bridge arbeiten ?

@tbnobody kannst Du das Problem bei Dir mit Deiner Hardware überhaupt nachstellen ?

from opendtu.

tbnobody avatar tbnobody commented on August 15, 2024

Habe hier das gleiche Olimex Board und habs mit mehreren Browsern (allerdings alles neue Versionen) getestet. Konnte keine Fehler feststellen bisher.

from opendtu.

stefan123t avatar stefan123t commented on August 15, 2024

@klahus1 kannst Du mal Deine Browser Version posten oder willst Du das Issue als Browser abhängig schließen?
Wie gesagt ich könnte mir auch noch vorstellen dass Dein ESP Irgendwie in den Bridge Modus geraten ist und das Routing nicht mehr klappt ?

from opendtu.

klahus1 avatar klahus1 commented on August 15, 2024

Hallo zusammen,
da ich das Problem nur auf einem alten Notebook (Linux) habe, kann ich gerne das issue schließen.

from opendtu.

klahus1 avatar klahus1 commented on August 15, 2024

Noch ein kleiner Nachtrag,

  • Warum gibt es zwei IP Adressen ..211 und ..111 ?

...111 ist mein Notebook, ...211 ist der MQTT-Broker.

Da ich nur den Traffic meines Notebook lokal mitgeschrieben habe und nicht remote auf den Switchen / Routern "sieht" mein Notebook zwar den ARP Request des ESP, jedoch keinen weiteren TCP/IP Traffic der anderen Teilnehmer.

from opendtu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.