Actually, specifically regarding E8450, I do not think that there is any major config difference. Between 23.05 and main/master(forthcoming 24.xx).
In February I did upgrade my own router, already running master, to the new "fip in UBI" layout by backup - use Daniel's new installer - sysupgarde - restore, and that went otherwise smoothly, but as the "compatilibility setting" was removed from the file system when I restored the old /etc/config/system, I naturally received a bogus compatibility warning then at the next sysupgarde...
I have been continuously using / upgrading my RT3200 since June 2021 (so far 332 sysupgrades ). I think that the settings have stayed pretty intact the whole time, as the router was on the DSA already initially.
I meant that I upgraded my router in February to the new "fip in UBI" layout , and ran to the bogus warning later. No connection to the OKD issue or OKD-fixed installer... (I added that February to the message)
Well, I like experimenting, so I hope to have fixed my own RT3200 (running main/master snapshot) from the live SSH console by writing the new bl2 to mtd0.
Router booted just fine after that. Lucky me.
I used a self-built bl2, built along my normal firmware image into which I also added the kmod-mtd-rw package, (as the buildbot has not yet compiled a new version after the fix).
Right, so it looks like BL1 is hard-coding BL2 offsets at those 4 locations then.
It will be safe to do it while booted into OpenWrt then, if users do not feel like cracking open the RT3200/E8450 to connect up a serial cable for UART console operations. Also a hassle to set up a TFTP server IMHO.
So the preloader.bin in master snapshot downloads does contain the new version, and respectively the firmware images does contain the fip scrubbing trigger. That should naturally the trickle down to auc/owut/attendedsyupgrade etc.
If running a main snapshot from after February 2024, does installing the latest main snapshot (with the OKD fixes) do anything to reduce OKD risk, or is there no point in doing so without first running a yet to be released new installer version?
If you're already running a snapshot that has the fip in UBI, you do not need to run the new installer. All you need to do is upgrade the BL2 and the firmware image to get full support of all the added features and bugfixes.
Just flashing the new main/master snapshot decreases the OKD risk somewhat, as it contains the fip scrubbing feature, which causes UBI filesystem to react to too many bitflips and read/write a faulting flash block to another. That doesn't remove the risk of OKD, but may decrease it.
Like grauerfucsh says, there is no need to run a new full installer from Daniel, when he publishes one.
The only needed steps for a main/master snapshot with "fip in UBI" layout are:
normally flash the new sysupgrade to activate the fip scrubbing feature in future.
note: to be able to opkg install the current kmod-mtd-rw, you will need to first sysupgrade to the current snapshot image, and only then install kmod-mtd-rw and write the bl2
you need to opkg install the kmod-mtd-rw (or include it in your own firmware image) and then separately load it during runtime with "insmod" like I did.
Good to see that so much effort is made to make this device better.
For me as a technical novice it is not clear if I can safely upgrade from 23.05.3 to 23.05.4. My device is on UBI (it states: "Linksys E8450 (UBI)"). Thanks.
Thank you for restating what you already had done. That was a helpful clarification.
Looks like I'll be flashing a new main snapshot sysupgrade first regardless to get the latest kernel bump for compatibility with the latest kmod-mtd-rw (I'm running 6.6.43 now), but I understand the steps now.
If we do this, would it not also make sense to either do the same for the factory partition, or move the EEPROM data from said partition into BLOBs in the dts? If we extract the EEPROMs, the only thing left in the factory partition that could be an issue would be the device MAC addresses. OpenWRT already randomizes them if they can't be found. U-Boot does not, but it's an option in the configuration. We could possibly do this and eliminate the reliance on that partition entirely.
There's precedent for it already; The BPI devices don't have factory partitions. The wireless firmware is handled via BLOB or via filesystem object. I've already verified that the drivers would support this even for the e8450.
For the factory UBI volume this is already done implicitly during boot because the Wi-Fi and Ethernet drivers are reading it, which will cause UBI to take care of scrubbing.
We could include it in a cron job, but I don't see that more than 4 bitflips will happen to a single eraseblock that fast for this to be a problem. It'd take years usually, and probably years of uptime without reboot is something rather rare.
However, having a cron job which just causes scrubbing of the entire flash would probably be the best idea.
Imho that would be moving into the wrong direction. Not having on-flash EEPROM and MAC addresses is rather annoying and should only be seen as a last resort when dealing with vendors who are either not capable of doing it properly or too stingy to purchase a block of MAC addresses. Or SBCs which run of microSD cards.
If you have yet to experience OKD, but are running release (22.x or 23.x) and you used v1.0.3 of the UBI Installer, then here is how you can downgrade BL2 to a version not affected by OKD.
SSH into your router and verify that your BL2 has the OKD bug:
All that's left to do is cross your fingers and reboot.
! WARNING ! ATTENTION ! NOTE ! ThisMeansYou ! - If something doesn't go properly and the router doesn't reboot, you will most likely need to connect via a TTL UART for recovery.