Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses wolfSSL SRP issues for the ESP32-C2 as noted in wolfssl issue #7210.
TL;DR: working on 6 different ESP32 devices!
The changes in wolfssl PR #7505 are required and can be found in gojimmypi/wolfssl/tree/PR-Apple-Homekit-SRP-fix.
Note that I removed the local, static, stale copy of wolfSSL. See details on fetching into a GitHub directory, either directly from wolfSSL or from my fork, or a fork of your own. This allows easy contributions upstream as well as easily updating wolfSSL.
Here are instructions to test from the
gojimmypi
forks:A variety of issues are noted:
Watchdog
The ESP32-C2 is relatively slow; the watchdog timer needed to be increased.
Currently the setting is 60 seconds, but can be adjusted as desired or turned off.
Suggestion to remove non-components
I see these warnings during build:
Homekit ESP32 Device Bug
Occasionally after deleting a device, when I'd reflash and try to re-add, I'd get this message at startup:
With that message, the ESP32 was not listed as a device to add. I needed to
idf.py erase-flash -p /dev/ttyS79 -b 115200
to fix.Homekit App Bug
It seems to be a Homekit app bug on the iPhone. I'm also not able to delete a device that's not online.
New testAll script
Edit the
sdkconfig.defaults
to ensure all the targets have the appropriate WiFi SSID and password. (probably don't want to check in to GitHub). See pattern for including parentmy_private_config.h
.Need to fix wolfSSL setting and user settings files.
Find all instances of
#include <user_settings.h>
and remove them.Find all instances of
#include <wolfssl/wolfcrypt/settings.h>
and ensure they appear before any other wolfSSL includes.Find all instances of a wolfSSL include, and ensure there's a
#include <wolfssl/wolfcrypt/settings.h>
in each file or header.See
components/homekit/src/crypto.h
components/homekit/src/crypto.c
components/homekit/src/server.c.c
Consider replacing the
settings.h
include with this block:ESP8266 Makefiles (via VisualGDB)
There are some makefiles included for building ESP8266, but there are missing files for the rest of the project.
See
No rule to make target 'component-homekit-build', needed by 'component-main-build'. Stop.
in log, below.I didn't chase them down.
ESP8266 cmake
I'm not sure the ESP8266 is an option at this time.
There are a variety of missing dependencies in the homekit, including
bt
,openthread
,esp_partition
.I didn't chase them down.
There's also an optional wolfSSL feature for
esp_timer
anddriver
that's not available on the ESP8266: