I’m writing to you here because I haven’t received any response on Git.
Let me explain the context. I’m trying to implement an FTP server on my Arduino GIGA R1 WIFI development board, which uses an STM32 microcontroller and a Murata 1DX Wi-Fi module (the same one used by ESP32s). Knowing that it’s possible to implement the server on ESP32 (via Wi-Fi or Ethernet) and/or STM32 (Ethernet), I thought that with a few small modifications it should work with Wi-Fi in AP mode. I’m developing on PlatformIO in VS Code with the Arduino framework.
So there you have it: I was indeed able to implement the server on my board, but to do so I had to:
• Specify which board I’m using: ARDUINO_ARCH_STM32
• Modify the network and storage macros: STORAGE_SDFAT2 and NETWORK_ESP32 (because it uses the WiFi.h library compatible with my Wi-Fi chip)
To do this, I declare them in the platformio.ini file, otherwise, if I put them at the top of my main.cpp, my changes aren’t taken into account.
When I flash my board, it creates a network that I can connect to via Wi-Fi. Once connected, I launch FileZilla and configure it correctly (passive mode, single connection, password, username, server IP (the same as my AP-mode Wi-Fi), and the passive-mode port number). At that point, I see the FTP commands arriving and being displayed in the FileZilla client,until the MLSD command is sent, at which point I get the error:
Connection interrupted: ECONNABORTED – Connection cancelled Response: 425 Can’t open data Error: Unable to retrieve folder contents
Obviously, it can’t establish the data connection between the client and the server, and I don’t understand why. I don’t know if it’s a network issue, a problem with the library not handling my configuration, or something else…
To troubleshoot, I’ve tried disabling the Windows firewall, but nothing works. I’ve also tried active mode by changing the port number, but I get the same error. You’ll find screenshots of the errors I’ve encountered attached.
So I wanted to get your feedback to understand whether I’m doing something wrong or if the library simply doesn’t support what I’m trying to implement. I hope I’ve been clear in this post and that you’ll be able to guide me and help me out a bit libraries for this kind of server are hard to find and it’s not the easiest setup.
I’m using the SimpleFTPServer v2.1.11 library, where those lines of code aren’t implemented. I’m a bit confused because you’re referring to code from another library.
Should I add them manually to the FtpServerKey.h file as shown in image 1? And if so, do I need to modify any other parts of the library?
Also, regarding my platformio.ini file as shown in figure 2, is there anything you think I need to change?
This reply was modified 11 hours, 6 minutes ago by Boby27.
This reply was modified 11 hours, 6 minutes ago by Boby27.
This reply was modified 11 hours, 5 minutes ago by Boby27.
This reply was modified 11 hours, 5 minutes ago by Boby27.
This reply was modified 11 hours, 5 minutes ago by Boby27.
Hi Boby,
Yes, you are right, I implemented the Arduino GIGA R1 WiFi only on EmailSender, so for now it isn’t supported by that, sorry.
I try to update the library in the future.
Bye Renzo
Maintaining a repository (or site or forum) is a lot like tending to a garden - it requires constant care and attention to keep it thriving. If you're a skilled gardener (or coder!) and want to help keep our repository blooming, we'd love to have you on board! We're also looking for talented writers and forum moderators to help us grow our community. Interested in joining our team? Don't hesitate to reach out and let us know how you can contribute!
Are you a fan of electronics or programming? Share your knowledge with others, write a simple tutorial or how to make a great project Contact me: share_your_ideas@mischianti.org
The content displayed on this website is protected under a CC BY-NC-ND license. Visitors are prohibited from using, redistributing, or altering any content from this website for commercial purposes, including generating revenue through advertising. Any unauthorized use is a violation of the license terms and legal action may be taken against individuals or entities found to be in violation.
You must also provide the link to the source.
Welcome to Our Family!
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.