If you're on linux, you probably want to use fwupd[1]. You can check the existing version of your drive's firmware by running `fwupdmgr get-devices`. The version with the fix is 5B2QGXA7.
I'm on Arch and apparently I installed the update at some point in the past.
Oops, you're correct. Looking through my shell history, it seems I manually downloaded and installed the firmware update in March of 2022. Here are the commands I ran:
curl -O https://semiconductor.samsung.com/resources/software-resources/Samsung_SSD_980_PRO_5B2QGXA7.iso
mkdir /mnt/iso
sudo mount -v -o loop ./Samsung_SSD_980_PRO_5B2QGXA7.iso /mnt/iso/
mkdir /tmp/fwupdate
cd /tmp/fwupdate
gzip -dc /mnt/iso/initrd | cpio -idv --no-absolute-filenames
cd root/fumagician/
sudo ./fumagician
A few months ago I already updated my Samsung SSD by following this procedure:
https://askubuntu.com/a/1386451.
Theoretically they provide an image to boot from to do the update, but the image seems very outdated and did not recognize my keyboard so it was unusable.
And it seems to have worked. After extracting this updater tool and running it, smartctl kept showing the old firmware version (3B2QGXA7), but after reboot it now shows the new version (5B2QGXA7).
I took the risk of running this while the OS (Archlinux) was running with the disk mounted (this is the OS install disk), and at first sight this didn't cause issues. But still do it at your own risk!!
├─SSD 980 PRO 2TB:
│ Device ID: 03281da317dccd2b18de2bd1cc70a782df40ed7e
│ Summary: NVM Express solid state drive
│ Current version: 5B2QGXA7
My home is on non-redundant stripe of two 980 Pro which both had the bad firmware, so I was obviously motivated, but not panicked as it's replicated hourly to spinning rust (and I have offsite backups). I treat Flash memory as dynamic ram with only slightly better retention.
The command line example in the link shows the old firmware, but they do say to go to the samsung website and get the latest one there. The 980 was the first one in the list there under the Firmware section.
I was trying to figure out why the update wasn't working on my Archlinux box. After a few attempts I barely caught a glimpse of an error message that flashed by: something along the lines of "unzip not found".
After installing unzip, the firmware updated successfully.
This worked for me, thanks! I have a Samsung SSD 980 PRO 2TB which I upgraded from 2B2QGXA7 to 5B2QGXA7. I backed up and also made a copy of the output of `sudo smartctl -t long -a /dev/nvme0` before and after.
Following from my linux desktop. I lost a system SSD that was a 980 2 TB and recently reinstalled everything, thinking it was a fluke. Now worried it will happen again rapidly.
The article switches from the 980 issue to the 990 issue in a bit of an unclear way, but I think they're independent problems and the firmware update should fix the 980 one?
It says to update firmware, but how can you do that from Linux? The instructions are all about some Windows program. Thanks!
EDIT: I'm quite happy with the warning from this article, fixed a potential future problem!