-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Add support for WPA-Enterprise #3195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the contribution. It will be a great addition for WLED.
Still, I would like the two issues somehow justified or changed prior to merging. We constantly fight low memory condition on ESP8266 se any and all PRs should be mindful of restrained RAM on ESP8266.
wled00/wled.h
Outdated
@@ -284,7 +299,11 @@ WLED_GLOBAL char ntpServerName[33] _INIT("0.wled.pool.ntp.org"); // NTP server | |||
|
|||
// WiFi CONFIG (all these can be changed via web UI, no need to set them here) | |||
WLED_GLOBAL char clientSSID[33] _INIT(CLIENT_SSID); | |||
WLED_GLOBAL char wifiEncryptionType[2] _INIT("0"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why character string? Why not just uint8_t
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is now a byte
with definitions for WIFI_ENCRYPTION_TYPE_PSK
and WIFI_ENCRYPTION_TYPE_PSK
.
wled00/wled.h
Outdated
WLED_GLOBAL char clientPass[65] _INIT(CLIENT_PASS); | ||
WLED_GLOBAL char enterpriseAnonymousIdentity[65] _INIT(ENTERPRISE_ANONYMOUS_IDENTITY); | ||
WLED_GLOBAL char enterpriseIdentity[65] _INIT(ENTERPRISE_IDENTITY); | ||
WLED_GLOBAL char enterprisePass[65] _INIT(ENTERPRISE_PASS); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not reuse clientPass? Consuming 180 bytes of RAM is quite stressful on ESP8266.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I am now reusing clientPass.
18466da
to
163ac4e
Compare
163ac4e
to
0df2d48
Compare
Thank you for the quick review. |
Please don't force-push your changes. It makes reviewing changes so much harder. |
Hi. Any news or updates? |
I can test this on both ESP32 and ESP8266 if you can do a build. |
OK so I built Chasethechicken:wpa-enterprise for a lolin s2 mini, and it seems to work. I tried building it for d1_mini, and I get the following from my radius server:
Now when I configured an esphome device with a d1_mini in it, I got the same message, but it did actually work; for the WLED build, it doesn't work. I then tried cherry-picking the commit on top of v0.14.0, and building for the s2_mini - and it didn't work. Allowed me to configure it, but then I got the following from radius:
So clearly my attempt to port it forward was not successful :-( |
Adds options to the WiFi settings, to enable connecting to an enterprise WiFi.
Screenshot WiFi Settings
WPA-Enterprise on ESP32 needs [env:esp32dev_V4_dio80] for a recent Arduino Core, so is disabled for other ESP32 targets.
Tested using an ESP32. Should also work for ESP8266.
Currently only supports Identity and Password on ESP8266 and Anonymous Identity, Identity and Password on ESP32.
Thanks to
for example code on how to connect to WPA-Enterprise networks.
Fixes #2749