-
-
Notifications
You must be signed in to change notification settings - Fork 65
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
[feature] Firmware update through openwisp-config #83
Comments
Oliver, I share the fact that it's an important feature, but it's definitely out of the scope of The right approach is to create a new package and if it's necessary that they share some parts, have some shared logic between the two (but it's entirely possible that may not be needed, we have to see). I see that the logic you have added is not coupled with the logic of There are other examples of this practice, although these modules are less widely used than Use case a part, that approach is the right one, have each package solve one specific problem. |
I added my changes to the This could of course be packaged as a package depending on Thank you for mentioning those packages - I was not aware of them. Still missing is of course a corresponding django app for managing and serving firmware files for all kinds of devices. |
The concept is promising, I would only try to think about a simpler URL.
With those 3 fields I think an API can figure out what image to return. Although the URL you are using now can potentially work also without a server running, you could just place the images manually there when you have them available and start testing these scripts, which would be a good thing to do. Some form of authentication may also be needed. Maybe now while you are testing it you can do it with simple HTTP basic auth, in OpenWISP we can use a token or why not reuse the device UUID and key. |
Yes, I thought about how to determine the URL, once again. You're right. IMO, from top to bottom, this should be the information used to choose a firmware file/URL (from the point of the server):
Yes, I already did a successful firmware update via openwisp-config by hosting the firmware with a simple python static webserver :-) For authentication, using the existing means (UUID/key) would be a good thing. |
@okraits that's great that you tested the concept successfully!
I'm not sure I fully understood this question, I try to reply but I may have got it wrong, this are the different pieces of code I see that interact with the firmware upgrade feature:
|
@nemesisdesign Ok, I didn't explain what I meant, so I will elaborate:
What do you think? |
Closing this as the firmware upgrader module is now available: https://github.com/openwisp/openwisp-firmware-upgrader |
The possibility to update the firmware of a device is an important feature. Without that, bugs and security issues in firmwares can't be fixed and features can't be added.
I implemented a prototype to be able to do firmware updates with
openwisp-config
:https://github.com/TDT-AG/openwisp-config/tree/tdt-firmware-update#firmware-update
This can also be triggered by
openwisp-controller
by changing the target firmware version in the optionfirmware_version
. It still needs an implementation of controller-side firmware handling (firmware-upload to the controller, mapping of firmware files to specific devices, static firmware file serving).This is also meant as a prototype for a client-side implementation of a future feature of
openwisp-controller
: openwisp/openwisp-controller#31The text was updated successfully, but these errors were encountered: