Guide - Update firmware on Samsung Conusmer SSD in Linux
I've had to do this a few times, annoying that Samsung doesn't just offer a binary file to use with nvme-cli, but this process works.
e.g. with Samsung 980 pro
find firmware links here: https://semiconductor.samsung.com/us/consumer-storage/support/tools/
wget https://semiconductor.samsung.com/resources/software-resources/Samsung_SSD_980_PRO_5B2QGXA7.iso
sudo mkdir /mnt/iso
sudo mount -o loop Samsung_SSD_980_PRO_5B2QGXA7.iso /mnt/iso
sudo unmkinitramfs /mnt/iso/initrd ~/980
sudo chmod +x 980/root/fumagician/fumagician
sudo ./980/root/fumagician/fumagician
click Y at the prompts, then you can verify that the firmware update worked with sudo nvme list
after a hard power cycle (reboot)