-
Notifications
You must be signed in to change notification settings - Fork 7.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incompatibility issue with lwip napt on ESP32-S3 using Arduino framework #8193
Comments
It seems that espressif/esp32-arduino-lib-builder#69 should be reviewed and merged. |
@VojtechBartoska I just saw that you have assigned it to 3.0, which will be out in quite some time. It's only one line in a configuration file, why wait so long? |
The problem is that NAPT also enables other things in ESP-IDF that cause performance issues for everyone, even when NAPT is off. We check from time to time to see if they have "fixed" that in IDF and when they do, we can add support for it. |
@Gspohu I am the maintainer of the Arduino fork for Tasmota. We use NAPT and it does work. You can use latest Tasmota Core 2.0.9 with Platformio
The version is trimed to use low flash and RAM. Do not expect logging messages from IDF. |
Thanks for your message @Jason2866 , but what you suggest was my first try, but the result was not glorious. Ok I was able to compile, but once the firmware was uploaded, my ESP32-S3 was rebooting in a loop, and other projects on my platformio were affected, for some reason, everything I compiled and upoloaded with my platformio, even when there was never any mention of your solution, gave an ESP32 that constantly crashed. The only solution I found was to delete the .plateformio folder, uninstall the extension, uninstall vscode and reinstall everything. Really strange. |
@Gspohu You used a old build. At this time support for S3 in Platformio was faulty. |
@Jason2866 I just tried it and the problem is exactly the same. My ESP restarts in a loop |
@Gspohu S3 needs 100% correct config. If not it bootloops. |
@Jason2866 Okay, but I'm not sure if I understand. When I use the classic tools, the configuration must be perfect, because I never had any problems like this. I'm going to put an issue on Tasmota's repository, so as not to pollute the discussion here. We can continue to discuss this there |
I decided to test the Tasmota web installer, thinking that maybe it was my platformio configuration that was the problem, or even my code (https://tasmota.github.io/install/), but the result is the same. There still seems to be some bugs with the ESP32-S3 support on Tasmota. Finally, it's not possible to file an issue on the Tasmota repository. To finish on this topic here, could you point me to a place to discuss this topic @Jason2866 ? |
@Gspohu It is a config thing. There is not just one S3 Devkit. The have variants with Flash and PSRAM types! You found us in Discord already. Let's talk there. |
I recently compiled espressif idf 5.1.2 with napt feature using eclipse ide. The result was that napt works as expected provided you use esp_netif interface to enable napt. I did not noticed any overhead when enabling CONFIG_LWIP_L2_TO_L3_COPY which makes a copy of every tcp frame before passing a reference to it to L3 layer. |
Hello, napt was implemented and this issue is supposed to be solved. I am closing it, if needed you can reopen. |
@VojtechBartoska I have updated esp32 board libraries and get: lwip/napt.h no such file or directory after including it in a project. Has the arduino esp32 lib builder been updated? (If that's relevant) |
@Rich968 Yes, NAPT support has been added some time ago. The feature needs to be enabled in the sdkconfig. So yes there was an update in Arduino Lib Builder when NAPT support was added. You have to use actual Arduino Lib Builder and settings. |
Board
ESP32-S3
Device Description
DevKitC
Hardware Configuration
Out of context
Version
v2.0.9
IDE Name
PlatformIO
Operating System
Kubuntu Linux 22.04
Flash frequency
1000
PSRAM enabled
yes
Upload speed
115200
Description
Hello @espressif team,
I have been developing a connected object project that is running successfully on an ESP32-S3 using the Arduino framework. I am now trying to add a functionality that involves lwip napt for a WiFi extender.
I tried prototyping this in Arduino but encountered an issue where I get the following error messages:
Interestingly, I had no such problems while implementing the same functionality with espidf.
For me, it is not possible to recode the whole firmware on espidf.
I have made several attempts to troubleshoot this issue to no avail:
The issues I encountered seem to be similar to the ones described here, but I couldn't find a feasible solution:
I noticed there was supposed to be a fix in the Arduino lib builder (espressif/esp32-arduino-lib-builder#69), but it seems to be forgotten at the moment.
Interestingly, I found an implementation for ESP8266 (https://github.com/martin-ger/lwip_nat_arduino) but couldn't find an equivalent for ESP32.
For your reference, I am using platformio on vscode.
Is there any way to get lwip napt working with the Arduino framework on ESP32-S3? Any guidance or help would be greatly appreciated.
Thank you in advance for your support.
Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: