-
Notifications
You must be signed in to change notification settings - Fork 7.6k
drivers: wifi: Add WiFi drivers for ESP hosted firmware. #87685
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
drivers: wifi: Add WiFi drivers for ESP hosted firmware. #87685
Conversation
a7648d9
to
75c92a6
Compare
This driver does Not run on ESP32, it runs on other host microcontrollers that control ESP32 as a co-processor. So, I don't think this PR is tagged correctly. |
75c92a6
to
25a8141
Compare
It mentions ESP32 so I assigned to @sylvioalves. Sylvio, please re-assign if this is not related to your areas. |
25a8141
to
e462660
Compare
This is a host driver for ESP32 chips running the esp-hosted firmware, which turns ESP32s into a WLAN/BT co-processor. Signed-off-by: Ibrahim Abdalkader <[email protected]>
2a185ed
to
66939c5
Compare
I am planning to give it a try soon. LGTM. |
@iabdalkader Are there any blockers to get this merged? |
I was waiting on the Portenta-C33 board support to be merged first, so I can enable the driver and make sure everything is okay. I guess it could also be merged now. CC @pillo79 @facchinm |
Cross linking the PR fro Portenta C33 support #85337 |
Which version of the esp-hosted firmware is supported? I can see that this PR adds
but in esp_hosted interfaces start with ESP_INVALID_IF and ESP_STA_IF is 1. Also the endpoind names are different, "ctrlResp" and "ctrlEvnt" in the PR vs "RPCRsp" and "RPCEvt" in esp_hosted. |
@m-cz, Please note thaThis is not added directly by Espressif. When it should happen, we would use https://github.com/espressif/esp-hosted-mcu as a base, as it is a dedicated repository to handle the MCU port. |
@m-cz This PR adds minimal support for the |
This driver is for esp_hosted_fg, and it's mainly intended to support the firmware that ships with Arduino's Portenta-C33 boards (I believe it's |
@iabdalkader Thanks for the contribution! The driver is based on ESP-Hosted FG, and the current code remains compatible with the latest Please note, the MCU part has been deprecated in For ESP32-based hosts with Zephyr, we recommend using |
I don't think so. I compared the proto files, and other than the new request/response pairs and events, which I assume we can safely ignore, the protocol has been changed in a breaking way. The main change is adding
We don't have any plans to add support for that as our boards ship with FG firmware. |
Yes, Protobuf itself is backward-compatible. i.e., older firmware can safely ignore unknown fields (although I would still treat this as a logical inconsistency, as discussed in the later part of the comment) as long as they're added using new field numbers. For instance, in esp-hosted@488a063 example, the field:
is added with a new tag number (6), so existing firmware without knowledge of band_mode will ignore it during decoding. You would be correct; the older firmware would not support 5G-capable devices. But it is expected, as it is a new addition. But this would pose a problem if you are using a newer host and an older slave. not at the protobuf level, but logical inconsistencies. For example, For this reason, we always recommend using the same code commit at the host and the slave in case of ESP-Hosted-FG. |
Other than unknown fields, the new events that were added, such as
It's easier to update the host than the firmware, we already shipped thousands of boards flashed with older firmware. @mantriyogesh Thanks for taking the time to reply and explain this. |
This is a host driver for ESP32 chips running the esp-hosted firmware, which turns ESP32s into a WLAN/BT co-processor. See https://github.com/espressif/esp-hosted
Note I'll update this PR to enable the driver for Arduino Portenta C33, once that board is upstream.