Hi! Ich habe ein hoffentlich kleines Problem mit dem FTP-Server, der funktioniert nämlich nicht. Stattdessen bekomme ich von drei verschiedenen FTP-Clients 500 Unknown command zurück.
Ich verwende den aktuellen Stand des master-Branch (4da4234) auf der Complete.
Das hier gibt mir der serielle Monitor aus:
FEAT
USER esp32
PASS esp32
OPTS UTF8 ON
SYST
STAT /
CWD /
TYPE A
PASV
500 Unknown command
Das passiert sowohl beim Einschalten via Buttons als auch via Web-Interface.
Kennt jemand das Problem oder hat eine Idee? Ich lese hieraus, dass Passive Mode nicht aktiviert werden kann. Kann mir aber nicht vorstellen, warum das so sein soll.
Danke, das hat mich dazu gebracht, doch mal Filezilla auszuprobieren. Der verbindet sich direkt im Active Mode. Und explizit im Active Mode klappt das dann auch mit allen anderen Clients…
fuer die nachwelt - in der tat war bei mir mit ftp im active mode (und filezilla) auf meinem linux auch noch eine firewallconfig (auf dem client) notwendig.
sudo nft insert rule inet filter input ip saddr <ip espuino> ct state new accept
Wir hatten früher mal ne andere Lib, an der wir selbst viel gebastelt haben, aber das war nicht so wirklich geil - zumal auch nur eine Verbindung gleichzeitig möglich war. Dann haben wir die genommen, die wir jetzt haben. Der Gründe dafür stehen hier vermutlich irgendwo im Forum.
Wenn du das ändern willst, musst es halt umbauen, testen und mit der aktuellen Lösung vergleichen (Speicherbedarf und Performance).
Danke Dir! Und sorry, das kam wohl wie ein Feature-Request rüber. Natürlich bin ich bereit, im Sinne des Community-Projektes mitzumachen (oder falls sich niemand beteiligen möchte, es einfach alleine zu machen).
„Es halt umbauen“ hat ja mit meinem Post schon angefangen: Im ersten Schritt hab ich die aus meiner Sicht geeignetsten Bibliotheken rausgesucht und vorgeschlagen. Ich bin nicht so tief in diesem Projekt wie andere. Da macht es ja Sinn, auf die Erfahrung der Seniors hier zu zählen. Ich weiß ja nicht, ob Ihr die genannten Server schon ausgeschlossen habt.
Ich hatte erstmal vermutet, dass es einen technischen Grund für die aktuelle und gegen die anderen beiden Libs gibt. Ich schau mal im Forum nach Hinweisen darauf. Vielleicht ist der peterus-Server ja einfach eine persönliche Präferenz und eine andere hätte eh keine Chance. Dann würde ich lieber gar nicht erst mit der Implementierung anfangen (denn nur für mich mach ich mir die Mühe nicht, zumal mein Setup kein Problem mit dem Active Mode hat).
Also die Sache ist auf jeden Fall, dass es den Rest nicht blockieren darf. Vielleicht hatte der, den wir jetzt nehmen, irgendwie ne Ringbuffer-Implementierung und die alte Lib nicht - und das hat dann zu besserer Performance geführt.
Es wird bestimmt hier im Forum was dazu geben. Der „ESPuino-Weg“ ist inzwischen zu lang und ich war auch bei weitem nicht an allen SW-Umsetzungen beteiligt - insofern habe ich das so genau nicht im Kopf.
Habe mal gestartet den passiven modus in die aktuelle Lib hinzuzufügen.
Zum Testen kann man einfach die folgtende Zeile in der Platformio.ini verwenden (ersetzen der bestehenden Zeile):
Gerne testen und feedback geben / verbessern / reviewn …
Wenn alles passt und getetet ist, wird peterus das sicher mit in seine Lib mit aufnehmen.
@blackbunt@JHB@fuefi : Habe es bereits etwas getestet und es scheint auf meinem Espuino sauber zu laufen, könnte allerdings auch mögliche Probleme übersehen haben…
Ah, nice. Ich hab’s auch noch nie geschafft was über FTP drauf zu machen aber mich auch nie wirklich damit beschäftigt warum. Kann den branch auch mal testen dann.