Open razgino11 opened 1 year ago
Have you tried using asyncUDP? It is better suited for fast streaming.
Have you tried using asyncUDP? It is better suited for fast streaming.
Yes, i have tried writing te same thing using asyncUDP and it has the same problem, also rewrote it using the idf sdk and the same problem presists :(
Have you tried it using IDF directly? Arduino Networwing is just a layer on top of IDF LwIP.
@SuGlider Yes, the problem presists there as well, also tried recently on the esp32-s3, the problem is there as well The problem however is not present on the raspberry pi pico for example
In that case, I'd say that this could be a current limitation of the ESP32 LwIP implementation.
Another possibility would be that it lacks RAM to assemble the package and it would need to use PSRAM.
There may be some specific configuration for it.
I'd suggest asking in the IDF Forum and/or GitHub IDF Issues.
@SuGlider In my opinion, the problem isn't in the LwIP implemention, since the LwIP is a tcp/ip stack, and im claiming the problem is in refragmantion on the 802.11 layer, which is below that, in my opnion the problem lies within the closed source libraries (libnet80211.a for example) that the arduino implemention that is based on idf is using
I have also opened issues on the placed you mentioned,
altought just to verify, can you guide me on what you ment, how do i make lwip use the PSRAM for refragmanation?
Arduino has IP Reassembly disabled by default. It could be set with menuconfig using Arduino as IDF Component, if necessary.
@SuGlider Yes Im farmilier with that, but I'm talking about something different, IP layer fragmention is not my problem, I'm talking about 802.11 layer fragmantion
How do you know, using Arduino, that the problem is within 802.11 layer?!
Please provide evidences.
@SuGlider I'm using platform io, there you can write build flags to compile LWIP with reassembly at the ip level and the problem persists, further more, the packets I have issues with are not fragmented on the ip layer, they are fragmented however on the 802.11 layer, which is a different kind of fragamnation
Board
ESP32 wroom
Device Description
Using the esp32 wroom, but I dont think it will matter which hardware
Hardware Configuration
nothing
Version
latest master (checkout manually)
IDE Name
PlatformIO
Operating System
Windows 10 / WSL / Ubuntu
Flash frequency
40Mhz
PSRAM enabled
yes
Upload speed
115200
Description
I am receiving a video stream from a drone, and i noticed most of the packets were not receiving, after doing a wireshark analysis (with my network card in monitor mode) i have noticed that packets that are fragmanted on the 802.11 layer do not get received on the esp32 (presists also on esp8266 if that matters)
On the official documation it says the defragmanation is supported, but that doesn't seem to be the case at least for the arduino sdk
Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide