Forum: Mikrocontroller und Digitale Elektronik Daten von ESP32 an Fritzbox senden (mit FTP)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Dieter K. (dieter_k739)


Lesenswert?

Hallo an alle

ich bin gerade eher zufällig auf diesen Beitrag gestoßen: 
Beitrag "Daten von ESP32 an Fritzbox senden - FTP oder SMB?" und sehe hier ein
vergleichbares Projekt zu meinem aktuellen Projekt und einen Teil meiner
Probleme beschrieben. Da besagter Beitrag zu alt ist, folge ich der 
Empfehlung, einen neuen Beitrag zu erstellen.

Ich bin dabei, mit einem ESP32 Modul (Arduino IDE) einen Datenlogger zu
entwickeln, der seine Messwerte periodisch an einen FTP Server
übermittelt.
Das Ganze funktioniert seit einigen Wochen ganz ordentlich, jedoch nicht
ganz so, wie ich es mir vorgestellt hatte: leider ist es mir bisher
nicht gelungen, die Daten per FTP auf meiner Fritzbox 7590 abzulegen.
Ich musste auf einen anderen FTP-Server umsteigen und benutze derzeit
meinen Webspace bei einem deutschen Provider. Natürlich wäre mir sehr
viel lieber, wenn ich meine Datenpakete im Hausnetz halten könnte, aber
dafür müsste ich ein weiteres Gerät permanent am Laufen halten, was ich
aus diversen Gründen nicht möchte. Die Fritzbox ist ohnehin da und
permanent aktiv. Nur leider funktioniert sie nicht, wie sie soll und
nach wie vor habe ich keine Lösung.
Es ist übrigens keinerlei Problem, so wie weiter oben schon
vorgeschlagen, per FTP weitere Daten an eine vorhandene Datei anzuhängen
(APPE). In meinem Projekt wird alle 12 Stunden eine neue Datei angelegt.

Nun habe ich die Frage, ob es schon jemandem gelungen ist, per FTP Daten 
aus einem ESP32 Modul in eine Datei auf dem NAS einer Fritzbox zu 
schreiben und falls ja, wie man die Fritzbox dazu bringt, das zu 
ermöglichen?

Vielen Dank
Dieter

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Was passiert denn, wenn Du Dich mit einem normalen Computer mit dem NAS 
auf der Fritzbox verbinden möchtest? Funktioniert das oder führt da auch 
zu Problemen?

von Dieter K. (dieter_k739)


Lesenswert?

Mit meinem Laptop kann ich mich problemlos mit dem NAS der Fritzbox 
verbinden (mit Filezilla-FTP). Ebenso kann das ESP32 Modul mit den FTP 
Servern auf meinem Webspace oder auf anderen PCs in unserem Hausnetz 
zugreifen. Einzig die Kombination ESP-Modul <--> Fritzbox-NAS via FTP 
geht nicht. Das Ganze läuft übrigens unverschlüsselt ab.
Heute habe ich außerdem den FTP-Zugriff auf eine andere Fritzbox (7390) 
getestet: identisches Problem! Außerdem habe ich einen Test mit einer 
anderen ESP32-FTP-Library gemacht: auch hier das identische Problem. Für 
mich sieht es so aus, als ob es eine Inkompatibilität zwischen den 
ESP-Modulen und den Fritzboxen gibt, die andere FTP Clients bzw. Server 
ignorieren.

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

Du koenntest es einmal mit ein Modeumschaltung "ACTIVE/PASSIVE"
probieren. Wie das in deiner Library geht, musst du selbst herausfinden.
Ob die FBox das unterstuetzt, kannst du mit einem PC FTP-Client
leicht herausfinden. Der Befehl ist "remotehelp".
Da sollte dann z.B. ein "PASV" in der Liste auftauchen.

von N. M. (mani)


Lesenswert?

Ansonsten geh halt Mal auf die Capture Seite deiner Fritzbox und 
schneide den Traffic in beiden Fällen mit.
Dann sollte man schnell den Unterschied rausfinden.

von Dieter K. (dieter_k739)


Lesenswert?

Damit habe ich mich schon einige Zeit beschäftigt. Leider schneidet die 
Fritzbox nur den Verkehr nach außen (WAN) mit, die FTP Zugriffe auf das 
NAS sind nicht im Datenstrom enthalten. Nun suche ich noch nach einer 
Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox 
mitschneiden könnte. Das scheint nur direkt auf einer Leitung zwischen 
dem ESP und der Fritzbox zu gehen. Alle Switches dazwischen scheinen die 
ESP Pakete abzublocken.
Ich habe zwischen dem ESP32 und der Master-Fritzbox noch eine ältere 
Fritzbox (7390), doch da die im AP-Modus betrieben wird, zeichnet sie 
keinen IP Traffic auf. Auch Versuche, den internen Datenverkehr durch 
einen Laptop zu leiten, waren bisher nicht erfolgreich. Nun möchte ich 
noch einen Versuch mit einem Laptop und der SW 'MyPublicWiFi' und einem 
Wireshark machen. Allerdings wird das noch etwas dauern. Habt Ihr noch 
eine andere idee?

@Motopick: Dann versuche ich auch zwischen Active/Passive umzuschalten. 
Bisher wird alles im FTP Passive Mode gemacht. Da muss ich erst 
rausbekommen, wie das bei der verwendeten ESP-FTP-Lib 
<FTPClient_Generic.h> geht.

Danke,
Dieter

von Rahul D. (rahul)


Lesenswert?

Dieter K. schrieb:
> Nun suche ich noch nach einer
> Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox
> mitschneiden könnte.

Macht wireshark nicht genau das?
https://www.wireshark.org/docs/wsug_html_chunked/ChapterCapture.html

Ich habe damit noch nie gearbeitert, sondern immer nur was darüber 
gelesen.

von N. M. (mani)


Angehängte Dateien:

Lesenswert?

Dieter K. schrieb:
> Leider schneidet die
> Fritzbox nur den Verkehr nach außen (WAN) mit

Also ich kann da auswählen was ich haben möchte (siehe Bild).

Dieter K. schrieb:
> Nun suche ich noch nach einer
> Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox
> mitschneiden könnte

Sollte es bei deiner FritzBox nicht gehen mach halt einen AP dazwischen. 
Dann kommt es über LAN in die FB.

von Εrnst B. (ernst)


Lesenswert?

Bevor man da mit Wireshark und extra-Hardware dazwischen drangeht:

Einfach mal von Hand testen. FTP ist ein altes, textbasiertes Protokoll. 
Das kann man wunderbar mit dem telnet-client testen.

Also: Zwei Konsolen-Fenster aufmachen.
Im ersten:

telnet fritz.box 21
USER Username
PASS Password
HELP
PASV
APPE example.csv

--> Meldet per "Entering Passive Mode" wohin du verbinden sollst.
Die angegebene IP wird die der Fritz-Box sein, Portnummer ist 
interessant, sind die letzten beiden Zahlen (vorletzte mal 256+letzte)
Damit in der zweiten Konsole noch eine Telnet-Session aufmachen.
Alles was du da tippst, wird an example.csv angehängt.

Wenn das so "von Hand" funktioniert: Fritzbox ist nicht schuld, es ist 
deine FTP-Implementation auf dem ESP. Dort weitersuchen.

von Roland S. (roschmi)


Lesenswert?

Den Vorschlag von @mani habe ich mal verwendet, um den Netzwerkverkehr 
zwischen z.B. ESP32 über einen auf dem PC laufenden Access Point 
umzuleiten. Dann sollte man den Netzwerkverkehr zwischen dem PC und der 
Fritzbox mit Wireshark mitschneiden können.

Windows 10: Hotspot einrichten
https://www.giga.de/downloads/virtual-router/tipps/laptop-als-hotspot-einrichten-so-gehts/

Enter:
netsh wlan show drivers
If a usable WLAN Adapter is connected you see the properties.
Create a WLAN Accesspoint on your PC:
netsh wlan set hostednetwork mode=allow ssid=VirtualWiFi key=xxxxxxxxxx 
keyUsage=persistent
Start the Accesspoint:
netsh wlan start hostednetwork

Dann:
Aktuell genutzten Netzwerkadapter auf Teilen der Internetverbindung 
einstellen
Falls Schwierigkeiten aufkommen, könnte ich noch eine hausgemachte 
Anleitung mit möglichen pitfalls zur Verfügung stellen.

Ich selbst bin dazu übergegangen, meine Sensordaten auf Azure Storage 
Tables zu speichern, das funktioniert gut und ist preiswert.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Dieter K. schrieb:

> Damit habe ich mich schon einige Zeit beschäftigt. Leider schneidet die
> Fritzbox nur den Verkehr nach außen (WAN) mit, die FTP Zugriffe auf das
> NAS sind nicht im Datenstrom enthalten.

Unsinn. Du kannst die FB an jedem beliebigen Interface zur 
Protokollierung lauschen lassen. Natürlich auch am LAN- oder 
WLAN-Interface. Du musst ihr einfach nur sagen, welches Interface sie 
protokollieren soll.

Nunja, die von den Entwicklern gewählten Interface-Namen sind leider 
nicht unbedingt selbsterklärend. Das hätte man für ein Consumer-Produkt 
sicher besser lösen können.

Aber auch dann gilt: notfalls bekommt man das mit simplem Probieren 
sehr schnell heraus. Wenn man das tatsächlich will...

> Alle Switches dazwischen scheinen die
> ESP Pakete abzublocken.

Wenn das wirklich so ist, sind sie wohl falsch konfiguriert. Oder die 
Pakete sind schlicht kaputt und werden deshalb zu recht von den Switches 
gedropped.

Glaube ich aber beides nicht, weil: nach deiner eigenen Aussage hast du 
ja gar keine Möglichkeit gefunden, den Traffic am LAN-Interface zu 
loggen.

> @Motopick: Dann versuche ich auch zwischen Active/Passive umzuschalten.
> Bisher wird alles im FTP Passive Mode gemacht.

Und das reicht auch völlig, denn der FTP-Server der FB unterstützt nur 
den Passiv-Mode.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Die Switche machen genau das, wofür sie gebaut wurden - sie schicken 
Packe ausschließlich dort hin, wo sie auch hin sollen. Sprich auf den 
anderen Ports sind sie nicht sichtbar.

Man kann entweder einen alten Hub dazwischenbauen, dieser "switcht" halt 
nicht, sondern er schickt stumpf alle irgendwo empfangenen Pakete auf 
allen anderen Ports wieder raus. Oder man hat einen guten managed 
Switch, bei diesen gibt es oft Möglichkeiten, den Datentransfer eines 
Ports auf einen anderen weiterzuleiten. Dann kann man mittels Wireshark 
mitlauschen. Alternativ, falls es eine WLAN-Verbindung ist braucht man 
eine WLAN-Karte, die Monitor-Mode unterstützt, sprich alle empfangenen 
Pakete weiterreicht.

von Dieter K. (dieter_k739)


Lesenswert?

Ben B. schrieb:
Sorry für die späte Antwort, ich war gestern in Sachen Familie 
beschäftigt.

> Die Switche machen genau das, wofür sie gebaut wurden - sie schicken
> Packe ausschließlich dort hin, wo sie auch hin sollen. Sprich auf den
> anderen Ports sind sie nicht sichtbar.
>
> Man kann entweder einen alten Hub dazwischenbauen ...

Danke für die Bestätigung. Davon war ich ausgegangen. Leider habe ich 
keinen alten LAN Hub mit RJ45, nur noch für Coax Kabel :-)
Einen 'managed Switch' möchte ich mir deshalb (noch) nicht anschaffen.

von Dieter K. (dieter_k739)


Lesenswert?

Rahul D. schrieb:
> Macht wireshark nicht genau das?
> https://www.wireshark.org/docs/wsug_html_chunked/ChapterCapture.html

Doch, dafür ist Wireshark da und macht er auch. Allerdings muss der 
gesuchte Datenverkehr auch im vorhandenen Datenstrom drin sein und genau 
da hapert es leider. Ich hoffe jedoch, mit den weiteren Ideen der 
Kollegen weiter zu kommen.

von Dieter K. (dieter_k739)


Lesenswert?

N. M. schrieb:
> Also ich kann da auswählen was ich haben möchte (siehe Bild).
>
> Dieter K. schrieb:
>> Nun suche ich noch nach einer
>> Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox
>> mitschneiden könnte
>
> Sollte es bei deiner FritzBox nicht gehen mach halt einen AP dazwischen.
> Dann kommt es über LAN in die FB.

Danke Mani,

mir war diese Auswahlliste (Dein Screenshot) schon aufgefallen, aber ich 
wusste nicht, was ich damit anfangen sollte. Nun habe ich große 
Hoffnung, dass eine der Auswahlmöglichkeiten die Aufzeichnung dann doch 
ermöglicht. Ich konnte das aber heute noch nicht testen.

Das mit dem AP ist ja schon mit der zwischengeschalteten 7390 
realisiert, aber ich komme mit meinem Laptop nicht an den Datenstrom 
zwischen den beiden Fritzboxen ran (LAN Kabel, siehe auch 'Hub' in einem 
früheren Beitrag). Vielleicht klappt es aber doch noch, wenn ich ein 
geeignetes Interface in der Master-Fritzbox (7590) finde. Sollte das 
nicht klappen, hoffe ich, die als AP konfigurierte FB 7390 doch noch als 
Router konfigurieren und dann die eingebaute Capture Funktion nutzen zu 
können.

von Dieter K. (dieter_k739)


Lesenswert?

