8 ms·
Update Firmware of Samsung SSDs in Linux
- 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.
- ChuckNorris89 5y agoI 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.
- skrtskrt 5y agoAre there common drive companies that support this better than Samsung, like Western Digital?
- ps 5y agoI 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.
- Talinx 5y agoI 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.
- 5e92cb50239222b 5y ago> I don't understand how datacenter SSD manufacturer can so blatantly ignore Linux. If you mean Sammy, they do provide support for datacenter SSDs: https://aur.archlinux.org/packages/samsung-ssd-dc-toolkit https://aur.archlinux.org/packages/samsung-ssd-dc-toolkit I don't think Kingston offers anything in that niche. I know very little about that, though.
- hef19898 5y agoWould it work to update the firmware under Windows and then switch back to Linux?
- Brian_K_White 5y agoYes but a thumb drive win10 is a pia to make and then an extra pia to try to boot on any machine other than the one it was created on.
- snvzz 5y agoLikely. It would be very inconvenient, but I could pull it off on my home's desktop computer. Now consider doing this at scale, in a datacenter, or just some office that has a lot of these drives. Ouch.
- ClumsyPilot 5y agoThere is also driver delivery though Windows Update, but they dont seem to be using that properly either
- tinus_hn 5y agoProbably 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’.
- nixcraft 5y agoI 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-firmware/ https://www.cyberciti.biz/faq/upgrade-update-samsung-ssd-fir... [1]: https://lvfs.readthedocs.io/en/latest/ https://lvfs.readthedocs.io/en/latest/
- 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.
- 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.
- kasabali 5y agoYour 970 EVO Plus is likely a newer model with different internals thus the firmware doesn't really apply to it
- 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.
- 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
- 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.
- 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.
- 5e92cb50239222b 5y agoModern Samsung SSDs support online updates. Here's SMART from mine: Firmware Updates (0x16): 3 Slots, no Reset required Same thing as BIOS flashback in modern motherboards. Flash it and reboot, if anything is broken it'll roll back (hopefully).
- ajb 5y agoOk 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.