Reminds me when about ten years ago, working in an all-Linux company there was an issue with some Lenovo docking stations. I don't recall anymore what the issue was exactly, just that something wouldn't work properly when you plugged in a laptop with Linux. The problem was solved by a firmware upgrade, but upgrading the docking station firmware was possible only from Windows. So there was this one poor person in IT who had to install Windows on a spare laptop and then everyone would bring their docking station to them to upgrade the firmware...
That reminds me of an internal hard disk I had several years ago. I think it was a Seagate, but it might have been Western Digital. This was a retail drive bought at BestBuy, and the box specifically said that it worked with Windows, MacOS, and Linux, although it noted that their fancy add-on software only worked under Windows. No problem for me, because I didn't need the fancy add-on software.
A year later the drive developed some bad sectors. It was still under warranty so qualified for a free replacement. All I needed to do was get an RMA number and ship the drive to them.
But to get an RMA number you had to run their diagnostic software which, if it decided the drive really did have a problem, would issue the RMA number.
That diagnostic software was Windows only.
I ended up temporarily moving the drive to my Windows gaming box to run the diagnostic. I'm not sure what would have happened if I had been a purely MacOS and Linux household.
I had same problem with failed Seagate HDD. They were asking me to use their Windows-only app to diagnose the problem.
I tried to explain that I use it with a NAS and I cannot install Windows on it just to do such diagnostics test. No luck to convince the support and I had to hack some pieces of old hardware together just to run that tool. Funny enough the tool was able to tell only something like "the drive is broken". I had a much more detailed report from NAS though, with details from SMART but that was not accepted. Basically they didn't believe me and asked for a confirmation from their tool, like it's more trustworthy.
Of course I'm not going to buy any Seagate after such experience.
I recently RMAd a Seagate Exos (their series designed for enterprise / data centers) recently and didn't have to run any tool or provide any details. I was using this one for my home NAS.
There may be a difference here between the consumer drives and the enterprise drives, or maybe they changed the system to not require it in any case now.
It was IronWolf Pro. I guess it's a business drive, but not an enterprise drive.
I was not an enterprise or even a business customer anyway, so they had that procedure. The process may change since that moment, I just checked it was in 2019. Maybe I should give them another try
I can't blame them. I'd imagine tons of people try to replace perfectly fine drives - "I can't find my spreadsheet so drive is bad" "Windows updates were slow so drive is bad" "I bricked my drive trying to install Linux on a NAS" etc etc.
You can run Windows 7 indefinitely without a license, too.
You get a nag every now and then, and the desktop background keeps resetting to black. Can't remember if there's a watermark as well (10 has a watermark).
I had myself a hearty laugh recently when I was in Vegas and the casino elevator wall screen panels had the ACTIVATE WINDOWS banner overlaid on the videos.
I don't know if this is changed with Window 11 but 10 and earlier let you go a while between installation and entering a license key, at least for the consumer editions, so licensing should not be a problem.
The big issue with a VM approach in this specific case was that this was before Macs switched to Intel processors. My Mac was had PowerPC.
A VM might have worked on my Linux machine, although my recollection is that back then (early 2000s) VM passthrough was not very sophisticated. I remember trying Windows VMs for a few firmware things that involved proprietary vendor commands and finding that it was hit and miss.
Hah, I know that pain. I'm optimistic about the future though. I recently installed Ubuntu on my new work laptop and soon after it offered to update the firmware of my Dell docking station. I was pleasantly surprised to see that.
Windows PE/To Go has been a thing for a while now, it's a shame you can only make bootable Windows USB disks using the enterprise editions. Though Macrium Reflect (and possibly others) will let you make a USB "recovery disk" that might run the firmware update programs you'd like to run.
> As with Windows Preinstallation Environment, BartPE operates by loading system registry files into RAM, and not writing any registry changes back to boot media. Thus, neither operating system requires an operational hard drive or network access. This also allows them to be run from non-writable media such as a CD-ROM.
> […]. The Bart PE Builder application interprets and condenses files from a Windows setup CD to create the BartPE installation. It can built from a Windows XP Pro or Home Edition CD, or from a preinstalled Windows XP version (without a CD).
> WinPE (Microsoft's tool Windows Preinstallation Environment) is used by system builders to install and configure the Windows operating system on new computers. WinPE is commercial software and only available for system builders. Bart Lagerweij saw the advantages of this tool and decided to develop his own PE, named BartPE.
I ran into that on my T470s. The last ThinkPad I've owned and likely will own, for a variety of reasons. I used to be a die-hard Thinkpad guy.
In my case, I was the only one in the company with a Thinkpad, so my process for upgrading the docking station firmware was:
"dd" off my drive to another box. "dd" on the copy of the disc I had saved when I got the computer. Boot it and set it up. Run all the updates. "dd" my drive image back onto the box.
The company I'm at now prefers buying Dell, but I had special requested that Thinkpad. It was kind of disappointing. It had two batteries, which made it slim, but sometimes one of them would be flaky. But not reliably flaky, so sometimes it'd just power off, but most of the time both batteries reported tons of life. And the docking station was basically useless (don't remember the issues, I just never was able to get a satisfactory docking experience from it). It had the ultra high res screen and that was nice.
> Reminds me when about ten years ago ... but upgrading the docking station firmware was possible only from Windows.
For me, it was less than 10 days ago. The battery on my Thinkpad X1 (that has 5 years onsite warranty) stopped charging. I run Debian, and had got rid of the Windows partition entirely. They demanded a battery report from Windows. It took a long time, but I was able to convince them the report from their extended battery test in the BIOS saying the battery had failed sufficed, and the battery was replaced.
The new battery lasted about 1 month, then it developed the same fault. Same story - after a day worth of arguing, they agreed to replace the battery.
That battery lasted 3 days, then developed the same fault. The story went the same way, right up until they said they fix it by replacing the battery to which I responded "I don't think that's a good idea". (By this time I had developed suspicion the USB-C chipset was somehow killing the battery.) The next step was to replace the motherboard until I filed a Windows battery report. No amount of pleading "hey, you have a report from your own BIOS saying the battery is faulty, it doesn't charge while in the BIOS when no OS is running, and it should charge while off when _nothing_ is running - what possible influence could Windows have on this" worked.
They sent a link me what they said was a "live Windows" USB recovery drive. It was a Windows program. I was able to run it Windows in an kvm instance. It wasn't "live Windows" of course - it was a "wipe SSD with a fresh install of Windows" USB. Not being keen on wiping all my work and risking a backup not working, I bought a new SSD, and let it wipe that. It took about a wasted day (I'm a contractor) to install Windows, let it upgrade itself, and then install the latest Lenovo drivers for everything (which they insisted on), then run the battery report. During the time the laptop started freezing - but it turned out unplugging the 4K USB-C Philips monitor fixed that, adding more evidence to my theory the USB-C interface was on the way out.
The motherboard is scheduled to be replaced today. I'm betting they won't bring a battery and replace the one the USB-C chipset has killed. They go to all this trouble to provide good diagnostics in the firmware, and then don't train their staff to use it. I'm sometimes gob smacked by just how much time these companies cost themselves.
I had run into the same problem with Kingston - no firmware on the web, update tool only for Windows. Had to ask local distributor to contact Kingston and ask for firmware. I was lucky to get it, but never bought another Kingston drive.
I don't understand how datacenter SSD manufacturer can so blatantly ignore Linux.
I got a (consumer) SSD from SanDisk that says on the package "Compatible with Windows and Linux systems that take M.2 2280 PCIe 3 x 4 NVMe SSD's" yet I can't update the firmware from Linux. I would have to download the SanDisk SSD Dashboard which is only available for Windows.
I don't want to buy SanDisk SSDs anymore because of this, but I guess every SSD manufacturer is the same when it comes to firmware updates.
It also raises concerns about trust. What if I don't trust proprietary Windows and don't want to run it? It can potentially compromise my SSD during the update.
That's true. A good example of the difference between "scale" and consumer solutions. I can switch to Windows for that stuff and back to Linux afterwards. Doing so for a fleet of office machines is already out of the question.
Now I really have to check if I get firmware updates from Lenovo for all the hardware in my Thinkpad... I always assumed I do!
I agree. It is easy these days provided that your device is supported. I updated my ThinkPad nvme SSD (my model is from 2018) using the fwupdmgr command[0], which fetches supported firmware data from LVFS[1]. It improved temperature control for sure. So I would say it was worth it. But, as always, keep verified backups, just in case.
[0]: https://www.cyberciti.biz/faq/upgrade-update-samsung-ssd-fir...
[1]: https://lvfs.readthedocs.io/en/latest/
I also have a Lenovo (non-Thinkpad) with a PM981a drive and yeah, there's a pretty big difference between Samsung's Enterprise/OEM drives, and their consumer drives(EVO/PRO). Not big as in HW, they usually have the same NAND and controllers, but the FW on the controller is completely different, and on the Enterprise/OEM drives it cannot be updated via their Windows app (it doesn't even detect them).
The only way to get FW updates is through Lenovo's proprietary tool which only works on Thinkpads, even though my non-Thinkpad machine has the exact same SSD. What a shit show.
I guess I'll just have to stay on the FW it came out of the factory.
Not just Linux users. My wife got a Satechi On-the-Go USB-C hub for her MacBook. Satechi sells itself as a premium brand for Mac accessories. However, when the advertised 4k@60Hz support did not work, their support suggested that we update the firmware. They could only provide firmware updater for Windows. Unfortunately, even on Windows the firmware update would not work, spitting out completely uninformative error messages.
In hindsight, I found out that Satechi is now largely reselling cheap Chinese reference designs that can be had from AliExpress from 10-30 Euro/USD, repackaged in different casing [1]. Since they don't actually seem to control the firmware, they are just reshipping half-working Realtek firmware update utilities.
Oof. That'd be an RTM for me--product not fit for purpose.
At least with Toshiba/Dynabook, it's vaguely possible for a techie to pull apart their firmware update process & hack something together that doesn't require Windows any more...
Probably can’t resist the temptation to package their firmware in an always active 500mb .NET bloatware balloon that continuously phones home with ‘analytics’ and ‘telemetry’.
Ok that makes more sense.
TBH I would still boot from a USB stick though. But it makes sense they would implement that, why make ordinary users need to do that. After all, you might need to deploy a security patch these days without user intervention.
You ought to be able to flash the firmware on a mounted drive.
Anyone sane implementing the firmware flashing algorithm will either:
1. Just reject all IO requests from the point of the firmware update onwards. The system will see the drive disappear, but since you are using a journaling filesystem, it will be like you just pulled the power, and no data corruption will happen.
2. Complete all IO requests before the update, then update, then continue requests as before.
3. Save the firmware update, but only apply it at next powerup of the drive.
#3 is the correct option, I think, except you update the firmware but don't start using it. The OS should handle powercycling the drive at a convenient moment, at which point it'll load the new firmware.
Netapp filers do this; they update disk firmware online by installing it and then just rebooting the drive. The RAID controller/software handles the momentary interruption with zero issues, but even without redundancy an OS can handle a drive disappearing for a few moments.
I don't think Linux can do this... When hardware is powercycled, that would be a disconnect event followed by a connect event. There is no way to be sure it's the same drive connected, or that it will connect again at all. And on the disconnect event, all the datastructures associated with the device get discarded, so all file handles are invalid and nothings gonna work again...
Linux has support for multipath devices, so disks disappearing and re-appearing at runtime definitely isn't a new concept. Making it work with a single disk might take some work though.
If the power cycle is controlled, then the kernel can be reasonably sure that the re-appearing device is the same one. File handles wouldn't really be affected as long as the mounted filesystem can resume IO after the device reappears.
Most likely you'd still want to use a RAID scheme and/or data checksumming as an extra layer to ensure data integrity though.
You're basically right, but hardware manufacturers are not known for writing sane firmware and a lot of people have been burned enough times to absolutely never ever trust that reasoning.
does that firmware update come with any changelog? I have the same drive for my database dev work and I somehow feel uneasy to update it without really knowing what will change, will my specific workload improve or tank due to some other edge case they might have solved or broken? I mean, the drive works fine, will it work even better? for what workloads exactly? All I could find was someone mentioning it works better in PS5. It's the same reason I don't update BIOS for my motherboad - it works and has been remarkably stable for over 5 years. Chances of me being pwned by APT using some BIOS vulnerability is less than be bricking mobo while updating it.
A quick search did not result in any official changelog, but some forum entries (e.g. [1] and [2]) suggest that random read + write performance under windows seems to have been improved.
FWIW: Write speed does not improve on Ubuntu 20.04. Still stuck at 400 to 500 MB/s. This was the issue which made me want to install the new firmware, and there was nothing on the drives which I cared about.
Same situation here. Even a small risk of drive failure due to lack of experience with such systems is more than enough to keep me from giving it a try. If you can afford to lose the information on the drive though, might give it a go.
Is there any significant benefit of updating firmware? Intuitively it seems like the risk/reward is very skewed towards not doing it. I've never really updated the firmware on any component other than routers or motherboard/bios.
Sometimes an update just fixes some incompatibility with some specific hardware. If you are not using that hardware then there probably isn't much benefit from updating. Well, at least if you are either sure that you won't need to use that incompatible hardware later, or are sure that if you ever do need that hardware you will still be able to update.
Sometimes though an update fixes a more pressing defect. For example I updated the firmware on my Samsung 840 EVO drives several years ago because of this issue that caused significant performance degradation [1].
Another example is a firmware update I recently applied to my AKiTio Thunder3 Quad Mini Thunderbolt storage enclosure. The issue there was that when MacOS put drives to sleep occasionally the enclosure would report that the drive ejected. Getting the drive back seemed to require ejecting the other drives in the enclosure and then power cycling it.
This was annoying, but easy to work around by setting the OS to not put drives to sleep. All my drives were SSD so keeping them awake didn't use too much extra power. I ran like this while waiting for them to release a firmware update. After a couple years of waiting I stopped checking.
After a couple years or so of not checking, I remembered and checked and sure enough there was an update specifically for this issue. It was a bit of a pain because they had discontinued the Thunder3 Quad Mini a while back, and some time after that had stopped updating their firmware updater for it. It only ran on MacOS up through 10.15.7, and I was on 12.something.
I ended up using a USB SATA dock and an old spinning disk that was lying around to install MacOS 10.15.something on that and boot from it so I could run AKiTio's updater. Worked like a charm. It would have been a lot more annoying if I hadn't happened to have had the USB dock and old drive sitting around.
It looks like the author was mining a particular sort of cryptocurrency which needs a lot of drive space. I guess he was trying to squeeze as much performance out of his SSDs as possible.
For most applications I can't see why you'd really need to update your SSD firmware, unless the manufacturer messed up their wear-levelling or something like that in the release firmware.
Just to give you an example: Some Samsung SSDs have slightly strange TRIM behavior that basically seems to get unnoticed during normal workloads.
But when you build a Hackintosh with a recent version of macOS this exact TRIM behavior results in boot times of several minutes (compared to a dozen of seconds or so on a SSD with a better TRIM implementation).
I’m not saying Samsung will ever fix their TRIM implementation, but in theory this would be fixable by a firmware update.
And don’t get me even started on the crap that TRIM is, why we shouldn’t need it in the first place, and how convoluted its development was.
I can’t imagine firmware updates providing tangible performance gains aside from critical issues (which may affect performance). I just don’t think it’s really in the interest of these manufacturers to invest in R&D to improve an already existing and purchased product, as lame as that is.
As a software engineer myself, I would say yes, but I'm biased. I know no code is released perfect.
Then for something high performance like an NVM.e SSD, you could potentially gain a lot of performance, or lose it, depending on the manufacturer's goals for stability vs speed.
After a couple of decades of updating firmware on things whenever possible (including my car which had me leave the engine running sitting in the car with the window down for 2 hours in the winter), I'm yet to have a real issue.
That said, I also have the tools and skills to dump flash chips and would suggest doing that to anyone before an update of certain devices, or, you know, just don't do it, as you suggest.
> After a couple of decades of updating firmware on things whenever possible, I'm yet to have a real issue.
I used to be in the same boat, up until a few weeks ago when I updated the BIOS on my new work laptop. It's been a shitshow ever since: it takes around one minute to POST, the webcam isn't detected anymore, it doesn't go to sleep.
And the best part? "Because this update contains security features, it cannot be rolled back".
I have found that on my machines, they provide a means to disable the security check and allow the downgrade anyway.
This is a real issue though, there is the risk of failure during the procedure, less so than it once was, but then the risk that the update actually performs worse than the previous version.
> I have found that on my machines, they provide a means to disable the security check and allow the downgrade anyway.
I was usually able to this, and my other HP machines propose to do a BIOS downgrade. But in this particular case I haven't managed to do a rollback, even with a "BIOS recovery", whatever that is.
That's unfortunate. Does your company buy a lot of these?
Perhaps they can get in touch with your supplier to pass a complaint about the poor update so they might be able to pass it on to their devs and hopefully fix the issue?
We only buy HP PCs, but we don't have a relationship with them (we go through a middleman). And also, this particular model is not common for us, I chose it for the Zen 3 CPU and upgradability. The usual PCs are the basic Intel i5 du jour, so I can't compare notes with other people. I'm also pretty much the only one doing firmware upgrades with any regularity.
The middleman would be your supplier in this case. It's possible they have enough of a relationship with HP to escalate the issue with them.
I would try have your org reach out to the middleman and see what they can do, suppliers, resellers and partners etc can be quite helpful in encouraging manufacturers to pay attention.
Firmware updates often push new "business opportunities" for the manufacturer... Eg. HP printers that suddenly start forcing you to buy new cartridges after an automatic firmware update, since they realise that by forcing you to buy new cartridges before they're really empty, you'll buy more.
While this can be an issue, it's an obvious one and I'd say a good reason to avoid manufacturers and devices that enable such anti-user behaviour.
Generally speaking though, outside of printer ink, which I've always considered to be a racket, this sort of thing is perhaps less of an issue.
That's not to say people like Sonos and others haven't used firmware updates to brick otherwise perfectly functional devices in order to force consumers to "upgrade" before now.
I generally don't update firmware ever unless there is a problem. One exception is bios. Then if I have the occassional mysterious freeze/reboot I'll try it. Also if there is something like known ram size or particular hardware fix. But I can count those on 1 hand over 20 years. Also I suppose there are cases when you bought stuff just as it came out, there can be useful firmware updates after the first several months it is on the market.
Firmware bugs can shorten the lifespan or lower the speed of a drive. On the other hand, bugs can be introduced in new versions, and reverting to an old version is not always easy to do.
This is a very good take. I've seen products being bashed on because they don't push out regular updates. In my opinion, the less updates the software needs, the better it is.
I was confronted with this last Saturday and ended up following this how-to.
I simply couldn't believe that their tool required a PS/2 keyboard, when most modern Mainboards no longer have such a port.
In any case, updating the firmware didn't fix the issue that my 980 Pro NVMes (all 4 of them) only have a write speed of between 400 and 500 MB/s (read is at ~6.7 GB/s), using Ubuntu 20.04.
A WD_BLACK SN850 NVMe manages to write at 3.8 GB/s in the same slot (Ryzen 9 5950X on ASUS Pro WS X570-ACE)
BTW: I faced the same keyboard issue a month ago when I wanted to use another Samsung tool to erase a Evo 870 SSD for RMA with the Secure Erase feature.
> updating the firmware didn't fix the issue that my 980 Pro NVMes (all 4 of them) only have a write speed of ...
In order to see spec sheet read/write speeds you can/should bypass the filesystem and the buffer cache. On Linux you can write directly to the device node (make sure to enable O_DIRECT and make your write sizes big enough).
Maybe there's hope. I just got a regular 980 (not Pro) last week, which was showing around 660-680 MB/s write speed on both direct disk (and through file system). Just moments ago downloaded the new firmware and ran the installer, and suddenly: 1.8 GB/s on direct disk. I'm using dd if=/dev/zero of=/dev/nvme0n1 bs=1000M count=100 to test the direct access speed.
BTW, I followed the wget & cpio route from the how-to and ran the "fumagician" binary just fine on the headless box over ssh, no need to PS/2 anything.
It's too bad PCIe didn't define a firmware update mechanism, similar to how it defines Option ROMs. It would save manufacturers time and money if they didn't need bespoke firmware updaters.
Such a standard could define capabilities (firmware slots, online update, power cycle required, etc). The OS could handle it from that point.
This is unfortunate. Can't do simple things easily, or at all, unless you boot windows. My mouse looked like Christmas tree until I installed some electron app on windows.
There has to be a better way without the need to hack everything
It'd be nice if companies didn't necessitate installing a completely different operating system just to make your mouse not look like a rave. Thankfully, some open source projects are gaining the proper functionality to replace the awful lighting configuration software most manufacturers provide.
I've ran a multitude of linux distro's on the 980, 860, and 860 pro for the last few years with no issues. 48 hours ago I finished buildning a Ryzen 5800x system on an ROG Strix B450-F motherboard and I've had no issues booting with the 980 & 860 Pro...860 Pro is a 2.5 SSD the rest are m2.
It could be that your ISO doesn't have the required drivers for the storage controller to see the actual SSD.
It's a pain that sysadmins knows all too well when deploying a corporate Windows image through SCCM/MECM, and why they need to often update the embedded drivers in the Preinstallation Environment.
Sure, but it also doesn't work when running a proper Linux distribution from that same SSD, exactly like the author of the article described.
It's also an NVMe drive. I have a pretty vague idea of how PCI-Express drives work, but don't they go directly to the CPU without any storage controllers? It's more of a IDE/SATA/SAS/whatever thing.
95% of comments like these are from Windows users. Linux users generally know how to troubleshoot, fill out bug reports, come up with solutions(article is case in point), etc.
The much more likely reason is there is a Windows user in charge of the team. Someone who doesn't know what they don't know.
I have a PM9A3 U.2 drive, does anyone happen to know the update procedure on that thing? Everything Samsung when lifecycle handling seem like utter pain.