Εrnst B. schrieb:
> Bevor man da mit Wireshark und extra-Hardware dazwischen drangeht:
>
> Einfach mal von Hand testen. FTP ist ein altes, textbasiertes Protokoll.
> Das kann man wunderbar mit dem telnet-client testen.

Danke Ernst,

das hört sich sehr interessant an und ich werde es baldmöglichst testen.

von Dieter K. (dieter_k739)


Lesenswert?

Roland S. schrieb:
> Den Vorschlag von @mani habe ich mal verwendet, um den Netzwerkverkehr
> zwischen z.B. ESP32 über einen auf dem PC laufenden Access Point
> umzuleiten. Dann sollte man den Netzwerkverkehr zwischen dem PC und der
> Fritzbox mit Wireshark mitschneiden können.
>
> Windows 10: Hotspot einrichten
> 
https://www.giga.de/downloads/virtual-router/tipps/laptop-als-hotspot-einrichten-so-gehts/

Danke Roland,

mit einem virtuellen Hotspot habe ich auch schon experimentiert und nach 
anfänglichen Problemen (bei meinem Laptop läuft das nicht, vermutlich 
ist der eingebaute WLAN Adapter nicht geeignet), aber auf einem anderen 
Laptop lief es, jedoch funktionierte damit mein ESP Modul nicht und ich 
habe das vorerst wieder zurückgestellt, ohne das Problem weiter zu 
untersuchen.
Sollte ich mit den anderen Lösungen nicht zum Ziel kommen, werde ich das 
aber nochmals angehen.

von Roland S. (roschmi)


Lesenswert?

Dieter K. schrieb:
> aber auf einem anderen
> Laptop lief es, jedoch funktionierte damit mein ESP Modul nicht und ich
> habe das vorerst wieder zurückgestellt, ohne das Problem weiter zu
> untersuchen.

Soweit ich mich erinnere, war es wichtig, das Protokoll für den 
virtuellen Hotspot in den Adaptereinstellungen auf IPV4 festzulegen 
(IPV6 deaktivieren und neu booten). Ich habe dir mal einen Link auf 
meine damaligen Notizen als PM geschickt.

von Dieter K. (dieter_k739)


Lesenswert?

Εrnst B. schrieb:
> Bevor man da mit Wireshark und extra-Hardware dazwischen drangeht:
>
> Einfach mal von Hand testen. FTP ist ein altes, textbasiertes Protokoll.
> Das kann man wunderbar mit dem telnet-client testen.
>
> Also: Zwei Konsolen-Fenster aufmachen.
> Im ersten:

Hallo Ernst,

nachdem ich nun einige Zeit in dieses Problem investiert habe und zum 
Schluss gekommen bin, das es höchstwahrscheinlich ein Problem in der 
Fritzbox gibt, da ich mit dem ESP keinerlei Fileoperationen ausführen 
kann (auf anderen FTP-Servern sehr wohl) habe ich Deinen Vorschlag 
aufgegriffen und mich per Telnet (PUTTY) an der Fritzbox angemldet und 
bin da doch sehr schnell über Rechteprobleme gestolpert. Mit meinem User 
war ich nicht in der Lage irgendeine Datei anzulegen oder zu löschen. 
Dann habe ich weitere Versuche mit Filezilla gemacht und habe da 
teilweise ähnliche Beobachtungen gemacht.
Entweder ich bin zu blöd, um dieses (doch recht einfache) Protokoll zu 
verstehen, oder irgendetwas stimmt da nicht. Natürlich habe ich bei 
meinem FTP-User auf der Fritzbox diverse Einstellungen ausprobiert.
Ich werde das nun erst mal mit AVM diskutieren und hoffe, dabei der 
Lösung näher zu kommen.
Einen Fehler in meinem Sketch konnte ich bisher noch nicht entdecken, 
was mich auch wundern würde, da dieser Sketch mit einigen anderen FTP 
Servern problemlos zusammenarbeitet.

Ich kann übrigens inzwischen auch mit der Fritzbox den Datenverkehr 
mitschneiden. Da war der Hinweis von Mani und anderen doch sehr 
hilfreich und hat mich auf die Spur des Problems gebracht. Vielen Dank 
dafür!

von Dieter K. (dieter_k739)


Lesenswert?

Es gibt erneute erfreuliche Neuigkeiten: nachdem ich inzwischen annehme, 
dass das Problem in der Rechteverwaltung der Fritzbox bei einem FTP 
Zugriff liegt, habe ich Versuche mit einem FTP Server auf einem anderen 
PC in unserem Hausnetzwerk gemacht und nachdem die Versuche 
vielversprechend waren, nun auf meinem Android Smartphone einen FTP 
Server eingerichtet. Zu meiner Freude läuft dieser nun schon geraume 
Zeit ohne irgendwelche Probleme (mit dem Originalsketch). Allerdings 
musste ich dazu in einer Lib Datei den FTP-Port ändern, da der Port 21 
auf den Android Apps offenbar nicht verwendbar ist.

Nun habe ich das Problem an den AVM Support adressiert und bin gespannt, 
was die dazu sagen.

Viele Grüße und eine schöne Woche
Dieter

von Georg G. (df2au)


Lesenswert?

Dieter K. schrieb:
> Nun habe ich das Problem an den AVM Support adressiert und bin gespannt,
> was die dazu sagen.

Wäre es ein generelles Problem der Fritzbox, wäre es schon Hundertfach 
aufgetreten.
Warum probierst du nicht erst einmal die einfachste Fehlersuche ohne 
Spezialsoftware und Geräte?
Mach in Windows ein DOS-Fenster auf und dann probiere mit dem Windows 
ftp den Dialog mit der Fritzbox. Fehlermeldungen kommen dann in 
Klartext. Sollte dann alles funktionieren, nimm den seriellen Monitor 
des ESP32 und sieh dir dort die Befehle und Rückmeldungen an.

von Thomas W. (Gast)


Lesenswert?

Ich habe ja keine Ahnung, aber wenn ich versuche in der Fritzbox 7490 -> 
Internet -> Freigaben -> Fritz!Box-Dienste anklickere, bekomme ich 
folgenden Text:
1
[] Internetzugriff auf Ihre Speichermedien über FTP/FTPS aktiviert
2
3
Diese Option ermöglicht den Zugriff auf die Speichermedien an der FRITZ!Box aus dem Internet. Zugang haben alle FRITZ!Box-Benutzer, denen im Menü "System > FRITZ!Box-Benutzer" die Rechte "Zugang auch aus dem Internet erlaubt" und "Zugang zu NAS-Inhalten" eingeräumt wurden.

von Zugriff auf den Heimnetz wird da nichts geschrieben.

Und latuernich: telnet ist Dein Freund, und gerade FTP ist wunderbar zu 
debuggen.

von Georg G. (df2au)


Lesenswert?

Mitschnitt eines Beispiels:
C:\Users\Georg>ftp
ftp> open 192.168.2.1
Verbindung mit 192.168.2.1 wurde hergestellt.
220 FTP server ready.
530 Please login with USER and PASS.
Benutzer (192.168.2.1:(none)): Georg
331 Password required for Georg.
Kennwort:
230 User Georg logged in.
ftp> dir
200 PORT command sucessful.
150 Opening ASCII mode data connection for '/bin/ls -lgA'.
drwxrwxr-x 2 ftp ftp 312 Mar  2 2023 Bilder
drwxrwxr-x 2 ftp ftp 384 Jun 30 2023 Dokumente
drwxr-xr-x 4 ftp ftp 376 Jan  1 1970 FRITZ
drwxrwxr-x 2 ftp ftp 232 Dec 16 2011 Musik
drwxrwxr-x 2 ftp ftp 312 Dec 16 2011 Videos
226 Transfer complete.
FTP: 229 Bytes empfangen in 0.01Sekunden 45.80KB/s
ftp> cd Bilder
250 CWD command successful.
ftp> dir
200 PORT command sucessful.
150 Opening ASCII mode data connection for '/bin/ls -lgA'.
-rw-rw-r-- 1 ftp ftp 30192 Dec  1 2011 FRITZ-Picture.jpg
-rw-rw-rw- 1 ftp ftp 393252 Apr  2 2019 Show1.jpg
226 Transfer complete.
FTP: 112 Bytes empfangen in 0.00Sekunden 37.33KB/s
ftp> get show1.jpg
200 PORT command sucessful.
550 show1.jpg: No such file or directory.
ftp> get Show1.jpg
200 PORT command sucessful.
150 Opening ASCII mode data connection for 'Show1.jpg' (393252 bytes).
226 Transfer complete.
FTP: 394685 Bytes empfangen in 0.25Sekunden 1591.47KB/s
ftp>

Beachte, dass Filenamen Case sensitiv sind!

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Thomas W. schrieb:

> von Zugriff auf den Heimnetz wird da nichts geschrieben.

Dafür braucht der Benutzer nur das Recht zum Zugriff auf Medieninhalte, 
nicht aber das Recht, auch aus dem Internet darauf zugreifen zu können.

von Oliver S. (oliverso)


Lesenswert?

Georg G. schrieb:
> Wäre es ein generelles Problem der Fritzbox, wäre es schon Hundertfach
> aufgetreten.

Wer nutzt schon eine FRITZ!box als ftp-Server mit einem ESP32 als 
Client?
Vom PC aus hat’s ja funktioniert.

Oliver

von Dieter K. (dieter_k739)


Lesenswert?

Georg G. schrieb:
> Dieter K. schrieb:
>> Nun habe ich das Problem an den AVM Support adressiert und bin gespannt,
>> was die dazu sagen.
>
> Wäre es ein generelles Problem der Fritzbox, wäre es schon Hundertfach
> aufgetreten.
> Warum probierst du nicht erst einmal die einfachste Fehlersuche ohne
> Spezialsoftware und Geräte?
> Mach in Windows ein DOS-Fenster auf und dann probiere mit dem Windows
> ftp den Dialog mit der Fritzbox. Fehlermeldungen kommen dann in
> Klartext. Sollte dann alles funktionieren, nimm den seriellen Monitor
> des ESP32 und sieh dir dort die Befehle und Rückmeldungen an.

Sorry, dass ich so spät antworte. Leider hatte ich in den letzten Tagen 
sehr wenig Zeit für weitere Untersuchungen. Den Telnetzugang hatte ich 
natürlich auch ausprobiert und auch der hat bei genauerem Hinsehen im 
Arbeitsverzeichnis des FTP nicht funktioniert, genauso wenig wie der FTP 
Zugang mit Filezilla. Die Fehlermeldungen haben immer auf ein 
Rechteproblem hingedeutet, aber ich konnte es nicht lösen. Inzwischen 
ist es gelöst, aber bei Weitem nicht verstanden. Ich darf die generelle 
Freigabe aller NAS-Verzeichnisse nicht verwenden. Da gehen einzelne 
Verzeichnisse, andere nicht, z.B. geht das gewählte Arbeitsverzeichnis 
nicht. Erst als diese Freigabe gelöscht habe und nur gezielt nur das 
Arbeitsverzeichnis freigegeben habe, hat es funktioniert.
AVM hat inzwischen auch nur lakonisch festgestellt, dass ihrer Meinung 
nach alles bei meiner Fritzbox in bester Ordnung sei. Auf meine Fragen 
zu den Zugangsrechten sind sie überhaupt nicht eingegangen.
Nun bin ich zwar einen Schritt weiter, aber nach wie vor ist die FTP 
Funktion der Fritzbox für meine Anwendung unbrauchbar: es wird zwar eine 
Verbindung aufgebaut, eine Datei angelegt und kann beschrieben werden. 
Jedoch treten innerhalb der ersten maximal 10 Schreibvorgänge Fehler 
auf, die dazu führen, dass die Verbindung abbricht und der eingebaute 
Watchdog einen Restart des ESP auslöst. Die Ursache dieser Fehler konnte 
ich bisher nicht ergründen. Nach wie vor kann der ESP mit exakt dem 
gleichen Sketch problemlos auf dem FTP-Server auf meinem Webspace loggen 
oder auch innerhalb meines Hausnetzes auf dem FTP-Server auf einem 
meiner alten Android Smartphones.

von Dieter K. (dieter_k739)


Lesenswert?

Thomas W. schrieb:
> Ich habe ja keine Ahnung, aber wenn ich versuche in der Fritzbox 7490 ->
> Internet -> Freigaben -> Fritz!Box-Dienste anklickere, bekomme ich
> folgenden Text:
>
>
1
> [] Internetzugriff auf Ihre Speichermedien über FTP/FTPS aktiviert
2
> 
3
> Diese Option ermöglicht den Zugriff auf die Speichermedien an der 
4
> FRITZ!Box aus dem Internet. Zugang haben alle FRITZ!Box-Benutzer, denen 
5
> im Menü "System > FRITZ!Box-Benutzer" die Rechte "Zugang auch aus dem 
6
> Internet erlaubt" und "Zugang zu NAS-Inhalten" eingeräumt wurden.
7
>
>
> von Zugriff auf den Heimnetz wird da nichts geschrieben.


Ich glaube nicht, dass man das so eng sehen muss und gehe davon aus, 
dass der Fritzbox egal ist, ob man FTP von außerhalb oder vom Hausnetz 
aus nutzen möchte. In den meisten Fällen geht es auch problemlos, aber 
eben nicht mit meinen ESP Modulen. Wie schon vorher geschrieben, habe 
ich auch mit Telnet geabeitet, aber nennenswert weitergeholfen hat es 
mir leider nicht.

von Dieter K. (dieter_k739)


Lesenswert?

Oliver S. schrieb:
> Georg G. schrieb:
>> Wäre es ein generelles Problem der Fritzbox, wäre es schon Hundertfach
>> aufgetreten.
>
> Wer nutzt schon eine FRITZ!box als ftp-Server mit einem ESP32 als
> Client?
> Vom PC aus hat’s ja funktioniert.
>
> Oliver

Ich denke, das ist das Hauptproblem. Ich habe mich nun mal dafür 
entschieden, meine Messdaten per FTP zu loggen und sehe ja, dass es mit 
anderen Servern funktioniert und würde schon gerne verstehen, weshalb es 
mit der Fritzbox einfach nicht funktionieren will. Wie schon erwähnt, 
läuft das alles ja schon seit etwa einem Jahr mit dem externen FTP 
Server. Nur die Idee, die Daten lokal auf meiner Fritzbox zu speichern, 
war bisher noch nicht umsetzbar.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Dieter K. schrieb:

> Ich darf die generelle
> Freigabe aller NAS-Verzeichnisse nicht verwenden.

Warum nicht? Jeder andere kann das.

> AVM hat inzwischen auch nur lakonisch festgestellt, dass ihrer Meinung
> nach alles bei meiner Fritzbox in bester Ordnung sei.

Womit sie wohl Recht haben, da du der einzige Honk bist, der da ein 
Problem hat.

> Auf meine Fragen
> zu den Zugangsrechten sind sie überhaupt nicht eingegangen.

Da gibt's auch überhaupt kein Problem. Entweder der User hat das Recht 
zum Zugriff auf eine bestimmtes Medium oder er hat es nicht. 
Dementsprechend ist das Ergebnis.

Und das funktioniert so. Bei Millionen von Leuten. Nur bei dir nicht. 
Sollte dir das nicht zu denken geben?

> Nun bin ich zwar einen Schritt weiter, aber nach wie vor ist die FTP
> Funktion der Fritzbox für meine Anwendung unbrauchbar: es wird zwar eine
> Verbindung aufgebaut, eine Datei angelegt und kann beschrieben werden.
> Jedoch treten innerhalb der ersten maximal 10 Schreibvorgänge Fehler
> auf, die dazu führen, dass die Verbindung abbricht und der eingebaute
> Watchdog einen Restart des ESP auslöst.

Das ist natürlich ein Problem deines offensichtlich fehlerhaften 
ESP-Programms. Ganz egal, wie falsch sich die FB verhalten mag (tut sie 
nicht), ein Watchdog-Reset ist definitiv ein Hinweis auf eine schwere 
Fehlfunktion im Client. Denn wie auch immer der Host reagiert, darf 
natürlich beim Client niemals ein Reset herauskommen. Sprich: der Client 
ist KAPUTT.

Du kannst offensichtlich nicht wirklich programmieren. Nur 
zusammengeklauten Code sinnlos-mechanisch zusammenkleben. Und die FB 
soll dann Schuld sein...

von Harald K. (kirnbichler)


Lesenswert?

Um das Problem zu untersuchen (falls tatsächlich Interesse daran 
bestehen sollte), könnte man mit Wireshark den Netzwerktraffic 
aufzeichnn und sich ansehen, was passiert.

Dann könnte man die Kommunikation mit einem anderen FTP-Server 
aufzeichnen und vergleichen.

Klar, dazu muss man natürlich auch das FTP-Protokoll an sich verstehen, 
aber das ist in RFC 959 dokumentiert.

Für einen ersten Überblick aber genügt auch 
https://de.wikipedia.org/wiki/File_Transfer_Protocol

von Rahul D. (rahul)


Lesenswert?

Harald K. schrieb:
> Um das Problem zu untersuchen (falls tatsächlich Interesse daran
> bestehen sollte), könnte man mit Wireshark den Netzwerktraffic
> aufzeichnn und sich ansehen, was passiert.

Hatte ich auch schon vorgeschlagen:
Rahul D. schrieb:
> Dieter K. schrieb:
>> Nun suche ich noch nach einer
>> Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox
>> mitschneiden könnte.
>
> Macht wireshark nicht genau das?
> https://www.wireshark.org/docs/wsug_html_chunked/ChapterCapture.html
>
> Ich habe damit noch nie gearbeitert, sondern immer nur was darüber
> gelesen.

Wurde aber als undurchführbar wegen des Routings per Netztwerk-Switch 
abgetan.

von Christian B. (Firma: privat) (cebra)


Lesenswert?

Ob S. schrieb:
> Dieter K. schrieb:
>
>>
> Womit sie wohl Recht haben, da du der einzige Honk bist, der da ein
> Problem hat.
>
>
>
> Du kannst offensichtlich nicht wirklich programmieren. Nur
> zusammengeklauten Code sinnlos-mechanisch zusammenkleben. Und die FB
> soll dann Schuld sein...


Auch wenn Du möglicherweise Recht hast mit den technischen Ursachen, so 
hast Du aber kein Recht jemanden „Honk“ zu nennen, bzw. In dieser Tonart 
hier zu schreiben.

Christian

von Harald K. (kirnbichler)


Lesenswert?

Rahul D. schrieb:
> Wurde aber als undurchführbar wegen des Routings per Netztwerk-Switch
> abgetan.

https://www.heise.de/ratgeber/Paketmitschnitte-der-Fritzbox-automatisch-an-Wireshark-weitergeben-4155867.html

fritz.box/support.lua funktioniert auch mit fritz.os 7.57

von Rahul D. (rahul)


Lesenswert?

Harald K. schrieb:
> Rahul D. schrieb:
>> Wurde aber als undurchführbar wegen des Routings per Netztwerk-Switch
>> abgetan.
>
> 
https://www.heise.de/ratgeber/Paketmitschnitte-der-Fritzbox-automatisch-an-Wireshark-weitergeben-4155867.html
>
> fritz.box/support.lua funktioniert auch mit fritz.os 7.57

Ich habe weder das eine noch das andere getestet (mein "Server" läuft 
auf einem Raspi mit USB-SSD), weil meine bisherige FitzBox nur USB 1.1 
(oder sowas) unterstützt.
Vielleicht teste ich den ftp-Zugang mal.

Dass WireShark nicht in einem Netzwerk mit Switchen läuft, kommt nicht 
vom mir.

von Harald K. (kirnbichler)


Lesenswert?

Rahul D. schrieb:
> Dass WireShark nicht in einem Netzwerk mit Switchen läuft, kommt nicht
> vom mir.

