Skip to content

Improving Wi-Fi file transfer #199

Open
@fjmsouza

Description

@fjmsouza

Board
ESP32 WROOM 32

Operating System
Linux

Hi,
I need to increase the wifi performance, but where the needed registers?
I was looking for edit something as (I'm not sure):

CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM
CONFIG_ESP32_WIFI_TX_BA_WIN
CONFIG_ESP32_WIFI_RX_BA_WIN
CONFIG_ESP32_WIFI_IRAM_OPT
CONFIG_ESP32_WIFI_RX_IRAM_OPT

CONFIG_TCPIP_RECVMBOX_SIZE 
CONFIG_LWIP_IRAM_OPTIMIZATION

CONFIG_TCP_SND_BUF_DEFAULT
CONFIG_TCP_WND_DEFAULT
CONFIG_TCP_RECVMBOX_SIZE

But.:
What really found in config_editor.py?

CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM
CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM
CONFIG_ESP_WIFI_IRAM_OPT
CONFIG_ESP_WIFI_RX_IRAM_OPT

and, in the end of "compile static libraries" the result sdkconfig the searched registers reappear...

Please, can you let clear:

  • WHERE are the right registers?
  • WHERE put the created folder ("tools")?
  • and how to optimize the compilation time?

Thank you for your attention.

Activity

fjmsouza

fjmsouza commented on Aug 5, 2024

@fjmsouza
Author

inside of /home/user/.arduino15/packages/esp32/hardware/esp32/2.0.17/tools/sdk/
a lot of "No such file or directory".

me-no-dev

me-no-dev commented on Aug 5, 2024

@me-no-dev
Member

first you need the release/v4.4 branch of this repository, not master. Then edit configs/sdkconfig.common and add the values that you need. After compilation is done, overwrite /home/user/.arduino15/packages/esp32/hardware/esp32/2.0.17/tools/sdk/ with the contents of out/tools/sdk/. You would also need to overwrite platform.txt in the core with the one in the output folder.

fjmsouza

fjmsouza commented on Aug 5, 2024

@fjmsouza
Author

Thank you, @me-no-dev , I hope comeback to reveal my progress

fjmsouza

fjmsouza commented on Aug 5, 2024

@fjmsouza
Author

@me-no-dev , I realized that would be configs/defconfig.common, ok?

fjmsouza

fjmsouza commented on Aug 5, 2024

@fjmsouza
Author

My challenge:
esp32(as a client) send a file(40MB) to another esp32(as a server), a loop 5KB aftter 5KB at a http.POST(5KB) until finish this 40MB.
But...40MB transfer is taken 7 minutes. A lot o time!!!
How to deacrease this time?

Obs.: I tried to increase this post to 10KB, but the server reset with a "load phroibted".
There are registers in defconfig.common to achieve this?

I'd apreciate your help.

Jason2866

Jason2866 commented on Aug 9, 2024

@Jason2866
Contributor

@fjmsouza I think it is not a low level problem, which needs changes here. Probably a bottleneck "somewhere" in Arduino code.

fjmsouza

fjmsouza commented on Aug 12, 2024

@fjmsouza
Author

Thank you, @Jason2866!
Me too.

Can anyone give an example with another approach?

The main proposal is a server downloading huge files with better performance.

In the meantime, looking at examples like UploadHugeFile.ino

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @me-no-dev@Jason2866@fjmsouza

        Issue actions

          Improving Wi-Fi file transfer · Issue #199 · espressif/esp32-arduino-lib-builder