I think that's the only reasonable thing to do. Have the original firmware either as an actual rom, or only writable with an enable jumper flipped; use a power on key sequence to boot from the original firmware, copy to normal firmware and reboot into normal firmware (which is now the original firmware). Run through that process during manufacturing to confirm it works.
Regularly test that all released firmware images, especially those in the original firmware slot can successfully upgrade (or at least not crash). Preferably include current firmware version in all requests so you can give workaround responses as needed when you figure out you broke something -- in the hostname is ideal, as you can use that to work around version specific certificate issues.
The reason a Blu-Ray player (or a video game console) might not let you go back to original firmware is to prevent reverting to earlier firmwares that allowed copied media, etc. For those, you probably want to have a 'safe' firmware slot (or two, ideally) that drives the factory reset process, and only reflash those slots on some updates (to reduce testing needs)
But that'd also mean you need double the flash capacity, which drives up the BOM cost.
1. current operating system
2. previous operating system (and next, on upgrade)
3. data partition, shared across both current and previous OS
4. factory reset partition
That means if we needed to do a factory reset we could just load the firmware archive from the fourth partition onto the second partition and execute a normal upgrade, albeit to an older version. Since upgrade packages were small, maybe 500MB?, we could easily cut a little space from the rest of the partitions to make it fit without having to increase the flash capacity.
I think if it doesn't revert to the firmware it had when shipped by the factory, it shouldn't be considered a factory reset.
Wouldn't Samsung and the rest have stopped this if people just returned the TV?
I wrote a guide years ago on blocking them via DNS which loads of people found useful. These days a PiHole is probably a better option.
https://gist.github.com/peteryates/b44b70d19ccd52f62d66cdd4b...
Or, if you have the time and opportunity, sue the manufacturer in small claims court.
Better yet, tell your friends and family about how the ads start after the return period closed, and encourage everyone not buy that garbage in the first place.
Factory resetes that reset the EEPROM basically usually means that the hardcoded values form the ROM/Firmware will be used on the next boot.
However you usually have another tier today which is flash storage which isn’t a mechanism that can be easily reset with a “factory reset” because it involves a file system.
If the bad config files are on the flash you need a factory reset mechanism that basically tells the main firmware or boot loader to recreate the file system on the next boot.
The OS itself then initializes it all from scratch on the first boot.
They way I understood it, the write up in the article says that the XML is downloaded and parsed during boot.
Edit: I guess if you disabled network access you could boot. Derp
Then you just keep it offline until Samsung fixes the file on their server so you don't have to reset it again. They fixed it a few days later so it is safe now, so even old firmware should be safe to go online.
1. The recovery partition takes up some space, and
2. You (or malware) can mess up the recovery partition, and
3. The recovery partition doesn't exist if just upgraded the storage (e.g. replace the HDD with an SSD).
Macbooks have other failings (e.g. increasingly hard to upgrade/replace hardware yourself) but the operating system recovery works better than anything I've seen for Windows or Linux. Chromebooks have a factory reset key sequence, but that requires a working ChromeOS on the drive.
This could be avoided by using your own PKI for updates (and bundle your own root), but I assume most devices out there are using Web PKI for updates.
Everyone assumes you'll lose your settings during a factory reset, but what isn't as clear cut: Does it revert the firmware to whatever it was shipped with (bugs and all)? Some vendors do, but most vendors do not.
A legitimate factory reset (inc. firmware) mechanism or USB boot/reflash would have likely saved Samsung considerable amounts of money here (relative to mailing all of them two ways, they could have e.g. sent out free USB keys with the firmware).