Wenn man den Verkehr zwischen zwei Geräten an einem Switch mit einem 
dritten Gerät abhören möchte, braucht man einen "manageable switch". Ein 
günstiges Beispiel dafür ist der Netgear GS308E 
(https://preisvergleich.heise.de/netgear-soho-gs300-desktop-gigabit-smart-switch-gs308e-400-a3217129.html).

Den kann man so konfigurieren, daß er den Datenverkehr zwischen seinen 
Ports an einem weiteren Port in Kopie ausleitet. Und da hängt man dann 
den PC mit Wireshark dran.

Da hier ein ESP32 verwendet wird, ist sehr wahrscheinlich, daß da eine 
direkte WLAN-Verbindung zwischen ESP32 und Fritzbox genutzt wird, da 
hilft so ein Switch dann natürlich auch nicht.

Wenn man aber einen WLAN-fähigen PC hat, der mit einem Netzwerkkabel mit 
der Fritzbox verbunden ist, kann man den PC zu einem WLAN-Accesspoint 
machen, den ESP32 damit verbinden und somit den Netzwerkverkehr zwischen 
ESP32 und Fritzbox durch den PC durchleiten - und damit wird er für 
Wireshark sichtbar.

Ein Mitschrieb durch die Fritzbox sollte aber auch schon helfen, man 
muss halt nur 'rausfinden, welchen der diversen Ports in der Fritzbox 
man aufzeichnen muss.


Fazit: Lösbar, wenn man denn nur will.

von Roland S. (roschmi)


Lesenswert?

Dieter K. schrieb:
> Außerdem habe ich einen Test mit einer
> anderen ESP32-FTP-Library gemacht: auch hier das identische Problem. Für
> mich sieht es so aus, als ob es eine Inkompatibilität zwischen den
> ESP-Modulen und den Fritzboxen gibt, die andere FTP Clients bzw. Server
> ignorieren.

Welche ftp-clients für den ESP32 hast du denn verwendet?
Ich finde die Idee mit der Fritzbox interessant und will das auch mal 
ausprobieren.
Das Mitschneiden des Netzwerktraffics zwischen ESP32 und der Fritzbox 
über einen WLAN-AP mit Wireshark auf meinem PC habe schon wieder 
aufgebaut und es funktioniert (jedenfalls mit http).

von Dieter K. (dieter_k739)


Lesenswert?

Hallo Roland

ich verwende seit langem die FTP_Generic Library, nachdem ich zuerst 
Probleme mit der standard FTP Library aus der Arduino IDE 
'ESP32_FTPClient.h' hatte. Inzwischen habe ich aber auch diese Lib 
nochmals getestet und auch sie lief dann problemlos. War anfangs wohl 
ein anderes Problem.

Ich hatte vor ein paar Wochen auch versucht, meinen PC als WLAN-AP zu 
konfigurieren, aber leider war das nicht zum Laufen zu bringen. Mein 
Laptop zickt da manchmal etwas rum. Mit einem anderen PC lief zwar der 
Hotspot, da dieser aber ein eigenes WLAN mit einem eigenen IP Adressraum 
aufgebaut hat, gab es dann andere Probleme, die ich nicht weiter 
untersucht habe.
Auf Grund eines Hinweises in diesem Forum habe ich mich dann auf die 
diversen 'Interfaces' in der Fritzbox konzentriert und alle abgeklappert 
und in den 8 Internet-Schnittstellen keine brauchbaren Mitschnitte 
gefunden aber in den 31 Netzwerk-Schnittstellen war dann eine einzige 
Schnittstelle (lan), die den gesuchten Datenverkehr mit meinen ESP32 
Modulen beinhaltete. Ab da war der Rest kein Problem mehr. Inzwischen 
läuft das Logging auch mit der Fritzbox einwandfrei. Mehr dazu in meinem 
nächsten Beitrag.

Dieter

von Roland S. (roschmi)


Angehängte Dateien:

Lesenswert?

Ich habe gestern mit dem gleichen ftp-Client experimentiert:
-https://github.com/khoih-prog/FTPClient_Generic
Mit dem WLAN Access Point (über USB WLAN Stick) auf meinem PC läuft nach 
den entsprechenden Einstellungen auch alles problemlos.
ESP32 und Fritzbox können auch kommunizieren, zumindest, wenn die 
Verbindung umgeleitet über den Ethernet Port auf meinem PC-läuft (siehe 
Wireshark Mitschnitt)

von Harald K. (kirnbichler)


Lesenswert?

Roland S. schrieb:
> ESP32 und Fritzbox können auch kommunizieren

Naja, Dein Mitschnitt zeigt nur die Anmeldung, nicht aber, was passiert, 
wenn Nutzdaten übertragen werden sollen (put bzw. get, oder auch dir).

von Dieter K. (dieter_k739)


Lesenswert?

Hallo Harald et al

es gibt gute Neuigkeiten, aber zuerst noch ein paar Antworten

> Wenn man den Verkehr zwischen zwei Geräten an einem Switch mit einem
> dritten Gerät abhören möchte, braucht man einen "manageable switch". Ein
> günstiges Beispiel dafür ist der Netgear GS308E

Danke für den Link. Leider habe ich keinen 'manageable Switch' zur 
Verfügung und wollte auch keinen kaufen.

> Wenn man aber einen WLAN-fähigen PC hat, der mit einem Netzwerkkabel mit
> der Fritzbox verbunden ist, kann man den PC zu einem WLAN-Accesspoint
> machen, den ESP32 damit verbinden und somit den Netzwerkverkehr zwischen
> ESP32 und Fritzbox durch den PC durchleiten - und damit wird er für
> Wireshark sichtbar.

Diese Lösung hätte ich bevorzugt. Aber das hat sich dann als unnötig 
herausgestellt, da es mir inzwischen glücklicherweise gelungen ist, doch 
ein Netzwerk-Interface in der Fritzbox zu finden, in dem der gesuchte 
Datenstrom der ESP-Module aufgezeichnet war. Siehe dazu meine vorige 
Antwort an Roland

> Da hier ein ESP32 verwendet wird, ist sehr wahrscheinlich, daß da eine
> direkte WLAN-Verbindung zwischen ESP32 und Fritzbox genutzt wird, da
> hilft so ein Switch dann natürlich auch nicht.

In meinem Netzwerk hat eine weitere Fritzbox 7390 diese Aufgabe 
übernommen und dient auch als AP für andere Geräte (z.B. die 
ESP32-Module) und Laptops, die bei Bedarf mit WOL in Betrieb genommen 
werden. Diese zweite FB ist per LAN Kabel mit der Master-FB verbunden. 
Also hätte der 'manageable Switch' durchaus geholfen. Ich hatte auch 
gehofft, dass die zweite FB den Netzwerk-Datenverkehr aufzeichnen 
könnte, doch leider ist diese Funktion nur bei einem aktivierten Router 
verfügbar.

> Ein Mitschrieb durch die Fritzbox sollte aber auch schon helfen, man
> muss halt nur 'rausfinden, welchen der diversen Ports in der Fritzbox
> man aufzeichnen muss.

Genau das ist inzwischen realisiert. Im FB-Netzwerk Interface 'lan' ist 
der gesuchte Datenstrom der ESP Module enthalten und nachdem ich diesen 
analysiert habe, ist mir eine seltsame Fehlermeldung nach jedem 
FTP-Schreibvorgang aufgefallen, die es bei anderen FTP-Servern nicht 
gab:
"226- WARNING! 1 bare linefeeds received in ASCII mode   File may not 
have transferred correctly"
In der Tat waren die Datenblöcke nur mit LF terminiert und nachdem ich 
die Terminierung auf CRLF geändert habe, lief plötzlich alles fehlerfrei 
und das nun schon seit über 20 Stunden.
Offenbar sind die anderen FTP-Server da toleranter und sind mit einem LF 
zufrieden und da ich den Sketch mit dem Remote FTP-Server entwickelt 
hatte, war mir das vorher nicht aufgefallen.

Dieser Toleranzunterschied ist der relevante Unterschied zwischen dem 
FB-FTP-Server und den anderen FTP-Servern, der zu dem beschriebenen 
Fehlerbild geführt hat. Unverständlich ist mir jedoch, dass die FB die 
Datenblöcke manchmal akzeptiert hat und manchmal eben nicht und die FTP 
Verbindung gekappt hat.

> Fazit: Lösbar, wenn man denn nur will.

Stimmt und schließlich dem Fehler endlich auf die Spur kommt!

Vielen Dank an alle freundlichen und hilfsbereiten Kollegen, die mich 
hier in diesem Forum unterstützt haben und auch akzeptiert haben, dass 
ich als relativer Newbie hier vielleicht 'dumme' Fragen gestellt habe 
und mich auf den richtigen Weg geführt haben. Ich denke, dafür gibt es 
solche Foren.
Für die 'allwissenden' und weniger freundlichen Zeitgenossen bräuchte 
man sie sicher nicht, außer als Plattform für ihre blöden Sprüche.

von Harald K. (kirnbichler)


Lesenswert?

Dieter K. schrieb:
> "226- WARNING! 1 bare linefeeds received in ASCII mode   File may not
> have transferred correctly"

Du kannst Dateien auch als Binärdateien übertragen, dann sind die 
Zeilenumbrüche egal und es gibt keine derartigen Fehlermeldungen - 
einfach, weil es den FTP-Server nichts angeht, wie die Daten aufgebaut 
sind.

https://www.jscape.com/blog/ftp-binary-and-ascii-transfer-types-and-the-case-of-corrupt-files

von Roland S. (roschmi)


Angehängte Dateien:

Lesenswert?

Harald K. schrieb
>Naja, Dein Mitschnitt zeigt nur die Anmeldung, nicht aber, was passiert,
>wenn Nutzdaten übertragen werden sollen (put bzw. get, oder auch dir).


Hallo Dieter,
Gratuliere, dass es jetzt klappt. Bei mir hat jetzt auch die 
Dateispeicherung funktioniert. Dabei ist mir aufgefallen, dass es in dem 
ftp-client eine
#define Kontante 'USING_VSFTP_SERVER" gibt.
Es scheint, dass die Konstante wohl für die Fritzbox auf false gesetzt 
werden muss.
Jedenfalls war sonst (bei einem Versuch) das übertragene Bild 
beschädigt.
Die Dateiübertragung funktioniert auch ohne Umleitung mittels Access 
Point auf dem PC.
Ich habe den getesteten Code mal in eine App (PlatformIO), die sonst 
eigentlich Sensordaten zu Azure Table Storage überträgt, reingeschustert 
(also nicht wundern, dass da vieles für ftp und Fritzbox unnötig ist).
Falls es jemanden interessiert:
https://github.com/RoSchmi/Esp32_Fritzbox_Ftp_Storage/tree/demo080824

von Dieter K. (dieter_k739)


Lesenswert?

Harald K. schrieb:
> Du kannst Dateien auch als Binärdateien übertragen, dann sind die
> Zeilenumbrüche egal und es gibt keine derartigen Fehlermeldungen -
> einfach, weil es den FTP-Server nichts angeht, wie die Daten aufgebaut
> sind.

Das ist eine gute Idee - vielen Dank. Ich probiere das baldmöglichst 
aus.

Dieter

PS: Nach wie vor loggt der ESP fehlerlos, nunmehr fast 2 Tage. Damit ist 
für mich der Test ausreichend, meinen Daten-Logger baldmöglichst auf die 
Fritzbox speichern zu lassen. Allerdings hatte ich ich auch schon Fälle, 
wo die bisherige Lösung (remote FTP-Server) bis zu 14 Tage fehlerfrei 
lief und dann doch wieder der Watchdog einspringen musste ;-)  Damit 
kann ich aber gut leben.

