Skip to content

esp32h2 fails to compile as a slave because it doesn't disable WiFi (only want Bluetooth support) (EHM-60) #57

Open
@bdraco

Description

@bdraco

Background

Thank you for your work on ESP-Hosted – it's a great project with a lot of potential!

My use case involves deploying the ESP Thread Board Router boards in an environment where I’d like to keep Bluetooth and Wi-Fi running simultaneously without interference. Specifically, I'm planning to use the ESP32-H2 for Bluetooth connectivity (such as BLE provisioning and communication), while relying on an ESP32-S3 as the Wi-Fi interface.

This setup would allow me to avoid the typical issues that arise when Bluetooth and Wi-Fi share the same radio on a single chip. Using the H2 for Bluetooth and the S3 for Wi-Fi provides the separation needed for more robust performance in real-world deployments.

I’d really appreciate any support or guidance on whether ESP-Hosted will support this configuration, especially with ESP32-H2 in a Bluetooth-only role. Thanks again for all your work!

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate
  • Read the documentation to confirm the issue is not addressed there and your configuration is set correctly
  • Tested with the latest version to ensure the issue hasn't been fixed

How often does this bug occurs?

always

Expected behavior

I expect on an H2 without wifi it will still build as I want to use the H2 for bluetooth only.

Actual behavior (suspected bug)

It tries to use the wifi code.

In file included from /Users/bdraco/esp-idf/components/esp_wifi/include/esp_private/wifi.h:29,
                 from /Users/bdraco/H2/slave/main/slave_control.c:21:
/Users/bdraco/H2/slave/main/slave_control.c: In function 'req_wifi_init':
/Users/bdraco/esp-idf/components/esp_wifi/include/esp_wifi.h:311:26: error: 'CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM' undeclared (first use in this function); did you mean 'WIFI_STATIC_TX_BUFFER_NUM'?
  311 |     .static_rx_buf_num = CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM,\
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c:739:34: note: in expansion of macro 'WIFI_INIT_CONFIG_DEFAULT'
  739 |         wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/esp-idf/components/esp_wifi/include/esp_wifi.h:311:26: note: each undeclared identifier is reported only once for each function it appears in
  311 |     .static_rx_buf_num = CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM,\
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c:739:34: note: in expansion of macro 'WIFI_INIT_CONFIG_DEFAULT'
  739 |         wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/esp-idf/components/esp_wifi/include/esp_wifi.h:312:27: error: 'CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM' undeclared (first use in this function); did you mean 'WIFI_DYNAMIC_TX_BUFFER_NUM'?
  312 |     .dynamic_rx_buf_num = CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM,\
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c:739:34: note: in expansion of macro 'WIFI_INIT_CONFIG_DEFAULT'
  739 |         wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/esp-idf/components/esp_wifi/include/esp_wifi.h:313:20: error: 'CONFIG_ESP_WIFI_TX_BUFFER_TYPE' undeclared (first use in this function)
  313 |     .tx_buf_type = CONFIG_ESP_WIFI_TX_BUFFER_TYPE,\
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c:739:34: note: in expansion of macro 'WIFI_INIT_CONFIG_DEFAULT'
  739 |         wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/esp-idf/components/esp_wifi/include/esp_wifi.h:316:25: error: 'CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF' undeclared (first use in this function)
  316 |     .rx_mgmt_buf_type = CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF,\
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c:739:34: note: in expansion of macro 'WIFI_INIT_CONFIG_DEFAULT'
  739 |         wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/esp-idf/components/esp_wifi/include/esp_wifi.h:331:31: error: 'CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM' undeclared (first use in this function)
  331 |     .espnow_max_encrypt_num = CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM, \
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c:739:34: note: in expansion of macro 'WIFI_INIT_CONFIG_DEFAULT'
  739 |         wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/bdraco/H2/slave/main/slave_control.c: In function 'req_wifi_ap_get_sta_list':
/Users/bdraco/H2/slave/main/slave_control.c:1576:25: error: storage size of 'sta' isn't known
 1576 |         wifi_sta_list_t sta;
      |                         ^~~
/Users/bdraco/H2/slave/main/slave_control.c:1582:61: error: 'ESP_WIFI_MAX_CONN_NUM' undeclared (first use in this function); did you mean 'ESP_WIFI_MAX_SVC_INFO_LEN'?
 1582 |         resp_payload->sta_list->sta = (WifiStaInfo**)calloc(ESP_WIFI_MAX_CONN_NUM, sizeof(WifiStaInfo *));
      |                                                             ^~~~~~~~~~~~~~~~~~~~~
      |                                                             ESP_WIFI_MAX_SVC_INFO_LEN
/Users/bdraco/H2/slave/main/slave_control.c:1576:25: warning: unused variable 'sta' [-Wunused-variable]
 1576 |         wifi_sta_list_t sta;
      |                         ^~~

Error logs or terminal output

Steps to reproduce the behavior

idf.py create-project-from-example "espressif/esp_hosted:slave"
idf.py set-target esp32h2
idf.py build

Project release version

latest

System architecture

Intel/AMD 64-bit (modern PC, older Mac)

Operating system

MacOS

Operating system version

15.5

Shell

ZSH

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions