Skip to content

backport of a96f1123d92bd6b7638810429c4ef467147820c3 from main (lwip_mem.c: put storage ops in a critical section) - #10617

Merged
dhalbert merged 1 commit into
adafruit:9.2.xfrom
bablokb:backport_lwip_fix
Sep 7, 2025
Merged

dhalbert merged 1 commit into
adafruit:9.2.xfrom
bablokb:backport_lwip_fix

Conversation

@bablokb

@bablokb bablokb commented Sep 6, 2025 •

Copy link
Copy Markdown

This is a backport of the commit as stated in the title - in the hope there will be a 9.2.9 release.

@dhalbert

dhalbert commented Sep 7, 2025

Copy link
Copy Markdown
Collaborator

@bablokb We have been recommending the 10.0.0 beta releases instead of updating 9.2.8. Is this for your own use? Is there something that is preventing you from just using beta releases? Thanks.

@bablokb

bablokb commented Sep 7, 2025

Copy link
Copy Markdown
Author

We are about to rollout about 100 devices in schools in Africa. We don't even have electricity there. I don't want to roll out a beta-version of any kind. Although I could provide a sort of 9.2.9 or 9.2.8-fix version, deployment would be much easier with an official version. The local persons in charge for deployment could just follow the guideline to download the latest official stable version.

And I think this is what stable versions in software development are for: they receive important fixes until the next stable version is available.

@dhalbert

dhalbert commented Sep 7, 2025

Copy link
Copy Markdown
Collaborator

That's a very good reason! I will make a release.

@dhalbert
dhalbert merged commit 67d8d36 into adafruit:9.2.x Sep 7, 2025
159 checks passed
@jbrelwof

jbrelwof commented Sep 7, 2025

Copy link
Copy Markdown

Has there been any consideration of back-porting the "updated" UF2 bootloader to work with (perhaps a new dot release of) CP 9? I realize this might be problematic unless you can have a single firmware / uf2 image build of CP9 work with both the old and new bootloaders, but if so (for UF2 capable controllers) it might make "field updates" much simpler even with CP9 (vs having to do a full install to get the new CP10 uf2 bootloader)

@dhalbert

dhalbert commented Sep 7, 2025

Copy link
Copy Markdown
Collaborator

@jbrelwof The updated TinyUF2 bootloader is only a thing for 4MB Espressif boards. It is compatible with 9.1.x and beyond.

@bablokb

bablokb commented Sep 8, 2025

Copy link
Copy Markdown
Author

That's a very good reason! I will make a release.

@dhalbert Thanks! I appreciate your support very much!

@dhalbert

dhalbert commented Sep 8, 2025

Copy link
Copy Markdown
Collaborator

@anecdata is still seeing some crashes under heavy load with competing interrupt-heavy operations, which I am looking into: #10618. But for everyday use, I think the current fix should be noticeably better.

@bablokb

bablokb commented Sep 8, 2025

Copy link
Copy Markdown
Author

That should be fine for our use-case. We only make sporadic use of it to download collected data via a web-interface. The web-interface itself does open many parallel connections, but nothing else is happening during that period.

@jbrelwof

jbrelwof commented Sep 8, 2025

Copy link
Copy Markdown

@jbrelwof The updated TinyUF2 bootloader is only a thing for 4MB Espressif boards. It is compatible with 9.1.x and beyond.

Thanks, that's good to know. Do current "main head / latest" 9.x builds for Espressif boards use the new TinyUF2 bootloader? And if it the current release version doesn't already, will there be a future official 9.x release that does? Seems like that might be a bit of a hassle if the only thing it would change is closing this loophole for 4MB espressif boards. OTOH it could prevent a bit of pain for those who use them, and if there's any other reason for a new 9.x release adding this in as well might be worthwhile?

Although if it means 4MB Espressif users have to do a full reinstall - i.e. the new 9.x UF2 file won't work with the old bootloader - that's less of a clear cut "win" then having the option to do so now instead of later when they move to 10.x

@dhalbert

dhalbert commented Sep 8, 2025

Copy link
Copy Markdown
Collaborator

The CircuitPython UF2 does not include TinyUF2. That is a separate installation. The explanation for what changed in the bootloader is here: https://learn.adafruit.com/adafruit-esp32-s2-feather/update-tinyuf2-bootloader-for-circuitpython-10-4mb-boards-only. We combined two partitions into one, so starting in 10.something we could add features to the build that would not have fit in the old smaller partition. In 9.1.0, we removed features that depended on there being two partitions (OTA update and extending the filesystem into the OTA partition).

9.2.9 fits in the old smaller partition, so you don't need to update the bootloader.

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

Successfully merging this pull request may close these issues.

3 participants