-
Notifications
You must be signed in to change notification settings - Fork 3
Description
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
Environment
- ESP-IDF: v5.5.1
- Component: esp_wifi_remote v1.1.4
- Target: ESP32-P4
Problem
The Kconfig file uses $ESP_IDF_VERSION variable expansion which doesn't work:
https://github.com/espressif/esp-wifi-remote/blob/main/Kconfig#L8
This causes slave target selection Kconfig to not be loaded, resulting in:
Actual behavior (suspected bug)
Root Cause
Kconfig's orsource doesn't support shell-style variable expansion. The $ESP_IDF_VERSION is never replaced, so it looks for a literal directory named idf_v$ESP_IDF_VERSION/.
Workaround
Manually symlink: ln -s idf_v5.5 idf_v5.5.1
Proposed Solution
Use one of these approaches:
- CMake configure_file() to preprocess Kconfig
- Multiple orsource directives for common versions
- ESP-IDF should export IDF_VERSION_SHORT to Kconfig environment
Impact
This affects all users building with ESP-IDF 5.5.1 (and likely future patch versions).
Error logs or terminal output
Steps to reproduce the behavior
ESP-IDF Version: v5.5.1
Component Version: esp_wifi_remote v1.1.4 (from component registry)
Component espressif/esp_hosted: v2.5.10
Host Target: ESP32-P4
Slave Target: ESP32-C6 (via SDIO)
Operating System: macOS (also affects Linux/Windows)
Build System: CMake/Ninja via idf.py
Description
The Kconfig file in esp_wifi_remote uses $ESP_IDF_VERSION variable expansion in orsource directives, but this variable is never expanded by the Kconfig system. This causes the slave target selection menu to not be loaded, breaking WiFi Remote configuration for ESP-IDF patch versions like 5.5.1, 5.5.2, etc.
orsource "./idf_v$ESP_IDF_VERSION/Kconfig.slave_select.in"
orsource "./idf_v$ESP_IDF_VERSION/Kconfig.soc_wifi_caps.in"
The component has directories like idf_v5.5/ and idf_tag_v5.5/, but when using ESP-IDF v5.5.1, the Kconfig tries to source from a non-existent idf_v$ESP_IDF_VERSION/ directory (literally with the dollar sign).
Impact
❌ Slave target cannot be selected via menuconfig
❌ CONFIG_SLAVE_IDF_TARGET_ESP32C6 remains undefined
❌ CONFIG_ESP_HOSTED_IDF_SLAVE_TARGET="invalid"
❌ SDIO transport option not available in ESP-Hosted
❌ Build fails with "Unknown Slave Target" errors
This affects all users building with ESP-IDF patch versions (5.3.1, 5.3.2, 5.4.1, 5.4.2, 5.5.1, etc.).
Steps to Reproduce the Behavior
- Create a Fresh ESP-IDF Project
# Use ESP-IDF v5.5.1
. ~/esp/esp-idf/export.sh
idf.py --version
# Output: ESP-IDF v5.5.1
# Create test project
mkdir test_wifi_remote && cd test_wifi_remote
idf.py create-project test_wifi
cd test_wifi
idf.py set-target esp32p4
- Add WiFi Remote Component
Editidf_component.yml
dependencies:
espressif/esp_wifi_remote: "~1.1.4"
espressif/esp_hosted: "~2.5.10"
- Attempt Configuration
idf.py menuconfig
# Navigate to: Component config → Wi-Fi Remote
Expected Behavior:
-
Should see "choose slave target" menu with options: ESP32, ESP32-S2, ESP32-C3, ESP32-S3, ESP32-C2, ESP32-C6, etc.
-
Selecting ESP32-C6 should enable SDIO option in ESP-Hosted config
Actual Behavior: -
Slave target menu is missing or shows as "(invalid)"
-
Warning in build output:
warning: unknown kconfig symbol 'SLAVE_IDF_TARGET_ESP32C6' assigned to 'y' in sdkconfig.defaults
- Verify the Issue
Check generated sdkconfig:
grep "ESP_HOSTED_IDF_SLAVE_TARGET" sdkconfig
Output:
CONFIG_ESP_HOSTED_IDF_SLAVE_TARGET="invalid" ← Should be "esp32c6"
Check if Kconfig files exist:
ls -la managed_components/espressif__esp_wifi_remote/idf_v*
Output:
idf_v5.3/
idf_v5.4/
idf_v5.5/ ← Directory exists
idf_v6.0/
idf_tag_v5.5/
Notice: No idf_v5.5.1/ directory exists, and the $ESP_IDF_VERSION variable is never replaced.
- Enable Build Verbosity to See Kconfig Processing
idf.py -v reconfigure 2>&1 | grep -i "slave\|unknown"
Output:
warning: unknown kconfig symbol 'SLAVE_IDF_TARGET_ESP32C6' assigned to 'y'
This confirms the Kconfig choice menu was never loaded.
Project release version
v1.4.0, latest
System architecture
ARM 64-bit (Apple M1/M2, Raspberry Pi 4/5)
Operating system
Linux
Operating system version
macOS 15.6 (24G84)
Shell
ZSH
Additional context
No response