espressif / esp-at

AT application for ESP32/ESP32-C2/ESP32-C3/ESP32-C6/ESP8266
Apache License 2.0
871 stars 775 forks source link

Bug Report: The TCP stream in the wifi transparent mode is partially wrong and failed checksum #457

Open caowent opened 4 years ago

caowent commented 4 years ago

Environment

-Development Kit: [ESP32-DevKitC]

-Kit version: [v2]

-Module or chip used: [ESP32-WROOM-32U]

-IDF version:

v4.0.1-193-ge7ac221b4 -Build System: [Make]

-Compiler version:

(crosstool-NG esp-2019r2) 8.2.0 -Operating System: [Windows 64]

-Power Supply: [USB]

Problem Description

My application requires high speed and data accuracy, please refer to the specific plan.

At first, I hope to meet the requirements through the non-transparent transmission mode, but unfortunately, although the data in the non-transparent transmission mode is not problematic, the speed is very limited. So I chose the transparent transmission mode and tested the speed with iperf. As the SDIOSPI solution said, the throughput reached 1.2MBytes/s.

1 passthrough

But when I went to verify the correctness of the data, the problem was exposed.

This problem seems to be the same problem, see.

After establishing a connection with the iperf TCP server, STM32 sends a picture (407KB) to the iperf TCP server through the transparent transmission mode. During the period, wireshark is turned on for monitoring, and the picture data is restored from Wireshark's Analyze -> Follow -> TCP Stream at the end of the transmission.

Expected Behavior

The received picture is correct, and the CRC32 check code calculated by 7zip is consistent with the original picture check code. 3 original

Actual Behavior

The data length is correct, some garbled codes appear in the picture, and the CRC check codes are inconsistent. 4 passthrough_tcp_without_delay

Steps to repropduce

  1. Turn on wireshark monitoring on the PC side

  2. Establish a TCP connection to the iperf server on the PC side

  3. Transmit a picture through transparent transmission mode

  4. Restore picture from wireshark

  5. Compare and verify with the original picture

Try to fix

  1. Sending every 512 bytes data packet delay 20ms, there is still a bit of garbled. 5 passthrough_tcp_delay20ms

  2. Change to UDP transmission, no delay, the data length will be 3KB or more less.

3.UDP transmission, delay 1ms after sending a 512-byte data packet, the picture is correct, and the verification passed.

  1. STM32 sends data to ESP with a synchronization signal (using SDIO general-purpose registers). Waitting for ESP32 to read the buffer before sending the next packet of data, and the garbled distribution is relatively concentrated. 7 passthrough_sync

  2. When ESP32 reads the buffer, the buffer data is sent back to STM32 via SPI. Use the semi-host method to write to the file on the STM32 side, and checked with the original picture at the end of the transmission. The verification is passed, indicating that the previous communication link is normal, and the problem occurred after being sent to AT CORE.

Code to reproduce this issue

Increase the synchronization mechanism code (using SDIO general registers), based on the sdiospi project, including modifications on both sides of STM32 and ESP32 code

Debug Logs

wireshark TCP flow passthrough_tcp_without_delay wireshark

Other items if possible

passthrough.zip

ldsheng commented 4 years ago

I'm facing similar problems. I'm using the SDIO-AT too to perform the mbedtls communication over TCP. The connection may be closed during the transmission and it happens randomly. However, when I use the TCP without mbedtls, it never happens. So, I think there may be some bit errors occurred in the data which cause the TCP server to close the TCP connection. Looking for a resolution here. thx

ESP-Coco commented 4 years ago

Hi @caowent , Thanks, can you test with the latest master version? We have just recently solved the problem of incorrect data in high throughput, somewhat like what you described (https://github.com/espressif/esp-at/commit/ef77d4066d4e7cd76397268d29192762c30552dd)

Hi @ldsheng , I'm not sure this fix applies to your problem, but I still recommend that you test with the latest master branch as well.

If the problem is still not resolved, we will try to add your replicating steps to the test case, replicating and analyzing the problem.

caowent commented 4 years ago

Hi, @ESP-Coco

  1. I noticed an update for this issue, and I just retested it with the latest update.
  2. The problem has been improved a lot, but it has not been completely resolved.
  3. I still have to use the cache synchronization mechanism to ensure that I transfer the data to the ESP32 correctly. reference
  4. The speed can reach 1.4MBytes/s (11Mbits/s).

iperf

  1. I sent the same 400kB picture 10 times, and selected one of them for verification.
  2. The following is a comparison. The previous AT-CORE version with cache synchronization

7 passthrough_sync

The latest AT-CORE version with cache synchronization

iperf

wireshark.zip

ESP-Coco commented 4 years ago

OK, Thanks for your test. We will write a test case to analyze this problem.

ldsheng commented 4 years ago

HI

I have tested the newest version 784682f at master branch. It does been improved a lot. However, the problem is still there. [image: image.png] In my test, the speed is about 75KByte/s.

ESP-Coco notifications@github.com 于2020年8月11日周二 下午5:14写道:

Hi @caowent https://github.com/caowent , Thanks, can you test with the latest master version? We have just recently solved the problem of incorrect data in high throughput, somewhat like what you described (ef77d40 https://github.com/espressif/esp-at/commit/ef77d4066d4e7cd76397268d29192762c30552dd )

Hi @ldsheng https://github.com/ldsheng , I'm not sure this fix applies to your problem, but I still recommend that you test with the latest master branch as well.

If the problem is still not resolved, we will try to add your replicating steps to the test case, replicating and analyzing the problem.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/espressif/esp-at/issues/457#issuecomment-671830748, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZRS6OKXXFKUEK2DZUS5LDSAEDYPANCNFSM4PWLF2LQ .

caowent commented 4 years ago

How is the progress in fixing this issue? @ESP-Coco

caowent commented 4 years ago

The latest version(a9e1ac6) has been tested, synchronization protection is no longer needed, the problem has been improved a lot, but there are still bit errors. data

ldsheng commented 3 years ago

Is there any improvement on this bug?

caowent commented 3 years ago

Is there any improvement on this bug?

Here is another solution for mcu high speed wifi, which is worth exploring. https://github.com/espressif/esp-hosted/blob/master/docs/MCU_based_host/MCU_based_readme.md

ldsheng commented 3 years ago

Is there any improvement on this bug?

Here is another solution for mcu high speed wifi, which is worth exploring. https://github.com/espressif/esp-hosted/blob/master/docs/MCU_based_host/MCU_based_readme.md

My project is highly similar to the solution you mentioned. I'm using a stm32f427 as the MCU which communicates with esp32 via SPI port( initially using the serial port). The problem is that under heavy load transferring, there are random transmission errors on the ESP32. I'm waiting for you guys to solve this problem. thx

caowent commented 3 years ago

Is there any improvement on this bug?

Here is another solution for mcu high speed wifi, which is worth exploring. https://github.com/espressif/esp-hosted/blob/master/docs/MCU_based_host/MCU_based_readme.md

My project is highly similar to the solution you mentioned. I'm using a stm32f427 as the MCU which communicates with esp32 via SPI port( initially using the serial port). The problem is that under heavy load transferring, there are random transmission errors on the ESP32. I'm waiting for you guys to solve this problem. thx

The non-transparent mode works normally, but the speed is relatively slow, only 250kBytes/s. https://github.com/espressif/esp-at/issues/456

Btw, At lib is not open source and needs to be repaired by Espressif.

ESP-Coco commented 3 years ago

HI @caowent @ldsheng , so sorry for the late reply, we have fixed the problem, please follow this commit and test again

ldsheng commented 3 years ago

HI, thx for letting me know.

I have tried to compile the new commits. However, it failed.

After updating the esp_idf and declare the new ESP_AT_PORJECT_PATH system variable, I finished the "make menuconfig" job successfully. Then, when I do "make" it responses : QQ截图20210225163937

ESP-Coco commented 3 years ago

The latest version needs to have upgraded the IDF version to V4.2 and needs to be compiled with Cmake. we recommend using the follow compilation method in the AT document. https://github.com/espressif/esp-at/blob/master/docs/en/Compile_and_Develop/How_to_clone_project_and_compile_it.rst#compiling-and-flashing-the-project

ldsheng commented 3 years ago

Still fails to compile.

I have update the compile environment according to instructions of here: ![image](https://user-images.githubusercontent.com/3348857/109255799-aa3f4000-782f-11eb-8a2c-8b81a9d8de4a.png And then execute subsequent instructions as shown below.

esp@esp:\~/project$ ls esp-at esp-at-esp32 esp-at-esp8266 esp@esp:\~/project$ rm -rf esp-at esp@esp:\~/project$ ls esp-at-esp32 esp-at-esp8266 esp@esp:\~/project$ git clone --recursive https://github.com/espressif/esp-at.git Cloning into 'esp-at'... remote: Enumerating objects: 956, done. remote: Counting objects: 100% (956/956), done. remote: Compressing objects: 100% (508/508), done. remote: Total 7951 (delta 595), reused 760 (delta 434), pack-reused 6995 Receiving objects: 100% (7951/7951), 87.14 MiB | 1.16 MiB/s, done. Resolving deltas: 100% (4406/4406), done. esp@esp:\~/project$ cd esp-at esp@esp:\~/project/esp-at$ rm -rf build sdconfig esp@esp:\~/project/esp-at$ rm -rf esp-idf esp@esp:\~/project/esp-at$ ./build.py menuconfig Platform name:

  1. PLATFORM_ESP32
  2. PLATFORM_ESP8266
  3. PLATFORM_ESP32S2 choose(range[1,3]):1

Module name:

  1. WROOM-32
  2. WROVER-32
  3. PICO-D4
  4. SOLO-1
  5. MINI-1 (description: ESP32-U4WDH chip inside)
  6. ESP32-D2WD (description: 2MB flash, No OTA) choose(range[1,6]):1

Enable silence mode to remove some logs and reduce the firmware size?

  1. No
  2. Yes choose(range[0,1]):0 platform_name=ESP32,module_name=WROOM-32 Please wait for the SDK download to finish... Cloning into 'esp-idf'... remote: Enumerating objects: 968, done. remote: Counting objects: 100% (968/968), done. remote: Compressing objects: 100% (524/524), done. remote: Total 220538 (delta 544), reused 666 (delta 430), pack-reused 219570 Receiving objects: 100% (220538/220538), 125.00 MiB | 1.70 MiB/s, done. Resolving deltas: 100% (163337/163337), done. old commit:af8bc4c43615b0500f1b8df52a22726d77b6f0af checkout commit:c40f2590bf759ff60ef122afa79b4ec04e7633d2 Please wait for the update to complete, which will take some time Already up to date. Note: checking out 'c40f2590bf759ff60ef122afa79b4ec04e7633d2'.

You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at c40f2590b Merge branch 'featrue/remove_esp32-S2_preview_v4.2' into 'release/v4.2' Submodule 'components/asio/asio' (https://github.com/espressif/asio.git) registered for path 'components/asio/asio' Submodule 'components/bootloader/subproject/components/micro-ecc/micro-ecc' (https://github.com/kmackay/micro-ecc.git) registered for path 'components/bootloader/subproject/components/micro-ecc/micro-ecc' Submodule 'components/bt/controller/lib' (https://github.com/espressif/esp32-bt-lib.git) registered for path 'components/bt/controller/lib' Submodule 'components/bt/host/nimble/nimble' (https://github.com/espressif/esp-nimble.git) registered for path 'components/bt/host/nimble/nimble' Submodule 'components/cbor/tinycbor' (https://github.com/intel/tinycbor.git) registered for path 'components/cbor/tinycbor' Submodule 'components/coap/libcoap' (https://github.com/obgm/libcoap.git) registered for path 'components/coap/libcoap' Submodule 'components/esp_wifi/lib' (https://github.com/espressif/esp32-wifi-lib.git) registered for path 'components/esp_wifi/lib' Submodule 'components/esptool_py/esptool' (https://github.com/espressif/esptool.git) registered for path 'components/esptool_py/esptool' Submodule 'components/expat/expat' (https://github.com/libexpat/libexpat.git) registered for path 'components/expat/expat' Submodule 'components/json/cJSON' (https://github.com/DaveGamble/cJSON.git) registered for path 'components/json/cJSON' Submodule 'components/libsodium/libsodium' (https://github.com/jedisct1/libsodium.git) registered for path 'components/libsodium/libsodium' Submodule 'components/lwip/lwip' (https://github.com/espressif/esp-lwip.git) registered for path 'components/lwip/lwip' Submodule 'components/mbedtls/mbedtls' (https://github.com/espressif/mbedtls.git) registered for path 'components/mbedtls/mbedtls' Submodule 'components/mqtt/esp-mqtt' (https://github.com/espressif/esp-mqtt.git) registered for path 'components/mqtt/esp-mqtt' Submodule 'components/nghttp/nghttp2' (https://github.com/nghttp2/nghttp2.git) registered for path 'components/nghttp/nghttp2' Submodule 'components/protobuf-c/protobuf-c' (https://github.com/protobuf-c/protobuf-c.git) registered for path 'components/protobuf-c/protobuf-c' Submodule 'components/spiffs/spiffs' (https://github.com/pellepl/spiffs.git) registered for path 'components/spiffs/spiffs' Submodule 'components/tinyusb/tinyusb' (https://github.com/espressif/tinyusb.git) registered for path 'components/tinyusb/tinyusb' Submodule 'components/unity/unity' (https://github.com/ThrowTheSwitch/Unity.git) registered for path 'components/unity/unity' Submodule 'examples/build_system/cmake/import_lib/main/lib/tinyxml2' (https://github.com/leethomason/tinyxml2.git) registered for path 'examples/build_system/cmake/import_lib/main/lib/tinyxml2' Submodule 'examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib' (https://github.com/espressif/esp-cryptoauthlib.git) registered for path 'examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib' Cloning into '/home/esp/project/esp-at/esp-idf/components/asio/asio'... Cloning into '/home/esp/project/esp-at/esp-idf/components/bootloader/subproject/components/micro-ecc/micro-ecc'... Cloning into '/home/esp/project/esp-at/esp-idf/components/bt/controller/lib'... Cloning into '/home/esp/project/esp-at/esp-idf/components/bt/host/nimble/nimble'... Cloning into '/home/esp/project/esp-at/esp-idf/components/cbor/tinycbor'... Cloning into '/home/esp/project/esp-at/esp-idf/components/coap/libcoap'... Cloning into '/home/esp/project/esp-at/esp-idf/components/esp_wifi/lib'... error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received. fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed fatal: clone of 'https://github.com/espressif/esp32-wifi-lib.git' into submodule path '/home/esp/project/esp-at/esp-idf/components/esp_wifi/lib' failed Failed to clone 'components/esp_wifi/lib'. Retry scheduled Cloning into '/home/esp/project/esp-at/esp-idf/components/esptool_py/esptool'... Cloning into '/home/esp/project/esp-at/esp-idf/components/expat/expat'... Cloning into '/home/esp/project/esp-at/esp-idf/components/json/cJSON'... Cloning into '/home/esp/project/esp-at/esp-idf/components/libsodium/libsodium'... Cloning into '/home/esp/project/esp-at/esp-idf/components/lwip/lwip'... Cloning into '/home/esp/project/esp-at/esp-idf/components/mbedtls/mbedtls'... Cloning into '/home/esp/project/esp-at/esp-idf/components/mqtt/esp-mqtt'... Cloning into '/home/esp/project/esp-at/esp-idf/components/nghttp/nghttp2'... Cloning into '/home/esp/project/esp-at/esp-idf/components/protobuf-c/protobuf-c'... Cloning into '/home/esp/project/esp-at/esp-idf/components/spiffs/spiffs'... Cloning into '/home/esp/project/esp-at/esp-idf/components/tinyusb/tinyusb'... Cloning into '/home/esp/project/esp-at/esp-idf/components/unity/unity'... Cloning into '/home/esp/project/esp-at/esp-idf/examples/build_system/cmake/import_lib/main/lib/tinyxml2'... Cloning into '/home/esp/project/esp-at/esp-idf/examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib'... Cloning into '/home/esp/project/esp-at/esp-idf/components/esp_wifi/lib'... Submodule path 'components/asio/asio': checked out '3b66e5b051381fb70de9c2791df70a06181c64e3' Submodule path 'components/bootloader/subproject/components/micro-ecc/micro-ecc': checked out 'd037ec89546fad14b5c4d5456c2e23a71e554966' Submodule path 'components/bt/controller/lib': checked out '0ba611fc0d5b692a94744389ebd0833bcad210ba' Submodule path 'components/bt/host/nimble/nimble': checked out '95bd8644abf4a410dd3fb914468d3a23ac9bbec2' Submodule path 'components/cbor/tinycbor': checked out 'd2dd95cb8841d88d5a801e3ef9c328fd6200e7bd' Submodule path 'components/coap/libcoap': checked out '98954eb30a2e728e172a6cd29430ae5bc999b585' Submodule 'ext/tinydtls' (https://github.com/eclipse/tinydtls.git) registered for path 'components/coap/libcoap/ext/tinydtls' Cloning into '/home/esp/project/esp-at/esp-idf/components/coap/libcoap/ext/tinydtls'... Submodule path 'components/coap/libcoap/ext/tinydtls': checked out '7f8c86e501e690301630029fa9bae22424adf618' Submodule path 'components/esp_wifi/lib': checked out '8075af81e896da21dfdb25fed98ff5c96b899ed4' Submodule path 'components/esptool_py/esptool': checked out '4fa0bd7b0d1f69f5ff22b043adc07c5e562a8931' Submodule path 'components/expat/expat': checked out '968b8cc46dbee47b83318d5f31a8e7907199614b' Submodule path 'components/json/cJSON': checked out '3c8935676a97c7c97bf006db8312875b4f292f6c' Submodule path 'components/libsodium/libsodium': checked out '70170c28c844a4786e75efc626e1aeebc93caebc' Submodule path 'components/lwip/lwip': checked out '889c3875bf2154356aab10b36025add28909a933' Submodule path 'components/mbedtls/mbedtls': checked out '90f46c8b17bc1219a82d4ddf81520d40c5ac5ebf' Submodule path 'components/mqtt/esp-mqtt': checked out '01594bf118ae502b5a0ead040446f2be75d26223' Submodule path 'components/nghttp/nghttp2': checked out '3bcc416e13cc790e2fb45fcfe9111d38609c5032' Submodule 'third-party/mruby' (https://github.com/mruby/mruby) registered for path 'components/nghttp/nghttp2/third-party/mruby' Submodule 'third-party/neverbleed' (https://github.com/h2o/neverbleed.git) registered for path 'components/nghttp/nghttp2/third-party/neverbleed' Cloning into '/home/esp/project/esp-at/esp-idf/components/nghttp/nghttp2/third-party/mruby'... Cloning into '/home/esp/project/esp-at/esp-idf/components/nghttp/nghttp2/third-party/neverbleed'... Submodule path 'components/nghttp/nghttp2/third-party/mruby': checked out '22464fe5a0a10f2b077eaba109ce1e912e4a77de' Submodule path 'components/nghttp/nghttp2/third-party/neverbleed': checked out 'da5c2ab419a3bb8a4cc6c37a6c7f3e4bd4b41134' Submodule path 'components/protobuf-c/protobuf-c': checked out 'dac1a65feac4ad72f612aab99f487056fbcf5c1a' Submodule path 'components/spiffs/spiffs': checked out 'f5e26c4e933189593a71c6b82cda381a7b21e41c' Submodule path 'components/tinyusb/tinyusb': checked out '28f89e13473d40637574bcbfe4142633b39899fd' Submodule path 'components/unity/unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25' Submodule path 'examples/build_system/cmake/import_lib/main/lib/tinyxml2': checked out '7e8e249990ec491ec15990cf95b6d871a66cf64a' Submodule path 'examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib': checked out '71e69383a0368bb704e1b0d90b7e5697afae7d5d' Submodule path 'components/esp_wifi/lib': checked out '8075af81e896da21dfdb25fed98ff5c96b899ed4' Update completed WARNING: IDF_PATH environment variable is set to /home/esp/project/esp-at-esp32/esp-idf but esp-idf/tools/idf.py path indicates IDF directory /home/esp/project/esp-at/esp-idf. Using the environment variable directory, but results may be unexpected... Executing action: menuconfig Running cmake in directory /home/esp/project/esp-at/build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=0 /home/esp/project/esp-at"... silence:0 sdkconfig:/home/esp/project/esp-at/module_config/module_esp32_default/sdkconfig.defaults CMake Warning at esp-idf/tools/cmake/idf.cmake:18 (message): IDF_PATH environment variable is different from inferred IDF_PATH.

                          Check if your project's top-level CMakeLists.txt includes the right
                          CMake files. Environment IDF_PATH will be used for the build:
                          /home/esp/project/esp-at-esp32/esp-idf

Call Stack (most recent call first): esp-idf/tools/cmake/project.cmake:7 (include) CMakeLists.txt:49 (include)

-- Found Git: /usr/bin/git (found version "2.17.1") -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU -- Found assembler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- Check for working C compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- Check for working C compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- Check for working CXX compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building ESP-IDF components for target esp32 Loading defaults file /home/esp/project/esp-at/module_config/module_esp32_default/sdkconfig.defaults... -- Found PythonInterp: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python (found version "3.8.8") -- Found Perl: /usr/bin/perl (found version "5.26.1") -- App "esp-at" version: v2.1.0.0_esp32s2-253-g4c8bf77 -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-nano.ld -- Adding linker script /home/esp/project/esp-at/build/esp-idf/esp32/esp32_out.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp32/ld/esp32.project.ld.in -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp32/ld/esp32.peripherals.ld silence:0, ld core:/home/esp/project/esp-at/components/at/lib/libesp32_at_core.a Parsing CSV input... Verifying table... -- Components: app_trace app_update asio at bootloader bootloader_support bt cbor coap console customized_partitions cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_ipc esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_driver spi_flash spiffs tcp_transport tcpip_adapter tinyusb ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa -- Component paths: /home/esp/project/esp-at-esp32/esp-idf/components/app_trace /home/esp/project/esp-at-esp32/esp-idf/components/app_update /home/esp/project/esp-at-esp32/esp-idf/components/asio /home/esp/project/esp-at/components/at /home/esp/project/esp-at-esp32/esp-idf/components/bootloader /home/esp/project/esp-at-esp32/esp-idf/components/bootloader_support /home/esp/project/esp-at-esp32/esp-idf/components/bt /home/esp/project/esp-at-esp32/esp-idf/components/cbor /home/esp/project/esp-at-esp32/esp-idf/components/coap /home/esp/project/esp-at-esp32/esp-idf/components/console /home/esp/project/esp-at/components/customized_partitions /home/esp/project/esp-at-esp32/esp-idf/components/cxx /home/esp/project/esp-at-esp32/esp-idf/components/driver /home/esp/project/esp-at-esp32/esp-idf/components/efuse /home/esp/project/esp-at-esp32/esp-idf/components/esp-tls /home/esp/project/esp-at-esp32/esp-idf/components/esp32 /home/esp/project/esp-at-esp32/esp-idf/components/esp_adc_cal /home/esp/project/esp-at-esp32/esp-idf/components/esp_common /home/esp/project/esp-at-esp32/esp-idf/components/esp_eth /home/esp/project/esp-at-esp32/esp-idf/components/esp_event /home/esp/project/esp-at-esp32/esp-idf/components/esp_gdbstub /home/esp/project/esp-at-esp32/esp-idf/components/esp_hid /home/esp/project/esp-at-esp32/esp-idf/components/esp_http_client /home/esp/project/esp-at-esp32/esp-idf/components/esp_http_server /home/esp/project/esp-at-esp32/esp-idf/components/esp_https_ota /home/esp/project/esp-at-esp32/esp-idf/components/esp_https_server /home/esp/project/esp-at-esp32/esp-idf/components/esp_ipc /home/esp/project/esp-at-esp32/esp-idf/components/esp_local_ctrl /home/esp/project/esp-at-esp32/esp-idf/components/esp_netif /home/esp/project/esp-at-esp32/esp-idf/components/esp_ringbuf /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom /home/esp/project/esp-at-esp32/esp-idf/components/esp_serial_slave_link /home/esp/project/esp-at-esp32/esp-idf/components/esp_system /home/esp/project/esp-at-esp32/esp-idf/components/esp_timer /home/esp/project/esp-at-esp32/esp-idf/components/esp_websocket_client /home/esp/project/esp-at-esp32/esp-idf/components/esp_wifi /home/esp/project/esp-at-esp32/esp-idf/components/espcoredump /home/esp/project/esp-at-esp32/esp-idf/components/esptool_py /home/esp/project/esp-at-esp32/esp-idf/components/expat /home/esp/project/esp-at-esp32/esp-idf/components/fatfs /home/esp/project/esp-at-esp32/esp-idf/components/freemodbus /home/esp/project/esp-at-esp32/esp-idf/components/freertos /home/esp/project/esp-at-esp32/esp-idf/components/heap /home/esp/project/esp-at-esp32/esp-idf/components/idf_test /home/esp/project/esp-at-esp32/esp-idf/components/jsmn /home/esp/project/esp-at-esp32/esp-idf/components/json /home/esp/project/esp-at-esp32/esp-idf/components/libsodium /home/esp/project/esp-at-esp32/esp-idf/components/log /home/esp/project/esp-at-esp32/esp-idf/components/lwip /home/esp/project/esp-at/main /home/esp/project/esp-at-esp32/esp-idf/components/mbedtls /home/esp/project/esp-at-esp32/esp-idf/components/mdns /home/esp/project/esp-at-esp32/esp-idf/components/mqtt /home/esp/project/esp-at-esp32/esp-idf/components/newlib /home/esp/project/esp-at-esp32/esp-idf/components/nghttp /home/esp/project/esp-at-esp32/esp-idf/components/nvs_flash /home/esp/project/esp-at-esp32/esp-idf/components/openssl /home/esp/project/esp-at-esp32/esp-idf/components/partition_table /home/esp/project/esp-at-esp32/esp-idf/components/perfmon /home/esp/project/esp-at-esp32/esp-idf/components/protobuf-c /home/esp/project/esp-at-esp32/esp-idf/components/protocomm /home/esp/project/esp-at-esp32/esp-idf/components/pthread /home/esp/project/esp-at-esp32/esp-idf/components/sdmmc /home/esp/project/esp-at-esp32/esp-idf/components/soc /home/esp/project/esp-at/components/spi_driver /home/esp/project/esp-at-esp32/esp-idf/components/spi_flash /home/esp/project/esp-at-esp32/esp-idf/components/spiffs /home/esp/project/esp-at-esp32/esp-idf/components/tcp_transport /home/esp/project/esp-at-esp32/esp-idf/components/tcpip_adapter /home/esp/project/esp-at-esp32/esp-idf/components/tinyusb /home/esp/project/esp-at-esp32/esp-idf/components/ulp /home/esp/project/esp-at-esp32/esp-idf/components/unity /home/esp/project/esp-at-esp32/esp-idf/components/vfs /home/esp/project/esp-at-esp32/esp-idf/components/wear_levelling /home/esp/project/esp-at-esp32/esp-idf/components/wifi_provisioning /home/esp/project/esp-at-esp32/esp-idf/components/wpa_supplicant /home/esp/project/esp-at-esp32/esp-idf/components/xtensa -- Configuring done -- Generating done -- Build files have been written to: /home/esp/project/esp-at/build Running ninja in directory /home/esp/project/esp-at/build Executing "ninja menuconfig"... [0/1] cd /home/esp/project/esp-at/build && /home/esp/.espressif/python_env/i...nv --env IDF_TARGET=esp32 --output config /home/esp/project/esp-at/sdkconfig Loading defaults file /home/esp/project/esp-at/module_config/module_esp32_default/sdkconfig.defaults... TERM environment variable is set to "xterm-256color" Loaded configuration '/home/esp/project/esp-at/sdkconfig' No changes to save (for '/home/esp/project/esp-at/sdkconfig') Loading defaults file /home/esp/project/esp-at/module_config/module_esp32_default/sdkconfig.defaults... idf.py build ret: 0 esp@esp:~/project/esp-at$ ./build.py build module_name WROOM-32 platform_name=ESP32,module_name=WROOM-32 WARNING: IDF_PATH environment variable is set to /home/esp/project/esp-at-esp32/esp-idf but esp-idf/tools/idf.py path indicates IDF directory /home/esp/project/esp-at/esp-idf. Using the environment variable directory, but results may be unexpected... Executing action: all (aliases: build) Running ninja in directory /home/esp/project/esp-at/build Executing "ninja all"... [0/1] Re-running CMake... silence:0 sdkconfig:/home/esp/project/esp-at/module_config/module_esp32_default/sdkconfig.defaults CMake Warning at esp-idf/tools/cmake/idf.cmake:18 (message): IDF_PATH environment variable is different from inferred IDF_PATH.

                          Check if your project's top-level CMakeLists.txt includes the right
                          CMake files. Environment IDF_PATH will be used for the build:
                          /home/esp/project/esp-at-esp32/esp-idf

Call Stack (most recent call first): esp-idf/tools/cmake/project.cmake:7 (include) CMakeLists.txt:49 (include)

-- Building ESP-IDF components for target esp32 Loading defaults file /home/esp/project/esp-at/module_config/module_esp32_default/sdkconfig.defaults... -- App "esp-at" version: v2.1.0.0_esp32s2-253-g4c8bf77 -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-nano.ld -- Adding linker script /home/esp/project/esp-at/build/esp-idf/esp32/esp32_out.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp32/ld/esp32.project.ld.in -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp32/ld/esp32.peripherals.ld silence:0, ld core:/home/esp/project/esp-at/components/at/lib/libesp32_at_core.a Parsing CSV input... Verifying table... -- Components: app_trace app_update asio at bootloader bootloader_support bt cbor coap console customized_partitions cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_ipc esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_driver spi_flash spiffs tcp_transport tcpip_adapter tinyusb ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa -- Component paths: /home/esp/project/esp-at-esp32/esp-idf/components/app_trace /home/esp/project/esp-at-esp32/esp-idf/components/app_update /home/esp/project/esp-at-esp32/esp-idf/components/asio /home/esp/project/esp-at/components/at /home/esp/project/esp-at-esp32/esp-idf/components/bootloader /home/esp/project/esp-at-esp32/esp-idf/components/bootloader_support /home/esp/project/esp-at-esp32/esp-idf/components/bt /home/esp/project/esp-at-esp32/esp-idf/components/cbor /home/esp/project/esp-at-esp32/esp-idf/components/coap /home/esp/project/esp-at-esp32/esp-idf/components/console /home/esp/project/esp-at/components/customized_partitions /home/esp/project/esp-at-esp32/esp-idf/components/cxx /home/esp/project/esp-at-esp32/esp-idf/components/driver /home/esp/project/esp-at-esp32/esp-idf/components/efuse /home/esp/project/esp-at-esp32/esp-idf/components/esp-tls /home/esp/project/esp-at-esp32/esp-idf/components/esp32 /home/esp/project/esp-at-esp32/esp-idf/components/esp_adc_cal /home/esp/project/esp-at-esp32/esp-idf/components/esp_common /home/esp/project/esp-at-esp32/esp-idf/components/esp_eth /home/esp/project/esp-at-esp32/esp-idf/components/esp_event /home/esp/project/esp-at-esp32/esp-idf/components/esp_gdbstub /home/esp/project/esp-at-esp32/esp-idf/components/esp_hid /home/esp/project/esp-at-esp32/esp-idf/components/esp_http_client /home/esp/project/esp-at-esp32/esp-idf/components/esp_http_server /home/esp/project/esp-at-esp32/esp-idf/components/esp_https_ota /home/esp/project/esp-at-esp32/esp-idf/components/esp_https_server /home/esp/project/esp-at-esp32/esp-idf/components/esp_ipc /home/esp/project/esp-at-esp32/esp-idf/components/esp_local_ctrl /home/esp/project/esp-at-esp32/esp-idf/components/esp_netif /home/esp/project/esp-at-esp32/esp-idf/components/esp_ringbuf /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom /home/esp/project/esp-at-esp32/esp-idf/components/esp_serial_slave_link /home/esp/project/esp-at-esp32/esp-idf/components/esp_system /home/esp/project/esp-at-esp32/esp-idf/components/esp_timer /home/esp/project/esp-at-esp32/esp-idf/components/esp_websocket_client /home/esp/project/esp-at-esp32/esp-idf/components/esp_wifi /home/esp/project/esp-at-esp32/esp-idf/components/espcoredump /home/esp/project/esp-at-esp32/esp-idf/components/esptool_py /home/esp/project/esp-at-esp32/esp-idf/components/expat /home/esp/project/esp-at-esp32/esp-idf/components/fatfs /home/esp/project/esp-at-esp32/esp-idf/components/freemodbus /home/esp/project/esp-at-esp32/esp-idf/components/freertos /home/esp/project/esp-at-esp32/esp-idf/components/heap /home/esp/project/esp-at-esp32/esp-idf/components/idf_test /home/esp/project/esp-at-esp32/esp-idf/components/jsmn /home/esp/project/esp-at-esp32/esp-idf/components/json /home/esp/project/esp-at-esp32/esp-idf/components/libsodium /home/esp/project/esp-at-esp32/esp-idf/components/log /home/esp/project/esp-at-esp32/esp-idf/components/lwip /home/esp/project/esp-at/main /home/esp/project/esp-at-esp32/esp-idf/components/mbedtls /home/esp/project/esp-at-esp32/esp-idf/components/mdns /home/esp/project/esp-at-esp32/esp-idf/components/mqtt /home/esp/project/esp-at-esp32/esp-idf/components/newlib /home/esp/project/esp-at-esp32/esp-idf/components/nghttp /home/esp/project/esp-at-esp32/esp-idf/components/nvs_flash /home/esp/project/esp-at-esp32/esp-idf/components/openssl /home/esp/project/esp-at-esp32/esp-idf/components/partition_table /home/esp/project/esp-at-esp32/esp-idf/components/perfmon /home/esp/project/esp-at-esp32/esp-idf/components/protobuf-c /home/esp/project/esp-at-esp32/esp-idf/components/protocomm /home/esp/project/esp-at-esp32/esp-idf/components/pthread /home/esp/project/esp-at-esp32/esp-idf/components/sdmmc /home/esp/project/esp-at-esp32/esp-idf/components/soc /home/esp/project/esp-at/components/spi_driver /home/esp/project/esp-at-esp32/esp-idf/components/spi_flash /home/esp/project/esp-at-esp32/esp-idf/components/spiffs /home/esp/project/esp-at-esp32/esp-idf/components/tcp_transport /home/esp/project/esp-at-esp32/esp-idf/components/tcpip_adapter /home/esp/project/esp-at-esp32/esp-idf/components/tinyusb /home/esp/project/esp-at-esp32/esp-idf/components/ulp /home/esp/project/esp-at-esp32/esp-idf/components/unity /home/esp/project/esp-at-esp32/esp-idf/components/vfs /home/esp/project/esp-at-esp32/esp-idf/components/wear_levelling /home/esp/project/esp-at-esp32/esp-idf/components/wifi_provisioning /home/esp/project/esp-at-esp32/esp-idf/components/wpa_supplicant /home/esp/project/esp-at-esp32/esp-idf/components/xtensa -- Configuring done -- Generating done -- Build files have been written to: /home/esp/project/esp-at/build [5/1212] Generating ../../partition_table/partition-table.bin Partition table binary generated. Contents:


ESP-IDF Partition Table

Name, Type, SubType, Offset, Size, Flags

phy_init,data,phy,0xf000,4K, otadata,data,ota,0x10000,8K, nvs,data,nvs,0x12000,56K, at_customize,64,0,0x20000,896K, ota_0,app,ota_0,0x100000,1536K, ota_1,app,ota_1,0x280000,1536K,


[151/1212] Performing configure step for 'bootloader' -- Found Git: /usr/bin/git (found version "2.17.1") -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU -- Found assembler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- Check for working C compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- Check for working C compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- Check for working CXX compiler: /home/esp/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building ESP-IDF components for target esp32 -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp32/ld/esp32.peripherals.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld -- Adding linker script /home/esp/project/esp-at-esp32/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld -- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py log main micro-ecc partition_table soc spi_flash xtensa -- Component paths: /home/esp/project/esp-at-esp32/esp-idf/components/bootloader /home/esp/project/esp-at-esp32/esp-idf/components/bootloader_support /home/esp/project/esp-at-esp32/esp-idf/components/efuse /home/esp/project/esp-at-esp32/esp-idf/components/esp32 /home/esp/project/esp-at-esp32/esp-idf/components/esp_common /home/esp/project/esp-at-esp32/esp-idf/components/esp_rom /home/esp/project/esp-at-esp32/esp-idf/components/esptool_py /home/esp/project/esp-at-esp32/esp-idf/components/log /home/esp/project/esp-at-esp32/esp-idf/components/bootloader/subproject/main /home/esp/project/esp-at-esp32/esp-idf/components/bootloader/subproject/components/micro-ecc /home/esp/project/esp-at-esp32/esp-idf/components/partition_table /home/esp/project/esp-at-esp32/esp-idf/components/soc /home/esp/project/esp-at-esp32/esp-idf/components/spi_flash /home/esp/project/esp-at-esp32/esp-idf/components/xtensa -- Configuring done -- Generating done -- Build files have been written to: /home/esp/project/esp-at/build/bootloader [204/1212] Performing build step for 'bootloader' [1/101] Generating project_elf_src.c [2/101] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src.c.obj [3/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/cpu_util.c.obj [4/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/lldesc.c.obj [5/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/memory_layout_utils.c.obj [6/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/cpu_hal.c.obj [7/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/rmt_hal.c.obj [8/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/dac_hal.c.obj [9/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/rtc_io_hal.c.obj [10/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/adc_hal.c.obj [11/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/spi_hal.c.obj [12/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/spi_slave_hal.c.obj [13/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/spi_hal_iram.c.obj [14/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/spi_slave_hal_iram.c.obj [15/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/touch_sensor_hal.c.obj [16/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/soc_include_legacy_warn.c.obj [17/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/pcnt_hal.c.obj [18/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/sigmadelta_hal.c.obj [19/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/timer_hal.c.obj [20/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/ledc_hal.c.obj [21/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/i2s_hal.c.obj [22/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/ledc_hal_iram.c.obj [23/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/i2c_hal_iram.c.obj [24/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/i2c_hal.c.obj [25/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/gpio_hal.c.obj [26/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/uart_hal_iram.c.obj [27/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/uart_hal.c.obj [28/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/spi_flash_hal.c.obj [29/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/mpu_hal.c.obj [30/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/soc_hal.c.obj [31/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/spi_flash_hal_iram.c.obj [32/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/compare_set.c.obj [33/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/wdt_hal_iram.c.obj [34/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/twai_hal.c.obj [35/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/mcpwm_hal.c.obj [36/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/adc_hal.c.obj [37/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/hal/sdio_slave_hal.c.obj [38/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/brownout_hal.c.obj [39/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_clk_init.c.obj [40/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_clk.c.obj [41/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_init.c.obj [42/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_pm.c.obj [43/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_time.c.obj [44/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_sleep.c.obj [45/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/soc_memory_layout.c.obj [46/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/rtc_wdt.c.obj [47/101] Building C object esp-idf/soc/CMakeFiles/idf_soc.dir/src/esp32/touch_sensor_hal.c.obj [48/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/rtc_io_periph.c.obj [49/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/adc_periph.c.obj [50/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/dac_periph.c.obj [51/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/gpio_periph.c.obj [52/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/rtc_periph.c.obj [53/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/sdmmc_periph.c.obj [54/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/sdio_slave_periph.c.obj [55/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/interrupts.c.obj [56/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/spi_periph.c.obj [57/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/ledc_periph.c.obj [58/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/i2s_periph.c.obj [59/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/i2c_periph.c.obj [60/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/uart_periph.c.obj [61/101] Building C object esp-idf/soc/soc/esp32/CMakeFiles/soc_esp32.dir/touch_sensor_periph.c.obj [62/101] Building C object esp-idf/log/CMakeFiles/idf_log.dir/log.c.obj [63/101] Building C object esp-idf/log/CMakeFiles/idf_log.dir/log_buffers.c.obj [64/101] Building C object esp-idf/log/CMakeFiles/idf_log.dir/log_noos.c.obj [65/101] Linking C static library esp-idf/log/liblog.a [66/101] Linking C static library esp-idf/soc/soc/esp32/libsoc_esp32.a [67/101] Linking C static library esp-idf/soc/libsoc.a [68/101] Building C object esp-idf/spi_flash/CMakeFiles/idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj [69/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj [70/101] Building C object esp-idf/efuse/CMakeFiles/idf_efuse.dir/src/esp32/esp_efuse_api.c.obj [71/101] Building C object esp-idf/efuse/CMakeFiles/idf_efuse.dir/src/esp32/esp_efuse_fields.c.obj [72/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp32/esp_efuse_utility.c.obj [73/101] Building C object esp-idf/micro-ecc/CMakeFiles/idf_micro-ecc.dir/uECC_verify_antifault.c.obj [74/101] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a [75/101] Building C object esp-idf/efuse/CMakeFiles/idf_efuse.dir/src/esp_efuse_api.c.obj [76/101] Building C object esp-idf/efuse/CMakeFiles/idf_efuse.dir/src/esp_efuse_fields.c.obj [77/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_clock.c.obj [78/101] Building C object esp-idf/efuse/CMakeFiles/idf_efuse.dir/src/esp_efuse_utility.c.obj [79/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_flash.c.obj [80/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_common.c.obj [81/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_mem.c.obj [82/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_random.c.obj [83/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj [84/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_utility.c.obj [85/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/flash_encrypt.c.obj [86/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj [87/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/flash_partitions.c.obj [88/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/flash_qio_mode.c.obj [89/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj [90/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj [91/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj [92/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/bootloader_init.c.obj [93/101] Building C object esp-idf/bootloader_support/CMakeFiles/idf_bootloader_support.dir/src/esp32/flash_encrypt.c.obj [94/101] Building C object esp-idf/main/CMakeFiles/idf_main.dir/bootloader_start.c.obj [95/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj [96/101] Linking C static library esp-idf/bootloader_support/libbootloader_support.a [97/101] Linking C static library esp-idf/efuse/libefuse.a [98/101] Linking C static library esp-idf/spi_flash/libspi_flash.a [99/101] Linking C static library esp-idf/main/libmain.a [100/101] Linking C executable bootloader.elf [101/101] Generating binary image from built executable esptool.py v3.0 Generated /home/esp/project/esp-at/build/bootloader/bootloader.bin [1194/1212] Building C object esp-idf/main/CMakeFiles/idf_main.dir/app_main.c.obj In file included from ../main/app_main.c:34: /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event_loop.h:2:2: warning: #warning "esp_event_loop.h is deprecated, please include esp_event.h instead" [-Wcpp]

warning "esp_event_loop.h is deprecated, please include esp_event.h instead"

^~~ ../main/app_main.c: In function 'initialise_wifi': ../main/app_main.c:58:5: warning: 'esp_event_loop_init' is deprecated [-Wdeprecated-declarations] ESP_ERROR_CHECK( esp_event_loop_init(at_wifi_event_handler, NULL) ); ^~~~~~~ In file included from /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event.h:26, from /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event_loop.h:3, from ../main/app_main.c:34: /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event_legacy.h:231:11: note: declared here esp_err_t esp_event_loop_init(system_event_cb_t cb, void *ctx) attribute ((deprecated)); ^~~~~~~ ../main/app_main.c: In function 'app_main': ../main/app_main.c:74:5: warning: 'tcpip_adapter_init' is deprecated [-Wdeprecated-declarations] tcpip_adapter_init(); ^~~~~~ In file included from /home/esp/project/esp-at-esp32/esp-idf/components/esp_netif/include/esp_netif.h:35, from /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event_legacy.h:22, from /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event.h:26, from /home/esp/project/esp-at-esp32/esp-idf/components/esp_event/include/esp_event_loop.h:3, from ../main/app_main.c:34: /home/esp/project/esp-at-esp32/esp-idf/components/tcpip_adapter/include/tcpip_adapter.h:34:6: note: declared here void tcpip_adapter_init(void) attribute ((deprecated)); ^~~~~~ [1196/1212] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/interface/socket/at_socket_task.c.obj In file included from ../main/interface/socket/at_socket_task.c:38: /home/esp/project/esp-at-esp32/esp-idf/components/tcpip_adapter/include/tcpip_adapter.h:15:2: warning: #warning "This header is deprecated, please use new network related API in esp_netif.h" [-Wcpp]

warning "This header is deprecated, please use new network related API in esp_netif.h"

^~~ [1198/1212] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/interface/uart/at_uart_task.c.obj ../main/interface/uart/at_uart_task.c: In function 'at_status_callback': ../main/interface/uart/at_uart_task.c:631:9: warning: 'uart_enable_pattern_det_intr' is deprecated [-Wdeprecated-declarations] uart_enable_pattern_det_intr(esp_at_uart_port, '+', 3, ((APB_CLK_FREQ20)/1000),((APB_CLK_FREQ20)/1000), ((APB_CLK_FREQ*20)/1000)); ^~~~~~~~ In file included from ../main/interface/uart/at_uart_task.c:38: /home/esp/project/esp-at-esp32/esp-idf/components/driver/include/driver/uart.h:626:11: note: declared here esp_err_t uart_enable_pattern_det_intr(uart_port_t uart_num, char pattern_chr, uint8_t chr_num, int chr_tout, int post_idle, int pre_idle) attribute((deprecated)); ^~~~~~~~ [1200/1212] Building C object esp-idf/at/CMakeFiles/__idf_at.dir/src/at_eth_init.c.obj In file included from ../components/at/src/at_eth_init.c:24: /home/esp/project/esp-at-esp32/esp-idf/components/tcpip_adapter/include/tcpip_adapter.h:15:2: warning: #warning "This header is deprecated, please use new network related API in esp_netif.h" [-Wcpp]

warning "This header is deprecated, please use new network related API in esp_netif.h"

^~~ [1201/1212] Building C object esp-idf/at/CMakeFiles/__idf_at.dir/src/at_ota_cmd.c.obj In file included from ../components/at/src/at_ota_cmd.c:38: /home/esp/project/esp-at-esp32/esp-idf/components/tcpip_adapter/include/tcpip_adapter.h:15:2: warning: #warning "This header is deprecated, please use new network related API in esp_netif.h" [-Wcpp]

warning "This header is deprecated, please use new network related API in esp_netif.h"

^~~ [1210/1212] Generating binary image from built executable esptool.py v3.0 Generated /home/esp/project/esp-at/build/esp-at.bin [1211/1212] Running utility command for customized_bin Traceback (most recent call last): File "/home/esp/project/esp-at/tools/BLEService.py", line 29, in import yaml ModuleNotFoundError: No module named 'yaml' generating ble_data.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/BLEService.py -t /home/esp/project/esp-at/build/customized_partitions/ble_data.bin /home/esp/project/esp-at/components/customized_partitions/raw_data/ble_data/example.csv generating server_cert.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/server_cert.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/server_cert/server_cert.crt generating server_key.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/server_key.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/server_key/server.key generating server_ca.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/server_ca.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/server_ca/server_ca.crt generating client_cert.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/client_cert.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/client_cert/client_cert_00.crt cert /home/esp/project/esp-at/components/customized_partitions/raw_data/client_cert/client_cert_01.crt generating client_key.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/client_key.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/client_key/client_key_00.key cert /home/esp/project/esp-at/components/customized_partitions/raw_data/client_key/client_key_01.key generating client_ca.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/client_ca.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/client_ca/client_ca_01.crt cert /home/esp/project/esp-at/components/customized_partitions/raw_data/client_ca/client_ca_00.crt generating mqtt_cert.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/mqtt_cert.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/mqtt_cert/mqtt_client.crt generating mqtt_key.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/mqtt_key.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/mqtt_key/mqtt_client.key generating mqtt_ca.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/AtPKI.py generate_bin -b /home/esp/project/esp-at/build/customized_partitions/mqtt_ca.bin cert /home/esp/project/esp-at/components/customized_partitions/raw_data/mqtt_ca/mqtt_ca.crt generate parameter bin: platform PLATFORM_ESP32, module name WROOM-32 generating factory_param.bin: /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/factory_param_generate.py --platform PLATFORM_ESP32 --module WROOM-32 --bin_name /home/esp/project/esp-at/build/customized_partitions/factory_param.bin --define_file /home/esp/project/esp-at/components/customized_partitions/raw_data/factory_param/factory_param_type.csv --module_file /home/esp/project/esp-at/components/customized_partitions/raw_data/factory_param/factory_param_data.csv --log_file /home/esp/project/esp-at/build/factory/factory_parameter.log [1212/1212] Running utility command for factory_bin FAILED: CMakeFiles/factory_bin.util cd /home/esp/project/esp-at/build && /home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python /home/esp/project/esp-at/tools/esp_at_factory_bin_combine.py --module_name WROOM-32 --bin_directory /home/esp/project/esp-at/build --flash_mode dio --flash_size 4MB --flash_speed 40m --parameter_file /home/esp/project/esp-at/build/factory/factory_parameter.log --download_config /home/esp/project/esp-at/build/flash_project_args 0x8000,partition_table/partition-table.bin 0x10000,ota_data_initial.bin 0xf000,phy_init_data.bin 0x1000,bootloader/bootloader.bin 0x100000,esp-at.bin 0x20000,at_customize.bin 0x21000,customized_partitions/ble_data.bin Traceback (most recent call last): File "/home/esp/project/esp-at/tools/esp_at_factory_bin_combine.py", line 98, in main() File "/home/esp/project/esp-at/tools/esp_at_factory_bin_combine.py", line 94, in main esp32_at_combine_bin(args.module_name.upper(), args.flash_mode.upper(), args.flash_size.upper(), File "/home/esp/project/esp-at/tools/esp_at_factory_bin_combine.py", line 47, in esp32_at_combine_bin with open(os.path.join(build_dir, bin_file), 'rb') as f: FileNotFoundError: [Errno 2] No such file or directory: '/home/esp/project/esp-at/build/customized_partitions/ble_data.bin' ninja: build stopped: subcommand failed. ninja failed with exit code 1 idf.py build ret: 2 idf.py build failed esp@esp:~/project/esp-at$

It seems that the ble_data.bin has not been output. Am I missing something?

Thx

ESP-Coco commented 3 years ago

I found this error "No module named 'yaml'", just install through pip and retry.

ustccw commented 3 years ago

@ldsheng As the doc said, you should install the xlrd and pyyaml module firstly. Maybe you can try with the following shell cmd:

# install esp-idf env firstly
cd esp-idf
./install.sh
. ./export.sh

# install esp-at necessary python module
pip install xlrd pyyaml
cd -

# build the esp-at project
./build.py build
ldsheng commented 3 years ago

@ESP-Coco @ustccw Yes! After installing the pyyaml, I compiled esp-at successfully. Thank you! Now I start to restore my test environment. I'll let you know as soon as I get some results!

thx

ldsheng commented 3 years ago

HI,

Since last Friday, after successfully compiled the commit 4c8bf77, I have run the test several times, each test lasts more than 1 hour. The throughput is about 80 Kbytes per second.

At first, I run the test for about 1 hour and then stop. Everything looks good. No errors occur. Then, I extend the test. I found that errors occur when the test lasts more than 2 hours. This has happened 2 times. I'm not sure if this is still the bug or a problem with my router (Linksys WRT3200ACM). The snapshot when the error occurs is as below. image I'll keep on the test and update the results.

Anyway, the improvement is really impressive. Thank you!

ustccw commented 3 years ago

@ldsheng Thank you for your patient reply, while i was busying addind IPv6 features and esp32c3 chip into esp-at in last two weeks.

Will look into this valuable issue next week, thanks again for your feedback.

ustccw commented 3 years ago

@ldsheng could you please take a look, more details in README.md of the attachment.

GHI457.zip

ustccw commented 3 years ago

@ldsheng If anything unclear, please let me know.

ldsheng commented 3 years ago

@ustccw I got your message. OK, I think I can do some tests next week. I'll let you know when I get some results.

ustccw commented 3 years ago

@ldsheng Is it possible that there is a reply this week.

ldsheng commented 3 years ago

Hi, I'm sorry for the delay but I don't think I can do the test this week. Because my family is seriously ill since 14th March, I cannot go back to work recently.

On Tue, Mar 30, 2021 at 10:37 AM ustccw @.***> wrote:

@ldsheng https://github.com/ldsheng Is it possible that there is a reply this week.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/espressif/esp-at/issues/457#issuecomment-809860206, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZRS6LBXUY3HR2I3APPMR3TGE2ODANCNFSM4PWLF2LQ .

ustccw commented 3 years ago

i am sorry to hear that, hope to get well soon~

ustccw commented 2 years ago

May I know if there is any update? If the issue still exists, please let us know.

caowent commented 2 years ago

May I know if there is any update? If the issue still exists, please let us know.

Sorry, I no longer have a test environment.