-
Notifications
You must be signed in to change notification settings - Fork 123
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
Implement DFU feature #58
Comments
+1,Urgently need this feature to upgrade the entire network. |
We haven't spec'd this yet, but we are planning to do so this coming week, will keep you updated about the roadmap:) |
Nice! 👍👍👍 |
Any future plans to add DFU to the sample app? |
Not in the coming months. I have to switch to another project for some time. |
Okay, when are you moving on? What will be the state of the application? |
I'll transition after I'll release the version 2. I'll be also fixing bugs after that. |
+1 very important, a must have :) |
We understand, but I'm really busy with other things :( |
Hey @philips77 about the "And the official spec for mesh dfu isn't even released yet!" we also notice that it has being pushed back, originally expected on spring 2020 now its summer 2020... so got me thinking if maybe there is a case about implementing BLE DFU as a temporary solution? I wonder how difficult from the app and firmware would this be? is it temporary solution worth exploring? or the complexity for just few months is not really worth it? |
I didn't read the draft, so I don't know how much work would it require. We also don't have it out backlog now. |
I see... we checked the current DFU from others like Cypress and Silvair, they don't seem to be a "Mesh" DFU, instead they seem to update 1 device at the time using several (4) proxies as a "queue", my idea was to make something like that as a temporary solution. |
I would like to ask a few questions about DFU:
Thanks. |
I'm afraid I don't understand.
Use an external flash memory to download the new firmware, MCUboot which is used for firmware update in NCS SDK can be used with external flash. For more information, please check infocenter or DevZone. |
It means that only one device needs to be upgraded, and the Mesh network will automatically upgrade other devices of the same device type. For example, if there are five lights in the same network, one of the devices will be upgraded, and the other four will be upgraded automatically. Thank you very much, it seems that the only way to increase external storage or use other chip models. |
So there will be many ways you may do DFU. The best one from mobile phone's point of view is indeed initiating DFU using mesh protocol, then sending a new firmware using a OOB (Out Of Band, not through mesh proxy service, but something much faster) and confirming with mesh protocol. Then the proxy node (with dfu capabilities) would be responsible for transferring it to all nodes registered during the initialization phase. You send once in 1 minute, and the image distribution takes very long time. |
Is this ever coming ? |
As far as I know, the official specification is still under development. Realistically speaking, I don't see it coming to mobile implementations in 2022. |
Thanks‥ unfortunate but good to know
Is there a good example alternative using mesh and DFU over BLE in the meantime or should we just hold off on BLE mesh implementation ?
… Le 20 avr. 2022 à 02:27, Aleksander Nowakowski ***@***.***> a écrit :
As far as I know, the official specification is still under development. Realistically speaking, I don't see it coming to mobile implementations in 2022.
—
Reply to this email directly, view it on GitHub <#58 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAPS37U25I2P4A7YKR7JN3TVF7EW5ANCNFSM4FMMW22Q>.
You are receiving this because you commented.
|
it has been released: https://www.bluetooth.com/mesh-device-firmware-update/ ;-) any hints @philips77 ? |
Yes. With 4.0 released the DFU will come in 4.1. I need to switch to Android for a bit to fix some issues here and there and I'll start updating all my mesh nodes like a crazy person. Hopefully by end of this year you'll be able to join me and we will update the world! |
Great news! I will join you, the world will be updated by two crazy ones :) |
On Android DFU will come later. We're rewriting the lib in Kotlin (should make it public as soon as it's "usable enough") and we need to focus on implementing the basics first. |
Fine too, let's get rock in iOS first 😎 |
When basics first, then the initiator role is good starting point, right? |
For DFU - yes. For transport of the image we will use SMP protocol and nRF Connect Device Manager library, sending meta-data over mesh. Then the DFU proxy should take over and slowly forward the image to desired nodes. That way we'll get 30 kB/s from the phone instead of 0.01. |
I mean, in nRF Mesh app. Library will just have API to do whatever. |
just to understand your reply better: do we get the mesh dfu (Models like BLOBTransfer, FirmwareDistribution and FirmwareUpdate cli/srv)? or you refer the off-mesh DFU... |
thinking of speed, sure: faster is better :) I think if the fw is moved to distributor, then the speed is not that relevand (distributor will push updates and network will be updated). It would be nice to see in the Lib the minimum required for the Initiator Role:
would that fit into our roadmap? |
I didn't memorize the whole DFU spec yet, like I did the other parts of mesh. We will use mesh models for sending metadata, but will not use BLOB transfer to send the image to Distributor. Instead we'll use OOB method - McuManager. However, I'll try to implement the upload in transport agnostic way so users can choose other protocols. And, depending on complexity, perhaps we can add BLOB as well, just for completeness. As I said, this amazing novel is waiting for me. |
Oh, that's a great plan! A sound-crazy-plan thing 🎢 |
Hi, just a quick follow-up: any updates on this? |
Hi, it will come in few months. I'm busy with some other tasks at the moment, but DFU comes next. |
hey @philips77, hope all good at your side! |
Hi, I'm starting to implement DFU very, very soon. Need to close some old topics, but this or early next week. On iOS, that is. On Android side we need to finish rewriting the current lib into Kotlin (almost complete) before adding new features, and there are some that will come before DFU, like Remote Provisioning. |
As a power user, I want to be able to flash mesh nodes with newer firmwares so that I can easily test, update and verify network operation with the latest firmware versions.
The text was updated successfully, but these errors were encountered: