Closed baylf2000 closed 11 months ago
Can confirm. Same hardware (esp32-c6), basically same IDF version (ESP-IDF v5.1.1-dirty). Coming from a clean config from the in my case light-example (not light switch like above), activating OpenThread and following to that the "Enable Joiner" lets the build process fail with the error messages above. Disabling that "Enable Joiner" option again, leads to the build process successfully working again.
I tried a bit of stuff. Couldn't get it working, however activating the following CONFIG flags seems to be getting us one step further?
CONFIG_MBEDTLS_SSL_PROTO_DTLS
(Component config -> mbedTLS -> Support DTLS protocol (all versions))CONFIG_MBEDTLS_ECJPAKE_C
(Component config -> mbedTLS -> Elliptic curve J-PAKE)CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE
(Component config -> mbedTLS -> TLS Key Exchange Methods -> Enable ECJPAKE based ciphersuite modes)Seems to clear the errors from, just to break down at the linker with tons of messages like the following:
meshcop/dtls.cpp:875: undefined reference to `mbedtls_ssl_read'
No idea if the CONFIG flags from above are doing the right things or if it just leads in a wrong direction. Yikes.
EDIT: Turns out for what I want to do, I don't even need to activate the Joiner option (simply build a Thread end device, that can join a network). Must have misunderstood what the option is meant for. Anyways, it should still compile as expected, if activated.
Bump. Any update from Espressif on this bug, or if there are any workarounds?
Seems this issue has been fixed since this was logged. I see there has been a few updates pushed. It would have been nice for the maintainers to acknowledge something in this ticket. Maybe the already knew of the issue and just fixed it.
@mozzbozz @baylf2000 The Thread Matter device utilizes the Matter commissioning process to join to the Thread network, doesn't need the Thread Joiner feature. We didn't fix anything recently, the default configurations in the esp-matter examples should work as is.
If you want to try out the Thread Joiner feature, it's necessary to enable specific mbedtls options. You can refer to the configuration in the ot_cli example, available at this link: https://github.com/espressif/esp-idf/blob/master/examples/openthread/ot_cli/sdkconfig.defaults#L18, which could support the Joiner feature.
Enabling joiner causes the same issue, I am trying to use openThread and join network ESP-IDF v5.2.2 but cannot build project:
I did not activate joiner but I had the same result
Answers checklist.
IDF version.
v5.1.1-439-gcb174b0fe1
Operating System used.
Linux - Ubuntu
How did you build your project?
Command line within VSCode with
idf.py build
If you are using Windows, please specify command line type.
None
What is the expected behavior?
Expect successful compilation with this option enabled.
What is the actual behavior?
Compilation of "Light-Switch" example from esp-matter fails with the errors below involving various
mbedtls_ssl
components.Steps to reproduce.
With
esp32c6
selected as the device:idf.py menuconfig
and go toComponent Config - OpenThread
and selectEnable Joiner
.idf.y build
Build or installation Logs.
More Information.
No response