Upgrading a Toshiba NAS HDD Firmware on Linux
syscall.eu
syscall.eu
BIOS's got better about reading their own firmware from VFAT, but still getting the driver was a pain, because there was a strong preference for .exe's on websites.
Seems much better now, I can run a small handful of commands and have my bios updated. It's still hard to know which motherboards/laptops are compatible with fwupd though.
https://blogs.gnome.org/hughsie/2023/12/06/100-million-firmw...
Updating HDD firmware is something you do to resolve a very specific problem, not ... just because it's available. People are blind to the fact that updates can and do introduce new bugs.
If the drive is being moved to a different array or machine and the data is to be lost anyway, the risk is very low and, if the process is easy (unlike this) it might be a sensible move.
I agree "just because it's new" is a poor justification to risk data.
Now if it's not on at least two drives within a few hours of something new (photo, video, work done, whatever) it seems like a terrible risk.
Part getting old, part being able to afford to have redundancy, I guess. Storage feels so much cheaper now.
For example, I've been bitten before by Dell due to plundervolt updates that removed the undervolting capability under the umbrella of "security fixes".
That's enterprise computing for you.
Been bitten by that kind of shenanigan more often than I can remember.
I remember having patched some SSDs for this very reason the last time I worked on on premise bare metal systems.
Yeah, that was a thing with older enterprise SAS SSDs a few years ago. HP, Dell, Lenovo, Cisco, etc, all affected as they all rebadge the available hardware manufacturer's drives. And several manufacturers have had bricking-firmware problems over the years.
Indeed. As an anecdotical data point: number of personal and servers HDD firmware upgraded over four decades (!)... Zero.
Zero isn't not a lot.
We should ask people who know what it's like to have a lot of HDDs: does BackBlaze upgrade their HDDs' firmwares?
number of personal and servers HDD firmware upgraded over three decades: a couple thousand.
Our storage systems at work regularly ship firmware updates with bugfixes. I have never seen a FW update introduce new bugs. But of course there has been the occasional HDD that didn't spin up during the (required) power cycle
> People are blind to the fact that updates can and do introduce new bugs.
I do agree that this fact is often underappreciated - the single biggest cause of breakages are usually the rollout of changes themselves. But again, it's just like with any other software.
It is important to check if there is an update and what has been fixed. Like with any software, it may introduce new bugs, but blindly suggesting to "not touch, if it's not broken" is harmful too. Some time ago Samsung rolled out SSDs that were self-destructing after very short period of time and fixed this in firmware. If your SSD breaks or start having problems it is already too late to update, you have to be proactive. And hardware vendors doesn't release firmware updates for nothing, in most cases there is very good reason for that.
If it broke, fix it.
If it ain't broke, don't fix it.
The latter became a rule of life because many people decided to fix what ain't broke and got burned for their troubles.
This is because embedded firmware are less moving parts more tightly packed, which makes their failure modes inevitably catastrophic; they're incapable of progressively degrading like Electron apps, but the whole system always spontaneously crash into the wall and die from just one typo, and you don't want that.
it's not like web or app dev where you can ship trivial upgrades every day for free
I have never seen a disk fw update introduce new bugs. Firmware development works quite a bit differently than regular software development. There's usually no new "feature" that can possibly be added to a disk drive. It's not like you're suddenly getting a new desktop environment on it.
But yeah, I have seen a handful of HDDs die during the mandatory power cycle because they wouldn't spin back up. And sometimes, disks fail at a higher rate after the firmware update, but that is not due to introduced bugs but rather because the error detection/reporting functionality has improved and is now reporting issues that it didn't before. For enterprise storage systems that is actually a good thing, because a predicted failure is always better than a sudden failure.
Case in point: A few years ago, the HGST Cobra drives were leaking fluid from the motor onto the platters. There was nothing that could be done, so the firmware was updated to move the heads more (to prevent fluid buildup) and the error detection was changed to detect the slowed head movement and report that via sense codes. Of course that caused more early failures, but that's better than having a handful disks fail all at once, and the disks would have failed anyway at some point.
If nothing else, I certainly appreciate `hdparm`'s CLI flags
Basically, people were complaining about "major regressions" in glxgears frame rates that were really just minor fluctuations in how long it took to clear and swap buffers, since glxgears does almost no actual rendering (by modern standards).
"This is EXTREMELY DANGEROUS and will very likely cause massive loss of data. DO NOT USE THIS COMMAND."
"VERY DANGEROUS, DON'T EVEN THINK ABOUT USING IT."
"VERY DANGEROUS, DO NOT USE!!"
"This command is EXTREMELY DANGEROUS and could destroy both the drive and all data on it. DO NOT USE THIS COMMAND."
"EXCEPTIONALLY DANGEROUS. DO NOT USE THIS OPTION!!"
"VERY DANGEROUS."
"(DANGEROUS)"
There's a reason why TvTropes lists the "hdparm" command under "Schmuck Bait".
I... I mean, I get why they did this, rather than building a proper userspace application... but who the fuck thought this would be something that's acceptable to ship to consumers? And what happens in case there are multiple different disk models installed in the same system?
https://github.com/not-a-feature/wd_ssd_firmware_update/ https://github.com/not-a-feature/wd_fw_update
I really hope some day there will be a big disk manufacturer that natively supports lvfs - I would pay a premium for that.
I want to know the story of how he realized it was the CRC of the file minus the last 10 bytes. That's gotta be an interesting thought path.
Why does Toshiba have to make it so hard for Linux users if hdparm supports it?