Score:1

How to update Samsung SSD firmware from Ubuntu?

us flag

I followed https://www.samsung.com/semiconductor/global.semi.static/Firmware_Update_Utility_UserManual.pdf and downloaded unetbootin and the .iso for my Samsung 960 EVO 250gb. I burnt it with unetbootin and rebooted but there was nothing to boot from.

I did it again and inspected the files on the drive and they were only these:

extlinux.conf ldlinux.sys menu.c32 syslinux.cfg ubnfilel.txt ubnpathl.txt

which sum up to only 94kb, also the unetbootin record is instantaneous as it if were not recording anything. The .iso has 16mb so the sd card should have this size of similar.

How do I update a Samsung SSD firmware on Ubuntu?

oldfred avatar
cn flag
Some systems do not boot sd cards. Instructions do say to use USB flash drive. I was able to just directly boot ISO using grub2's loopmount. But I regularly boot ISO that way and have the issues of drive number & path pretty well resolved. Many have those issues, if trying to use grub2. Suggest using flash drive as instructions say.
Nmath avatar
ng flag
Nothing in these instructions suggest that you can use this tool to update firmware using Ubuntu. The instructions provide their own bootable live Linux distribution as an ISO for the purpose of updating their product's firmware. You might want to ask about questions you have about these instructions on SuperUser or unix.stackexchange.com. Since this procedure doesn't use Ubuntu, it is not on topic here.
Score:2
fr flag

Disclaimer: There is a risk of losing your SSD and the data stored on it when updating to a new firmware!

Here are the steps:

  1. Identify your SSD model by running sudo smartctl -a /dev/nvmxxx on your SSD (replace "xxx" by your actual device name); here is an example output.
  2. Prepare a bootable Ubuntu/Kubuntu USB stick, either from Ubuntu or from Windows.
  3. Start your computer from the said USB stick.
  4. Open a browser and search "Samsung SSD firmware" from any search engine; the first result should be the SSD tools and software download page from Samsung.
  5. Scroll down until "Firmware", expand the section, find the ISO image matching your SSD model and download it.
  6. Open the ISO image with an archive tool like File Roller or Ark (whatever comes preinstalled with your USB stick) and look for the file name initrd and extract it (drag and drop it outside of the archive and into your file manager window).
  7. Open again the file initrd with an archive tool (you need to double click twice) and look for the folder root/fumagician; again extract it (drag and drop it outside of the archive).
  8. Open a console (F4 in some file managers), go inside the folder fumagician you just extracted and run sudo ./fumagician.
  9. Proceed through the steps of the SSD Magician tool; in my case the reprogrammimg was instant and there was no success or failure confirmation at the end. If the SSD Magician finds no devices then maybe you forgot to use sudo.
  10. Restart without mounting or otherwise touching the content of the SSD you just updated.
  11. After restart sudo smartctl -a /dev/nvmxxx should display the updated firmware version. In my case the updated firmware version would not show until the restart.

Remark 1: It seems possible to update from an OS running on the target SSD and I saw YouTube videos showing the SSD Magician tool on Windows doing such hot updates, i.e. on a SSD being used. But I am not entirely sure whether this is safe. The issue is that the OS will write to the SSD after the update procedure but before the restart. There is a risk that the SSD does not handle correctly those writes, hence losing data.

Remark 2: If UNetbootin is used to create a bootable USB stick from the ISO then the USB stick needs to be formatted with MBR and FAT32; GPT and/or ext4 did not work for me. There is a bug in the ISO image provided by Samsung with AMD based systems. USB and more specifically USB keyboards and mice will not work; since most modern mainboards do not have PS/2 ports anymore navigating through the SSD Magician prompts is virtually impossible on AMD based systems (source).

BurntSushi5 avatar
br flag
I tried doing this from an Archlinux live USB image and it just wouldn't work. I got the same "there was no success or failure confirmation" at the end and it was instant. It turned out that the live image didn't have `unzip` installed, which `fumagician` apparently needs. It was then running `clear` immediately after, so the error was hidden. Once I installed `unzip`, this technique worked. After hitting enter the final time, I'll note that it wasn't quite instant. It processed for about 1 second or so before saying it was exiting. (Hopefully this helps someone else.)
Stéphane Tréboux avatar
fr flag
One comment [here](https://blog.quindorian.org/2021/05/firmware-update-samsung-ssd-in-linux.html/#comment-67135) names `cpio`, `gzip`, `unzip` and `wget` as dependencies of `fumagician`. Apparently all of them come preinstalled with the Ubuntu live/installer USB image.
BurntSushi5 avatar
br flag
Nice find! And yeah, I guessed that `unzip` came with the Ubuntu image by default. :) Thanks for digging that up!
Rich Churcher avatar
cn flag
Just another data point... the `unzip` thing definitely seems to help. 990 pro updated very happily without unmounting it, though of course the version change doesn't show up without a reboot. The difference in wait time is very slight though, you'll just see a flash of text and then the exit prompt.
Score:0
fr flag

This answer from an Apple MacBook user suggests that using dd to copy the ISO9660 CD image to an USB stick (at block device level, not a partition level) may work. I find this strange since it would mean that tools like UNetbootin or USB creator do essentially nothing besides calling dd on a device.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.