13 ms·
Update Firmware of Samsung SSDs in Linux
- shmerl 5y agoDoesn't generic method work for it? https://wiki.archlinux.org/title/Solid_state_drive/NVMe#Generic https://wiki.archlinux.org/title/Solid_state_drive/NVMe#Gene... It worked for me with SK Hynix Gold.
- fareesh 5y agoIs 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.
- topynate 5y agoIt 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.
- kronks 5y agoI 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.
- deleted 5y ago[deleted]
- chiefsucker 5y agoJust 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.
- alias_neo 5y agoAs 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.
- vladvasiliu 5y ago> 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". --- edit to name and shame: HP EliteBook 845 G8
- throwra620 5y agoEnable quick boot
- vladvasiliu 5y agoHaven't seen any "quick" boot. There's a "fast" one, though, but toggling it doesn't do anything in this case.
- alias_neo 5y agoI 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. The latter I don't know how we resolve.
- naoqj 5y agoFirmware 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.
- 2ion 5y agoHaven't seen any useful changelogs from major vendors short of the event of fixing a known very bad bug. In any case, I treat this as a high risk operation; no HDD/SSD firmware flashing without making sure the backup is working...
- b112 5y agoHard drive, and SSD firmwares have had massive issues in the past, including ones causing major filesystem corruption and data loss. There was even once a bug which, after X hours of SMART recorded usage, would cause the SSD to lockup every hour thereafter: https://www.reddit.com/r/buildapc/comments/oh18a/attention_crucial_m4_ssd_owners_the_firmware/ https://www.reddit.com/r/buildapc/comments/oh18a/attention_c... SSD firmware issues can be very serious.
- dncornholio 5y agoSSD firmware issues? I think you mean SSD issues that are solved by new firmware?
- b112 5y agoNot precisely sure what you are saying. If you mean "flaws in the ssd hardware fixed by a firmware update", that probably exists too. But I meant "faulty firmwares due to bad firmware code, needing updates".
- tzs 5y agoIt really depends on what the update does. 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. [1] https://www.anandtech.com/show/9196/samsung-releases-second-840-evo-fix https://www.anandtech.com/show/9196/samsung-releases-second-...
- dncornholio 5y agoThis 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.
- chiefsucker 5y agoThe less updates a software gets, the higher is the probability that you’re dealing with abandonware.
- stjohnswarts 5y agoI 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.
- deleted 5y ago[deleted]
- ajb 5y ago" If it’s your boot drive, no luck there and you can try flashing while it’s mounted." Err no, that's when you boot from USB stick. Or do it from initramfs. Or anything, other than modifying the firmware of a drive you are running from.
- londons_explore 5y agoYou 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.
- yjftsjthsd-h 5y agoYou'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.
- chousuke 5y ago#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.
- londons_explore 5y agoI 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...
- snvzz 5y agoThis is some insanity that shouldn't be needed, when fwupd[0] exists. Samsung is to blame for this. [0]: https://fwupd.org/ https://fwupd.org/
- yrro 5y agoA pain Linux users know all too well. https://robots.org.uk/ToshibaX30X40FirmwareUpdate https://robots.org.uk/ToshibaX30X40FirmwareUpdate
- microtonal 5y agoNot 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. [1] https://overengineer.dev/blog/2021/04/25/usb-c-hub-madness.html https://overengineer.dev/blog/2021/04/25/usb-c-hub-madness.h...
- yrro 5y agoOof. 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...
- mkj 5y agoThe SAMSUNG MZVL2512HCJQ-00BL7 aka PM9A1 in this Thinkpad is supported by fwupd, I've had a couple of updates.
- 5y ago
- merpkz 5y agodoes 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.
- sirwitti 5y agoSame thing for me. 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. [1] https://www.elevenforum.com/t/samsung-980-pro-firmware-update.4244/ https://www.elevenforum.com/t/samsung-980-pro-firmware-updat... [2] (in german) https://www.deskmodder.de/blog/2022/01/26/samsung-firmwareupdate-fuer-die-nvme-ssd-980-pro-steht-bereit-random-read-write-werte-verbessert/ https://www.deskmodder.de/blog/2022/01/26/samsung-firmwareup...
- qwertox 5y agoFWIW: 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. Upgraded from to 3B2QGXA7 to 5B2QGXA7.
- mariuolo 5y agoLikewise. Personally, since it works well I'm going to leave it as it is.
- ShamelessC 5y agoSame 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.
- beebeepka 5y agoThis 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
- anaganisk 5y agoI thought linux users wanted to be HaX0rs :p
- approxim8ion 5y agoI don't mind being a "HaX0r" if it means fiddling around with configs and code on my own system. That's not what's happening here though.
- seanw444 5y agoIt'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.
- 5e92cb50239222b 5y agoThere was a better way until Samsung decided we're not worth their business. https://aur.archlinux.org/packages/samsung_magician-consumer-ssd/ https://aur.archlinux.org/packages/samsung_magician-consumer... There's still a better way where they do think so — "enterprise" SSDs: https://aur.archlinux.org/packages/samsung-ssd-dc-toolkit https://aur.archlinux.org/packages/samsung-ssd-dc-toolkit Vote with your pocket, support vendors that do care. https://wiki.archlinux.org/title/Solid_state_drive#Firmware https://wiki.archlinux.org/title/Solid_state_drive#Firmware
- steerablesafe 5y ago> My mouse looked like Christmas tree until I installed some electron app on windows. At least solaar exists for Logitech stuff. Too bad it's still not something Logitech provides, but the reverse engineering work of some volunteers. https://pwr-solaar.github.io/Solaar/ https://pwr-solaar.github.io/Solaar/
- dvratil 5y agoReminds 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...
- trelane 5y agoAh, that sounds like the level of Linux "support" that I'm used to from major manufacturers.
- ece 5y agoWindows 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. edit: Windows PE won't do .msi, but .exe should work: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-intro?view=windows-11#limitations https://docs.microsoft.com/en-us/windows-hardware/manufactur...
- codetrotter 5y ago> it's a shame you can only make bootable Windows USB disks using the enterprise editions I remember in the Windows XP era, there was a third-party piece of software called BartPE. With BartPE you could create a preinstalled environment with WinXP Home even. Here is a page someone wrote with some details about BartPE: http://www.optimizingpc.com/miscellaneous/manual_bartpe.html http://www.optimizingpc.com/miscellaneous/manual_bartpe.html Wikipedia: > 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). https://en.wikipedia.org/wiki/BartPE https://en.wikipedia.org/wiki/BartPE
- 5e92cb50239222b 5y agoI already tried that method a while ago. For some reason fumagician refuses to recognize my 970 Evo Plus. > No supported SSD detected for Firmware Update It also doesn't work if you flash the ISO and boot "properly" as Samsung expects you to do.
- kasabali 5y agoYour 970 EVO Plus is likely a newer model with different internals thus the firmware doesn't really apply to it
- m-p-3 5y agoIt 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.
- 5e92cb50239222b 5y agoSure, 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.
- m-p-3 5y agoIt could be behind something like Intel RST (Rapid Storage Technology) or VROC (Virtual RAID on CPU). Maybe you could turn that off in your BIOS settings if you don't specifically need the feature.
- bit_flip 5y agoStupid question: is it not possible to use nvme-cli for Samsung SSD updates in Linux?
- shmerl 5y agoIt likely is possible.
- qwertox 5y agoI 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.
- wyldfire 5y ago> 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). EDIT: added a quote to clarify context
- cbetti 5y agoIs this a non-sequitur or are you trying to somehow explain the difference between the two drives noted in the comment you are replying to?
- qwertox 5y agonvme set-feature -f 6 -v 1 /dev/nvme0n1 (feature:0x6 (Volatile Write Cache)) dd if=/dev/zero of=~/testfile bs=10000M count=1 oflag=direct -> 1.4 GB/s dd if=/dev/zero of=~/testfile bs=1000M count=10 oflag=direct -> 3.7 GB/s dd if=/dev/zero of=~/testfile bs=100M count=100 oflag=direct -> 3.7 GB/s dd if=/dev/zero of=~/testfile bs=10M count=1000 oflag=direct -> 4.0 GB/s dd if=/dev/zero of=~/testfile bs=1M count=10000 oflag=direct -> 3.6 GB/s nvme set-feature -f 6 -v 0 /dev/nvme0n1 dd if=/dev/zero of=~/testfile bs=10000M count=1 oflag=direct -> 412 MB/s dd if=/dev/zero of=~/testfile bs=1000M count=10 oflag=direct -> 556 MB/s dd if=/dev/zero of=~/testfile bs=100M count=100 oflag=direct -> 553 MB/s dd if=/dev/zero of=~/testfile bs=10M count=1000 oflag=direct -> 482 MB/s dd if=/dev/zero of=~/testfile bs=1M count=10000 oflag=direct -> 267 MB/s The values I got in my first post were obtained through Ubuntu's "Disks" application which has a benchmarking dialog.
- Heston 5y agoThis works very well. For a linux solution this is pretty painless and arguably more convenient than making a livecd and booting it.
- ysleepy 5y agoProbably Linux is 1% of install base and 95% of support tickets. (Yes it's hyperbole) I get why samsung doesn't want to get sucked into this. It does suck though, at least the ISO should work.
- SixDouble5321 5y ago95% 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.
- anthk 5y agohttps://www.romanzolotarev.com/openbsd/geteltorito.html https://www.romanzolotarev.com/openbsd/geteltorito.html
- tonoto 5y agoI 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.
- caycep 5y agoThis is pretty much the only reason why I dual boot Windows on that box! Sacrifice 20 gb of space for peace of mind
- stjohnswarts 5y agoWindows needs a live cd + ram drive and we could fix stuff like this :)
- xenadu02 5y agoIt'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.
- 2b 5y agoDunno why do you need all this tools when 7z/cpio is just enough: 7z e Samsung_SSD_970_EVO_Plus_4B2QEXM7.iso initrd 7z e -so initrd | cpio -idv "\*fumagician\*" sudo ./root/fumagician/fumagician
- brycemice 5y agoI'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.