Skip to content
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

ESP32-D0WD-V3 doesn't send back SCAN_RESP packets. (IDFGH-9277) #10660

Open
3 tasks done
zapta opened this issue Jan 30, 2023 · 17 comments
Open
3 tasks done

ESP32-D0WD-V3 doesn't send back SCAN_RESP packets. (IDFGH-9277) #10660

zapta opened this issue Jan 30, 2023 · 17 comments
Assignees
Labels
Status: In Progress Work is in progress Type: Bug bugs in IDF

Comments

@zapta
Copy link

zapta commented Jan 30, 2023

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

Espressif IDF v1.5.1

Operating System used.

Windows

How did you build your project?

VS Code IDE

If you are using Windows, please specify command line type.

None

Development Kit.

ESP32 WROOM boards

Power Supply used.

USB

What is the expected behavior?

Device responds to BLE SCAN_REQ requests, when using the Espressif gatts_table_creat_demo.c example.

What is the actual behavior?

ESP32-D0WDQ6 (revision v1.0) works as expected. ESP32-D0WD-V3 (revision v3.0) does not respond to BLE SCAN_REQ requests. I am reporting here using your gatts_table_creat_demo.c example but experience the same issue with other BLE programs.

Attached are screen shots and packet captures files from wireshark.

wireshark_ESP32-D0WD-V1

wireshark_ESP32-D0WD-V3

wireshark_ packets.zip

Steps to reproduce.

  1. Build a run Espressif gatts_table_creat_demo.c example on a ESP32-D0WD-V3 device.
  2. Use Nordic's nRF Connect app for android or iphone to scan for BLE devices. Notice that you see "ESP_GATTS_DEMO". Do not connect to it and leave the phone app scanning.
  3. Run a BLE packet sniffer (I am using the Nordic sniffer with wireshark https://www.nordicsemi.com/Products/Development-tools/nrf-sniffer-for-bluetooth-le).
  4. Observe in the sniffer traffic to/from the "ESP_GATTS_DEMO", identify the SCAN_REQ packets sent to it and observe if it sends back corresponding SCAN_RESP packets.

With the ESP32-D0WDQ6 (revision v1.0) device I do get the SCAN_REQ (good). With the ESP32-D0WD-V3 (revision v3.0) I don't.

Debug Logs.

This is the log when running the ESP32-D0WD-V3 (revision v3.0) which doesn't send back SCAN_RESP:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6992
load:0x40078000,len:15452
load:0x40080400,len:3840
0x40080400: _init at ??:?

entry 0x4008064c
I (27) boot: ESP-IDF v5.0 2nd stage bootloader
I (27) boot: compile time 10:43:07
I (27) boot: chip revision: v3.0
I (30) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (37) boot.esp32: SPI Speed      : 40MHz
I (42) boot.esp32: SPI Mode       : DIO
I (46) boot.esp32: SPI Flash Size : 2MB
I (51) boot: Enabling RNG early entropy source...
I (56) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (67) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (75) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (82) boot:  2 factory          factory app      00 00 00010000 00100000
I (90) boot: End of partition table
I (94) boot_comm: chip revision: 3, min. application chip revision: 0
I (101) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=175a8h ( 95656) map
I (144) esp_image: segment 1: paddr=000275d0 vaddr=3ffbdb60 size=049a0h ( 18848) load
I (152) esp_image: segment 2: paddr=0002bf78 vaddr=40080000 size=040a0h ( 16544) load
I (159) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=5ea94h (387732) map 
I (299) esp_image: segment 4: paddr=0008eabc vaddr=400840a0 size=134f8h ( 79096) load
I (332) esp_image: segment 5: paddr=000a1fbc vaddr=50000000 size=00010h (    16) load
I (344) boot: Loaded app from partition at offset 0x10000
I (344) boot: Disabling RNG early entropy source...
I (356) cpu_start: Pro cpu up.
I (356) cpu_start: Starting app cpu, entry point is 0x400812f8
0x400812f8: call_start_cpu1 at C:/Users/user/esp/esp-idf/components/esp_system/port/cpu_start.c:142

I (0) cpu_start: App cpu up.
I (372) cpu_start: Pro cpu start user code
I (372) cpu_start: cpu freq: 160000000 Hz
I (372) cpu_start: Application information:
I (377) cpu_start: Project name:     esdidf_scan_resp
I (383) cpu_start: App version:      b5c7fbd-dirty
I (388) cpu_start: Compile time:     Jan 30 2023 12:26:07
I (394) cpu_start: ELF file SHA256:  3cf270b6c6e6f1e6...
I (400) cpu_start: ESP-IDF:          v5.0
I (405) heap_init: Initializing. RAM available for dynamic allocation:
I (412) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (418) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (424) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (430) heap_init: At 3FFC61D0 len 00019E30 (103 KiB): DRAM
I (437) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (443) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (450) heap_init: At 40097598 len 00008A68 (34 KiB): IRAM
I (457) spi_flash: detected chip: generic
I (460) spi_flash: flash io: dio
W (464) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.       
I (479) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (524) BTDM_INIT: BT controller compile version [8020d24]
I (524) system_api: Base MAC address is not set
I (524) system_api: read default base MAC address from EFUSE
I (534) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (934) GATTS_TABLE_DEMO: create attribute table successfully, the number handle = 8

I (944) GATTS_TABLE_DEMO: SERVICE_START_EVT, status 0, service_handle 40
I (954) GATTS_TABLE_DEMO: advertising start successfully

More Information.

  1. My test project is here https://github.com/zapta/espidf_scan_resp
  2. This may be related to the reports here https://www.esp32.com/viewtopic.php?f=2&t=30483&p=109009#p109009
@zapta zapta added the Type: Bug bugs in IDF label Jan 30, 2023
@espressif-bot espressif-bot added the Status: Opened Issue is new label Jan 30, 2023
@github-actions github-actions bot changed the title ESP32-D0WD-V3 doesn't send back SCAN_RESP packets. ESP32-D0WD-V3 doesn't send back SCAN_RESP packets. (IDFGH-9277) Jan 30, 2023
@xiewenxiang
Copy link
Collaborator

ESP-IDF versions before V3.3 are already End of Life. could you please use the latest release branch to test?

https://github.com/espressif/esp-idf/blob/master/SUPPORT_POLICY.md

@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Opened Issue is new labels Jan 31, 2023
@zapta
Copy link
Author

zapta commented Jan 31, 2023

@xiewenxiang, the bug report here is based on a fresh install of VSCode/ESPIDF and the gatts table create demo it offered me. Is there a newer version thaמ a fresh install? How do I upgrade to a newer ESPIDF version in VSCode?

Here is a log of my build. It may give you information of the version I got from the fresh install.

 *  Executing task: cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -B c:\projects\espidf_scan_resp\repo\build -S c:\projects\espidf_scan_resp\repo 

-- Found Git: C:/Users/user/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/user/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/user/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/user/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features       
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/projects/espidf_scan_resp/repo/sdkconfig
Loading defaults file C:/projects/espidf_scan_resp/repo/sdkconfig.defaults...
Loading defaults file C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32...
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:392 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE was replaced with CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:393 CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION was replaced with CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION       
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:394 CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER was replaced with CONFIG_ESP_PHY_MAX_WIFI_TX_POWER
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:395 CONFIG_ESP32_PHY_MAX_TX_POWER was replaced with CONFIG_ESP_PHY_MAX_TX_POWER
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1077 CONFIG_OTA_ALLOW_HTTP was replaced with CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1100 CONFIG_ESP32_DEBUG_OCDAWARE was replaced with CONFIG_ESP_DEBUG_OCDAWARE
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1101 CONFIG_ESP32_BROWNOUT_DET was replaced with CONFIG_ESP_BROWNOUT_DET
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1102 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1103 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1104 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1105 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1106 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1107 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1108 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1109 CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 was replaced with CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1110 CONFIG_ESP32_BROWNOUT_DET_LVL was replaced with CONFIG_ESP_BROWNOUT_DET_LVL
C:/projects/espidf_scan_resp/repo/sdkconfig.defaults.esp32:1111 CONFIG_ESP32_REDUCE_PHY_TX_POWER was replaced with CONFIG_ESP_PHY_REDUCE_TX_POWER
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Found Python3: C:/Users/user/.espressif/python_env/idf5.0_py3.8_env/Scripts/python.exe (found version "3.8.7") found components: Interpreter 
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "esdidf_scan_resp" version: b5c7fbd-dirty
-- Adding linker script C:/projects/espidf_scan_resp/repo/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_system/ld/esp32/sections.ld.in
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Components: app_trace app_update bootloader bootloader_support bt cmock console cxx driver efuse esp-tls esp_adc esp_app_format esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_netif esp_partition esp_phy esp_pm esp_psram 
esp_ringbuf esp_rom esp_system esp_timer esp_wifi espcoredump esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Users/user/esp/esp-idf/components/app_trace C:/Users/user/esp/esp-idf/components/app_update C:/Users/user/esp/esp-idf/components/bootloader C:/Users/user/esp/esp-idf/components/bootloader_support C:/Users/user/esp/esp-idf/components/bt C:/Users/user/esp/esp-idf/components/cmock C:/Users/user/esp/esp-idf/components/console C:/Users/user/esp/esp-idf/components/cxx C:/Users/user/esp/esp-idf/components/driver C:/Users/user/esp/esp-idf/components/efuse C:/Users/user/esp/esp-idf/components/esp-tls C:/Users/user/esp/esp-idf/components/esp_adc C:/Users/user/esp/esp-idf/components/esp_app_format C:/Users/user/esp/esp-idf/components/esp_common C:/Users/user/esp/esp-idf/components/esp_eth C:/Users/user/esp/esp-idf/components/esp_event C:/Users/user/esp/esp-idf/components/esp_gdbstub C:/Users/user/esp/esp-idf/components/esp_hid C:/Users/user/esp/esp-idf/components/esp_http_client C:/Users/user/esp/esp-idf/components/esp_http_server C:/Users/user/esp/esp-idf/components/esp_https_ota C:/Users/user/esp/esp-idf/components/esp_https_server C:/Users/user/esp/esp-idf/components/esp_hw_support C:/Users/user/esp/esp-idf/components/esp_lcd C:/Users/user/esp/esp-idf/components/esp_local_ctrl C:/Users/user/esp/esp-idf/components/esp_netif C:/Users/user/esp/esp-idf/components/esp_partition C:/Users/user/esp/esp-idf/components/esp_phy C:/Users/user/esp/esp-idf/components/esp_pm C:/Users/user/esp/esp-idf/components/esp_psram C:/Users/user/esp/esp-idf/components/esp_ringbuf C:/Users/user/esp/esp-idf/components/esp_rom C:/Users/user/esp/esp-idf/components/esp_system C:/Users/user/esp/esp-idf/components/esp_timer C:/Users/user/esp/esp-idf/components/esp_wifi C:/Users/user/esp/esp-idf/components/espcoredump C:/Users/user/esp/esp-idf/components/esptool_py C:/Users/user/esp/esp-idf/components/fatfs C:/Users/user/esp/esp-idf/components/freertos C:/Users/user/esp/esp-idf/components/hal C:/Users/user/esp/esp-idf/components/heap C:/Users/user/esp/esp-idf/components/http_parser C:/Users/user/esp/esp-idf/components/idf_test C:/Users/user/esp/esp-idf/components/ieee802154 C:/Users/user/esp/esp-idf/components/json C:/Users/user/esp/esp-idf/components/log C:/Users/user/esp/esp-idf/components/lwip C:/projects/espidf_scan_resp/repo/main C:/Users/user/esp/esp-idf/components/mbedtls C:/Users/user/esp/esp-idf/components/mqtt C:/Users/user/esp/esp-idf/components/newlib C:/Users/user/esp/esp-idf/components/nvs_flash C:/Users/user/esp/esp-idf/components/openthread C:/Users/user/esp/esp-idf/components/partition_table C:/Users/user/esp/esp-idf/components/perfmon C:/Users/user/esp/esp-idf/components/protobuf-c C:/Users/user/esp/esp-idf/components/protocomm C:/Users/user/esp/esp-idf/components/pthread C:/Users/user/esp/esp-idf/components/sdmmc C:/Users/user/esp/esp-idf/components/soc C:/Users/user/esp/esp-idf/components/spi_flash C:/Users/user/esp/esp-idf/components/spiffs C:/Users/user/esp/esp-idf/components/tcp_transport C:/Users/user/esp/esp-idf/components/ulp C:/Users/user/esp/esp-idf/components/unity C:/Users/user/esp/esp-idf/components/usb C:/Users/user/esp/esp-idf/components/vfs C:/Users/user/esp/esp-idf/components/wear_levelling C:/Users/user/esp/esp-idf/components/wifi_provisioning C:/Users/user/esp/esp-idf/components/wpa_supplicant C:/Users/user/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/projects/espidf_scan_resp/repo/build

 *  Executing task: ninja  

[23/1142] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[559/1142] Performing configure step for 'bootloader'
-- Found Git: C:/Users/user/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/user/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/user/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/user/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/projects/espidf_scan_resp/repo/sdkconfig
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Adding linker script C:/Users/user/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- App "bootloader" version: v5.0
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script C:/Users/user/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: C:/Users/user/esp/esp-idf/components/bootloader C:/Users/user/esp/esp-idf/components/bootloader_support C:/Users/user/esp/esp-idf/components/efuse C:/Users/user/esp/esp-idf/components/esp_app_format C:/Users/user/esp/esp-idf/components/esp_common C:/Users/user/esp/esp-idf/components/esp_hw_support C:/Users/user/esp/esp-idf/components/esp_rom C:/Users/user/esp/esp-idf/components/esp_system C:/Users/user/esp/esp-idf/components/esptool_py C:/Users/user/esp/esp-idf/components/freertos C:/Users/user/esp/esp-idf/components/hal C:/Users/user/esp/esp-idf/components/log C:/Users/user/esp/esp-idf/components/bootloader/subproject/main C:/Users/user/esp/esp-idf/components/bootloader/subproject/components/micro-ecc C:/Users/user/esp/esp-idf/components/newlib C:/Users/user/esp/esp-idf/components/partition_table C:/Users/user/esp/esp-idf/components/soc C:/Users/user/esp/esp-idf/components/spi_flash C:/Users/user/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/projects/espidf_scan_resp/repo/build/bootloader
[612/1142] Performing build step for 'bootloader'
[1/101] Generating project_elf_src_esp32.c
[2/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[3/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdm_periph.c.obj
[4/101] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[5/101] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj
[6/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dport_access.c.obj
[7/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj
[8/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj
[9/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[10/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
[11/101] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj
[12/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[13/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj
[14/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj
[15/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[16/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj
[17/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/lcd_periph.c.obj
[18/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[19/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj
[20/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj
[21/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[22/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[23/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj
[24/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj
[25/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[26/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj
[27/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[28/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
[29/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[30/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
[31/101] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[32/101] Building C object esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj
[33/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[34/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32/efuse_hal.c.obj
[35/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[36/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[37/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[38/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[39/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[40/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[41/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[42/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[43/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[44/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[45/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[46/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[47/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj
[48/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[49/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[50/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[51/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[52/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[53/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32.c.obj
[54/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
[55/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[56/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj
[57/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj
[58/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[59/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[60/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[61/101] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[62/101] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[63/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[64/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[65/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c.obj
[66/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[67/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_regi2c.c.obj
[68/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[69/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[70/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[71/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_pm.c.obj
[72/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj
[73/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj
[74/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[75/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[76/101] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[77/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj
[78/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj
[79/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj
[80/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[81/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj
[82/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[83/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[84/101] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[85/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[86/101] Linking C static library esp-idf\log\liblog.a
[87/101] Linking C static library esp-idf\esp_rom\libesp_rom.a
[88/101] Linking C static library esp-idf\esp_common\libesp_common.a
[89/101] Linking C static library esp-idf\esp_hw_support\libesp_hw_support.a
[90/101] Linking C static library esp-idf\esp_system\libesp_system.a
[91/101] Linking C static library esp-idf\efuse\libefuse.a
[92/101] Linking C static library esp-idf\bootloader_support\libbootloader_support.a
[93/101] Linking C static library esp-idf\esp_app_format\libesp_app_format.a
[94/101] Linking C static library esp-idf\hal\libhal.a
[95/101] Linking C static library esp-idf\micro-ecc\libmicro-ecc.a
[96/101] Linking C static library esp-idf\soc\libsoc.a
[97/101] Linking C static library esp-idf\xtensa\libxtensa.a
[98/101] Linking C static library esp-idf\main\libmain.a
[99/101] Linking C executable bootloader.elf
[100/101] Generating binary image from built executable
esptool.py v4.4
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generated C:/projects/espidf_scan_resp/repo/build/bootloader/bootloader.bin
[101/101] cmd.exe /C "cd /D C:\projects\espidf_scan_resp\repo\build\bootloader\esp-idf\esptool_py && C:\Users\user\.espressif\python_env\idf5.0_py3.8_env\Scripts\python.exe C:/Users/user/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/projects/espidf_scan_resp/repo/build/bootloader/bootloader.bin"
Bootloader binary size 0x6700 bytes. 0x900 bytes (8%) free.
[1141/1142] Generating binary image from built executable
esptool.py v4.4
Creating esp32 image...
Merged 25 ELF sections
Successfully created esp32 image.
Generated C:/projects/espidf_scan_resp/repo/build/esdidf_scan_resp.bin
[1142/1142] cmd.exe /C "cd /D C:\projects\espidf_scan_resp\repo\build\esp-idf\esp...partition-table.bin C:/projects/espidf_scan_resp/repo/build/esdidf_scan_resp.bin"esdidf_scan_resp.bin binary size 0x91ff0 bytes. Smallest app partition is 0x100000 bytes. 0x6e010 bytes (43%) free.

 *  Executing task: C:\Users\user\.espressif\python_env\idf5.0_py3.8_env\Scripts\python.exe C:\Users\user\esp\esp-idf\components\esptool_py\esptool\esptool.py -p COM10 -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 esdidf_scan_resp.bin 0x8000 partition_table/partition-table.bin 

esptool.py v4.4
Serial port COM10

@xiewenxiang
Copy link
Collaborator

@zapta It doesn't look like Espressif IDF v1.5.1. Can you provide the exact commit information for ESP-IDF? Or provide the app.bin file you compiled.

@zapta
Copy link
Author

zapta commented Feb 1, 2023

@xiewenxiang , below is a zip file with the .bin file I found in my build directory. You can also find a complete snapshot of my project, including all the build files here https://github.com/zapta/espidf_scan_resp

If there is a way to print the version information of my ESPIDF or to upgrade my VSCode ESPIDF extension please let me know.

esdidf_scan_resp.zip

@xiewenxiang
Copy link
Collaborator

xiewenxiang commented Feb 1, 2023

@zapta
I directly used the bin file you provided and made corresponding tests, and it seems that there is no problem.
test_log_20230201.txt

图片

@xiewenxiang
Copy link
Collaborator

xiewenxiang commented Feb 1, 2023

capture src files

@xiewenxiang
Copy link
Collaborator

image

The hardware information is the same

@zapta
Copy link
Author

zapta commented Feb 1, 2023

Thanks @xiewenxiang, I will at your results and try to identify differences in the configurations. Will also try to order ESP32 modules from other sources to compare.

Is there a free viewer to look at the capture file you sent? I am using wireshark which is free but am not sure if it can open those files.

@zapta
Copy link
Author

zapta commented Feb 4, 2023

Thanks @xiewenxiang. I will try to debug it here. Can you give me a hint where the SCAN_REQ is handled in the ESP32 Bluddroid stack? E.g. where I can breakpoint and see if it arrived or not and where the decision to send back the SCAN_RSP is done. I looked at the code and found events and function related to scan rsp but there are all for BLE 5.0 which is not enabled for the ESP32.

https://github.com/espressif/esp-idf/tree/master/components/bt/host/bluedroid

@zapta
Copy link
Author

zapta commented Feb 6, 2023

Hi @xiewenxiang, I tried the Nimble example as is and getting the same results. https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/nimble/bleprph .

This is the module that doesn't work https://www.amazon.com/gp/product/B07BK435ZW (the ones I got from amazon look exactly the except that they don't have the espressif logo on the wroom module as shown in the picture below). Can I mail you one or two of those modules so you can try to replicate it on your side? It seems that the adv resp is sent by the ble controller logic which is a closed code so I debug it.

IMG-3826

@webmonkey
Copy link

@zapta I have been trying to work out a similar problem that was exhibited with a ESP32-D0WD-V3 but worked fine with ESP32-D0WDQ6 chip. Interestingly I am having problems with exactly the same type of "D1 Mini" style ESP32 board.

@zapta
Copy link
Author

zapta commented Mar 13, 2023 via email

@pablopeu
Copy link

Adding another case to the thread, ESP32-D0WD-V3 chip fails and ESP32-D0WDQ6(rev1) works as expected. Simple arduino app for emulating a PC keyboard using the https://github.com/T-vK/ESP32-BLE-Keyboard library.

@espressif-bot espressif-bot added Status: Opened Issue is new and removed Status: In Progress Work is in progress labels Jun 14, 2023
@espressif-bot espressif-bot assigned zhp0406 and unassigned xiewenxiang Aug 18, 2023
@soufiane707
Copy link

another case of ESP32-D0WD-V3 failing to connect with my ps5 dual sense controller via bluetooth but other esp32's worked

@zhp0406
Copy link
Collaborator

zhp0406 commented Apr 22, 2024

@soufiane707
This seems to be a new issue. Could you create a new GitHub issue and provide the complete log?

@espressif-bot espressif-bot added the Status: In Progress Work is in progress label Apr 24, 2024
@espressif-bot espressif-bot removed the Status: Opened Issue is new label Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: In Progress Work is in progress Type: Bug bugs in IDF
Projects
None yet
Development

No branches or pull requests

8 participants