Samsung nvme firmware update: How?

Hi,

I have two samsung nvme drives in my PC:

# nvme list
Node                  Generic               SN                   Model                                    Namespace Usage                      Format           FW Rev  
--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme2n1          /dev/ng2n1            S4EVNF0M84XXXXX      Samsung SSD 970 EVO Plus 500GB           1         391,41  GB / 500,11  GB    512   B +  0 B   2B2QEXM7
/dev/nvme1n1          /dev/ng1n1            50026B72826XXXXX     KINGSTON SA2000M81000G                   1         405,31  GB /   1,00  TB    512   B +  0 B   S5Z42109
/dev/nvme0n1          /dev/ng0n1            S4EWNG0M20XXXXX      Samsung SSD 970 EVO Plus 1TB             1         656,47  GB /   1,00  TB    512   B +  0 B   2B2QEXM7

There is a new firmware 4B2QEXM7 available. Samsung even provides an ISO file to boot this from USB:

Unfortunately this is not working. It only works with a PS/2 keyboard which I do not have. So I was following these instructions here to boot with my normal EndeavourOS USB stick and start the firmware upgrade from there:

But this is not working either. It says it does not find any Samsung drive to update.

Does anybody have an idea what to do here?

I am afraid I have to go back to Windows and try that. But how? I need to boot into Windows with an external drive and run the Windows version of the Samsung software. How to I get this “Windows on an external drive”?

3 Likes

Interesting, I have a 970 evo plus too. When at Home I will try on my system to upgrade my SSD.

But as I understand it, the ISO will not work because of the Keyboard Problem, so ok.

Unter the second link the procedure is explained that you can “unzip” the ISO and install the Firmware from Linux. But the drives need to be unmounted.

Have I understood it correctly that you did try it from the endeavourOS Live System?

If yes, did you try another more specialized Live environment like SystemRescue - System Rescue Homepage (system-rescue.org)

Final Question, is there something special with the new firmware, so that it needs an upgrade?
It there is a good reason, I would go over my shadow and boot to windows (because of HomeOffice and some games I still keep a Windows installation) to make the upgrade, when I can’t find a proper working solution.

There is Windows Live on any external USB without install Windows, you can install Firmware for Windows Live on this USB. But I did not try.

https://www.hirensbootcd.org

I tried also with Ubuntu live system because that was the system where I could find the most success stories. But it did not work for me.

Samsung does not provide a change.log. But I hope it will fix for example that the error_log of the drives is filling up with every boot for no good reason. Fixing messages like this in the journal: “missing or invalid SUBNQN field.”

This also bothers me…

1 Like

I think the safest way is still Windows (the solution proposed by @Zesko). Linux can’t replace anything for proprietary stuff.

But for the sake of learning new stuff, I will try the Linux way, when at home and report.

I will try the update with unebootin this guide: https://semiconductor.samsung.com/resources/user-manual/Firmware_Update_Utility_UserManual.pdf

EDIT:
I created a bootable usb of the firmware iso using unebootin but somehow my bios doesn’t recognize it so I can’t boot from that usb…

I used popsicle to write the iso to usb and that worked for the boot process.
But unfortunately this Samsung iso needs a PS/2 keyboard to go any further. And this is what I do not have.

I’ve got the same disk in my laptop.
I just tried fwupdmgr and it correctly recognized the disk, the current firmware and that it was updatable.

However, after refreshing its database and trying to get the updates, it says updates no available for the device.

You might want to give it a try and see if you get different result?

fwupdmgr get-device

─SSD 970 EVO Plus 1TB:
│     Summary:            NVM Express solid state drive
│     Current version:    3B2QEXM7
│     Vendor:             Samsung 
│   
.
.
.

│                         • Updatable
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│                         • Signed Payload
fwupdmgr get-updates
Devices with no available firmware updates: 
 • SSD 970 EVO Plus 1TB

For me the usb doesn’t even show up in my bios.

EndeavourOS➜  ~  ᐅ  fwupdmgr get-updates

Devices with no available firmware updates:
 • 0000:00:1f.5
 • SSD 970 EVO Plus 500GB
 • System Firmware
 • Unifying Receiver
Devices with the latest available firmware version:
 • UEFI dbx
________________________________________________
1 Like

Hmm…

I would interpret the fact that fwupdmgr recognizes the disk and classify it as updatable as it is a supported device and it should be able to get the updates for it.

If that is correct, I don’t understand why it is failing given there is apparently an update for this disk.

1 Like

After selecting legacy mode in the bios I could boot from the usb but…

Somehow I can’t upload the picture I took but it says:

No supported SSD detected for firmware update

IMG_20221028_101532

Had to covert the jpeg to png…

anyone check to see if the exe for it is dos compatible? I use dos for most of my firmware updates but most of my stuff has DOS compatible EXEs for that

Wouldn’t it work if you run Win in a virtual machine?

dont do this, usually VMs dont have direct enough hardware access for this kinda of thing

I tried it with vmware but the windows guest only sees the vmware disc but not the nvme on the host.

Samsung is not supporting the fwupd mechanism (LVFS).

1 Like

I tried this from a Live EnOS’ ISO. It seems that it might have worked if I were to answer yes in the last step. I didn’t since I hadn’t backed up my data and took the warning seriously.

1 Like

How exactly?