von Dieter K. (dieter_k739)


Lesenswert?

Roland S. schrieb:
> Gratuliere, dass es jetzt klappt. Bei mir hat jetzt auch die
> Dateispeicherung funktioniert. Dabei ist mir aufgefallen, dass es in dem
> ftp-client eine
> #define Kontante 'USING_VSFTP_SERVER" gibt.
> Es scheint, dass die Konstante wohl für die Fritzbox auf false gesetzt
> werden muss.

Hallo Roland,

das freut mich, dass es bei Dir so schnell geklappt hat. Glückwunsch!
Bisher habe ich mich noch nicht mit Dateitransfers beschäftigt, da ich 
das in meiner Anwendung (noch) nicht brauche. Daher kann ich dazu nichts 
sagen. Wenn ich es aber richtig verstehe, dann schaltest Du mit dieser 
Konstanten 'USING_VSFTP_SERVER' den SFTP Modus ein. Ich habe keine 
Ahnung, ob unsere ESP-32 FTP-Lib überhaupt SFTP unterstützt, was an sich 
ohnehin wünschenswert wäre.
Auch das zu untersuchen, kommt auf die to-do Liste.

Warum das aber einen fehlerfreien binären Datentransfer ermöglicht, ist 
mir schleierhaft. An sich müsste auch das standard-FTP binäre Dateien 
fehlerfrei übertragen können. Vielleicht muss man irgendwo definieren, 
ob man die Datei im Text-Modus oder binär übertragen will?

Dieter

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Dieter K. schrieb:

> analysiert habe, ist mir eine seltsame Fehlermeldung nach jedem
> FTP-Schreibvorgang aufgefallen, die es bei anderen FTP-Servern nicht
> gab:
> "226- WARNING! 1 bare linefeeds received in ASCII mode   File may not
> have transferred correctly"

Das ist nur eine Warnung. Die ist natürlich einerseits durchaus ernst zu 
nehmen (hast du ja auch getan und den Fehler korrigiert), sollte aber 
trotzdem keinesfalls dazu führen, dass der Client per Watchdog neu 
gestartet wird.

Da ist also sehr wahrscheinlich noch was anderes im Argen. Und zwar nach 
wie vor: im Client, nicht bei der FB. Die macht, was der Standard sagt, 
was sie tun sollte.

von Roland S. (roschmi)


Lesenswert?

Ob S. schrieb:
> Das ist nur eine Warnung. Die ist natürlich einerseits durchaus ernst zu
> nehmen (hast du ja auch getan und den Fehler korrigiert), sollte aber
> trotzdem keinesfalls dazu führen, dass der Client per Watchdog neu
> gestartet wird.

<ob das auf eine Fehlfunktion hindeutet, hängt natürlich davon ab, ob in 
deiner Datei 'bare linefeeds' enthalten sind oder nicht. Sind sie 
tatsächlich vorhanden, hat die Warnung nichts zu sagen.

Bist du denn sicher, dass der 'Watchdog' den ESP32 resettet hat? Der 
SEP32 kann ja auch aus anderen Gründen resetten. Ist er in deinem Sketch 
von dir aktiv eingeschaltet worden? Schalte den Watchdog doch ggf. 
einfach einmal aus. In meinem Programm (siehe link) wird in setup() zu 
beginn abgefragt, aus welchem Grund der reset erfolgte. Außerdem kann 
man das Programm über #define entweder mit oder ohne Watchdog laufen 
lassen. Ich hoffe ich erzähle hier nicht lauter Sachen, die du selbst 
schon weißt.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Roland S. schrieb:

> <ob das auf eine Fehlfunktion hindeutet, hängt natürlich davon ab, ob in
> deiner Datei 'bare linefeeds' enthalten sind oder nicht.

Natürlich. Dass es so war, hat der TO ja inzwischen heraus gefunden. 
siehe:

https://www.mikrocontroller.net/user/show/dieter_k739

> Bist du denn sicher, dass der 'Watchdog' den ESP32 resettet hat?

Das musst du nicht mich fragen, sondern den TO. Und der scheint sich 
diesbezüglich doch recht sicher zu sein.

von Roland S. (roschmi)


Lesenswert?

Ob S. schrieb:
> Das musst du nicht mich fragen, sondern den TO. Und der scheint sich
> diesbezüglich doch recht sicher zu sein.

Entschuldigung, war ein Versehen. Wollte eigentlich an Dieter K. 
schreiben

von Thomas W. (Gast)


Lesenswert?

Es ist ein bischen bloed, dass Du nicht die Quellen verlinkst, ich nehme 
mal an, Du nimmst:
https://www.arduino.cc/reference/en/libraries/ftpclient_generic/

Das fuehrt dann zu:
https://github.com/khoih-prog/FTPClient_Generic

Das
1
#define USING_VSFTP_SERVER      true
macht eine Sonderlocke fuer die Rueckmeldung beim PASV-Commando. In den 
Beispielen (examples) so etwas kommentiert:
1
// To use `true` with the following PASV mode asnswer from server, such as `VSFTP`
2
// 227 Entering Passive Mode (192,168,2,112,157,218)
3
// Using `false` with old style PASV answer, such as `FTP_Server_Teensy41` library
4
// 227 Entering Passive Mode (4043483328, port 55600)
Es geht also die Rueckmeldung beim PASV-Kommando (ich muss gestehen, ich 
mache diesen Quatsch jetzt ca. 30 Jahre, die "old style PASV answer" 
habe ich nie gesehen).

vsftp ist ein (very secure ftp-server) (siehe: 
https://en.wikipedia.org/wiki/Vsftpd) ist ein Standard-FTP-Server, ja, 
man kann ihn natuerlich mit Verschluesselung betreiben, completely 
different kettle of fish :-)

mit sftp hat das vsftp nichts zutun.

von Roland S. (roschmi)


Lesenswert?

Bezüglich der #define Konstanten 'USING_VSFTP_SERVER" hast du völlig 
recht.
Da hab ich wohl auf die Schnelle was falsch verstanden. Meine Erwähnung 
von USING_VSFTP_SERVER ist unsinnig, nehme ich zurück.

von Dieter K. (dieter_k739)


Lesenswert?

Roland S. schrieb:
> Bist du denn sicher, dass der 'Watchdog' den ESP32 resettet hat? Der
> SEP32 kann ja auch aus anderen Gründen resetten. Ist er in deinem Sketch
> von dir aktiv eingeschaltet worden? Schalte den Watchdog doch ggf.
> einfach einmal aus. In meinem Programm (siehe link) wird in setup() zu
> beginn abgefragt, aus welchem Grund der reset erfolgte. Außerdem kann
> man das Programm über #define entweder mit oder ohne Watchdog laufen
> lassen. Ich hoffe ich erzähle hier nicht lauter Sachen, die du selbst
> schon weißt.

Ja, ich bin sicher, dass der Watchdog (WD) den Reset ausgelöst hat, denn 
entweder der Reset wird in der Funktion ausgelöst, die der WD im 
Fehlerfall  startet. Dabei wird im Monitor auch eine Fehlermeldung 
ausgegeben Das passiert, wenn unerwartet die FTP Verbindung gekappt wird 
(ftp.isConnected() = False) und ich die einfache Lösung gewählt habe, 
durch einen Reset einen sauberen Neustart zu erzwingen.

Der zweite Fehlerfall ist, dass der Fehler offenbar in der FTP-Lib in 
der APPE Methode auftritt und der ESP dann nicht mehr aus der APPE 
Methode zurückkommt, also hängt. Dafür habe ich keine andere Lösung 
gefunden, als einen Reset zu triggern, da kein User Code mehr läuft. 
Warum das passiert, weiß ich leider nicht.

Deine Informationen bezüglich WD Abfrage und Handling sind mir neu. 
Danke dafür! Bisher läuft der WD im Hintergrund einfach mit und 
schreitet ein, wenn der Heartbeat (3 Sek) über der Zeit ist und dieses 
Verfahren funktioniert einwandfrei. Seitdem ich es implementiert habe, 
läuft der Logger zuverlässig seit einigen Monaten mit gelegentlichen 
kurzen Unterbrechungen (1-3 Sekunden), wenn der WD einen Neustart 
getriggert hat. Es kommt jedoch häufig vor, dass er mehrere Restarts 
triggern muss, bis endlich wieder eine funktionierende FTP-Verbindung 
steht (sehe ich im Monitor, falls in Betrieb. Ich vermute, dass dies auf 
dem Weg zum Server oder im Server selbst passiert.

von Dieter K. (dieter_k739)


Lesenswert?

Thomas W. schrieb:
> mit sftp hat das vsftp nichts zutun.

Danke für die Info, da hat Google mich leider etwas in die Irre geführt. 
Wir gesagt, war mir diese Konstante nicht bekannt.

Bezüglich der von mir benutzten FTP-Lib habe ich keine Quelle verlinkt, 
da diese ja in der Arduino Reference enthalten ist. In Zukunft werde ich 
mich jedoch bemühen, das besser zu machen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.