-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
subsys/mgmt/hawkBit: Roadmap #38898
Comments
Hi, Any updates w.r.t the Hawkbit roadmap? We are using Hawkbit for our use case and have many times scratched our heads given the current implementation. I find that the implementation is rather difficult to follow (nested and complex execution/logic paths) and contains bugs e.g., no means to handle lost connections (has caused use troubled during ongoing downloads). We have made custom adaptions to get it working for us. But we have now realised that a rewrite of the implementation would be needed, as we aim to add more functionality to it e.g., support for soft and force updates. I think that a state machine drive design i.e., a FSM would be well suited. Any thoughts are welcome. |
Hi there, thanks for your interest in hawkBit!
Unfortunately no, I don't really have much time for this since I left the company that focused on IoT about 2 years ago.
It is indeed intimidating at first glance, to follow the request and response it requires developers to literally scroll through the entire source. Download has to be restarted when the connection is lost 🙁, though it shouldn't be too hard to implement resumable download, we just have to save the progress into the nvs and modify the request string.
Although not clearly defined, hawkBit currently works in a FSM-ish fashion, there's definitely a big room for improvements, or even be rewritten to use SMF. I also think that it is possible for hawkBit to do more than firmware upgrade, i.e. downloading custom payload & configuration files for the Settings subsystem.
The |
as there are currently a lot major hawkBit PRs open and we are all are having limited resources, I made a litte priority list, beginning with the most important IMO:
I did not include the already approved PRs and trivial PRs. If you have any thoughts about it, feel free to comment. |
This issue list down a few things that can be improved or implemented in the hawkBit subsys.
Information about hawkBit server can be found at the Eclipse's Hawkbit website.
flash_area_check_int_sha256
#38982, or else both crypto libs will be compiled to do the same thing. (subsys/mgmt/hawkBit: Verify written image in slot1 #39070)hawkbit
APIs require stack size of 2~3kiB from my testing, and most of the time it is not running, so basically wasted RAM. We can reduce the RAM usage by usingk_malloc
, similar to the updatehub, and malloc for the buffer required for the next operation only and free it immediately after to keep the RAM usage minimal.setting
subsys from rawNVS
R/W #70290hawkbit_get_device_identity
to__weak
#39068)Comments are welcomed.
The text was updated successfully, but these errors were encountered: