From 3cf3a4a90a87bafb7bd0426a4009067f0c8aa9b1 Mon Sep 17 00:00:00 2001 From: h2zero Date: Thu, 19 Mar 2026 16:16:55 -0600 Subject: [PATCH] [Bugfix] Disable HCI VS on esp32 on older cores Older Arduino cores would cause the BLE controller to fail if sent vendor specific commands, this disables that feature to prevent errors. --- src/nimconfig.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/nimconfig.h b/src/nimconfig.h index 72a8a7068..0dcc9a0c7 100644 --- a/src/nimconfig.h +++ b/src/nimconfig.h @@ -147,7 +147,8 @@ /* This section should not be altered */ #ifdef ESP_PLATFORM -# include "sdkconfig.h" +# include +# include # ifndef CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE # define CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE (0) @@ -161,19 +162,17 @@ # define CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE (2) # endif -# if !defined(CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE) && \ - (defined(CONFIG_IDF_TARGET_ESP32) || defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3)) -# define CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE (1) -# endif - # if !defined(CONFIG_BT_CONTROLLER_DISABLED) # define CONFIG_BT_CONTROLLER_DISABLED (0) # endif +# undef CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE # if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 -# define NIMBLE_CFG_CONTROLLER 0 +# define CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE (1) +# define NIMBLE_CFG_CONTROLLER (0) # else -# define NIMBLE_CFG_CONTROLLER CONFIG_BT_CONTROLLER_ENABLED +# define CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE (0) +# define NIMBLE_CFG_CONTROLLER CONFIG_BT_CONTROLLER_ENABLED # endif # ifndef CONFIG_BT_NIMBLE_USE_ESP_TIMER @@ -187,6 +186,10 @@ # define MYNEWT_VAL_BLE_EXT_ADV (CONFIG_BT_NIMBLE_EXT_ADV) # endif +# if CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 0, 0)) +# define MYNEWT_VAL_BLE_HCI_VS (0) +# endif + #else // !ESP_PLATFORM # if defined(NRF51) # include "syscfg/devcfg/nrf51cfg.h"