Skip to content
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 Request] Add 'Update Firmware' option #1037

Open
chrisdebian opened this issue May 14, 2024 · 8 comments
Open

[Feature Request] Add 'Update Firmware' option #1037

chrisdebian opened this issue May 14, 2024 · 8 comments

Comments

@chrisdebian
Copy link

Related to #1031

When a device is connected, check the firmware version, and give the user the option to download and flash firmware. I suspect many users will not have updated the firmware, since original purchase/ flash.

Thanks,

Chris
2E0FRU

@chrisdebian chrisdebian changed the title Add 'Update Firmware' option [Feature Request ]Add 'Update Firmware' option May 14, 2024
@chrisdebian chrisdebian changed the title [Feature Request ]Add 'Update Firmware' option [Feature Request] Add 'Update Firmware' option May 14, 2024
@madeofstown
Copy link

Not sure if this could work over Bluetooth or WiFi as I don't believe Meshtastic has the ability for OTA updates like that. Also, lots of devices need to be manually placed in a flashing mode before they can have their firmware updated.

@prokrypt
Copy link
Contributor

prokrypt commented Jun 2, 2024

I believe earlier versions of the android app were able to update esp32 devices over Bluetooth. I remember doing it for a t-beam...

@Talie5in
Copy link

Talie5in commented Jun 4, 2024

Not sure if this could work over Bluetooth or WiFi as I don't believe Meshtastic has the ability for OTA updates like that. Also, lots of devices need to be manually placed in a flashing mode before they can have their firmware updated.

Biggest issue is space available on most devices (4MB Flash) - is not enough to fit the running Firmware (2.2MB on most devices) and a second copy in the ota_2 partition to swap over to after sending up the new image.

At least thats how I understand it, i've been messing around in this space in a fork and that's basically what i've run into as been the real show stopper here...

@madeofstown
Copy link

@Talie5in I see you have it working now in your fork. When are you doing a pull request?

@Talie5in
Copy link

Talie5in commented Aug 1, 2024

@Talie5in I see you have it working now in your fork. When are you doing a pull request?

@madeofstown Sorry, not sure how I missed this comment!

It does, however, as per my comment above, is not suitable for 4MB flash devices, it's a space limitation thing, and I only worked on the WiFi portion (over the webserver) and I did have to recraft the partition layout and make minimal builds (Eg, no screen, no modules, etc)

Short of, making the firmware much smaller or devices starting to come out with 8MB flash as a standard..

Alternatively, having the BLE_OTA firmware able to bootup and support WiFi/BLE from existing meshtastic config and a small webserver (for over WiFi) - this is the key, been booted into ota_1 so we can write to ota_0 partition :)

@jaredcat
Copy link

jaredcat commented Aug 5, 2024

At the very least, a warning letting users know there's a new update would be helpful!
Then down the line can open up OTA to those devices that support it.

@jamesarich
Copy link
Contributor

At the very least, a warning letting users know there's a new update would be helpful! Then down the line can open up OTA to those devices that support it.

showAlert(R.string.firmware_too_old, R.string.firmware_old)

this already exists if your current firmware is below the minversion. For your suggestion there would need to be a hosted api to query for the latest stable build (github maybe?).

@cracky22
Copy link

Not sure if this could work over Bluetooth or WiFi as I don't believe Meshtastic has the ability for OTA updates like that. Also, lots of devices need to be manually placed in a flashing mode before they can have their firmware updated.

only on nrf52 devices

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants