esp-at
esp-at copied to clipboard
AT Firmware does not build when using Bluedroid for ESP32-C6
Answers checklist
- [X] I have read the documentation ESP-AT Programming Guide and the issue is not addressed there.
- [X] I have compiled the hello_world example Get Started with ESP-IDF and the issue is not addressed there.
- [X] I have updated my ESP-AT branch (master or release) to the latest version and checked that the issue is present there.
- [X] I have searched the issue tracker for a similar issue and not found a similar issue.
ESP-AT version
v4.0.0.0
Operating System used
Linux
If you are using Windows, please specify command line type.
None
What is the expected behavior?
When changing the Bluetooth Host from Nimble to Bluedroid from menuconfig -> Component config -> Bluetooth -> Host to "Bluedroid - Dual-mode" the AT-Firmware builds for the ESP32-C6 target. Bluedroid host is required to satisfy the Bluetooth SIG certification. It is not expected to disable blufi when using Bluedroid
What is the actual behavior?
Application fails to build with blufi issues idf_py_stdout_output_77817.log Disabling blufi support from menuconfig -> Component config -> AT -> AT blufi command support then fails to build with nimble issues, though it is not expected to disable blufi when using Bluedroid idf_py_stdout_output_83613.log
Steps to reproduce
- Clone the repo from the v4.0.0.0 release branch using
git clone --branch v4.0.0.0 --recursive https://github.com/espressif/esp-at.git
- Install the tools as per the local compile instructions selecting the ESP32-C6
- Switch the Bluetooth Host to Bluedroid using menuconfig
- Disable Blufi support using menu config
- Build the firmware as per the local compile instructions
Build or installation Logs
Logs too large, see actual behavior for logs.
More Information
No response
I have managed to progress the build by changing the following: Component Config -> Bluetooth -> Host = Bluedroid Component Config -> Bluetooth -> Bluedroid Options -> Include blufi function = enabled Component Config -> Bluetooth -> Bluedroid Options -> Enable Peripheral Preferred Connection Parameters characteristic in GAP service = enabled Component Config -> Bluetooth -> Bluedroid Options -> Enable BLE 4.2 features = enabled
The build is now failing at the linker step trying to link nimble functions even though it is disabled, see: idf_py_stdout_output_115646.log
sdkconfig: sdkconfig.txt
@JHedgesBartec Hello!
You cannot modify the default Bluetooth protocol stack. This is because the core code in libesp32c6_at_core.a
already uses the default protocol stack. Switching the protocol stack would result in some symbols not being found during the linking phase.
Could you please provide more details about why you need to change it, maybe we can give some suggestions.
Direct support from Espressif received. ESP32-C6 should only be built with NimBLE - BT SIG listing identified to allow use of the NimBLE stack.