Updating NVMe Drive Firmware Using nvme-cli: Example with Samsung PM9A3 (How to update firmware?)

| F.A.Q.Support

Updating NVMe Drive Firmware Using nvme-cli: Example with Samsung PM9A3

How to update firmware?

Updating the firmware of an NVMe drive, such as the Samsung PM9A3 (HDS-SMN0-MZ1L2960HCJRA7), using the nvme-cli tool can be relatively straightforward, as long as you have the appropriate update files and the drive is functioning properly. Below is a step-by-step guide on how to do it:

Step 1: Install the nvme-cli Tool

If nvme-cli is not yet installed, you will need to do so. On Debian/Ubuntu-based systems, you can install it with the following command:

sudo apt install nvme-cli

On Red Hat/CentOS/Fedora-based systems:

sudo yum install nvme-cli

Step 2: Verify the NVMe Drive is Detected

To ensure the NVMe drive is detected by the system, use the following command:

nvme list

This will return a list of all connected NVMe drives, for example:

Node SN Model Namespace Usage Format FW Rev
-------------- ------------------ --------------- --------- ------------------- ------------- -------
/dev/nvme0n1 S4XXXXXXXXXXXXXX SAMSUNG MZPLL1T9 PM9A3 1.92 TB / 1.92 TB 512 B + 0 B GDC7302Q

Note the device path, such as /dev/nvme0n1, as you will need it in subsequent steps.

Step 3: Download the Firmware Update

Samsung provides firmware update files for NVMe drives like the PM9A3, usually in a binary format. You need to download the appropriate .bin file from an official source (e.g., from the manufacturer’s website). An example file name could be something like General_PM9A3_M.2_GDC7502Q_Noformat.bin.

Step 4: Check the Current Firmware Version

To check the current firmware version on your drive, use the following command:

nvme id-ctrl /dev/nvme0n1

Look for the line starting with FR (Firmware Revision), which should look like this:

fr : GDC7302Q

Step 5: Perform the Firmware Update

After downloading the new firmware file and confirming it is correct, use the following command to update the firmware:

sudo nvme fw-download /dev/nvme0n1 --fw=./fw/General_PM9A3_M.2_GDC7502Q_Noformat.bin
Firmware download success

This command will upload the firmware to the drive but will not activate it yet. To activate it, you will need to reboot the drive.

Step 6: Activate the New Firmware

To activate the new firmware, run the following command:

sudo nvme fw-activate /dev/nvme0n1 -s 2 -a 1
Success committing firmware action:1 slot:2

If the update requires a system restart, you will receive a message indicating so. You can then issue the following command:

sudo reboot

After the reboot, the new firmware should be activated.

Step 7: Verify the Firmware After the Update

After the restart, check the firmware version again to ensure that the update was successful:

nvme id-ctrl /dev/nvme0n1

The new firmware version should be displayed.

Final Notes

  • Backup Your Data: Before starting the update process, ensure you have a backup of all important data, as firmware updates can sometimes result in data loss.
  • Compatibility: Ensure that the firmware file is compatible with your NVMe drive model.
  • Safety: It is best to perform firmware updates on a stable and reliable system with minimal load.

That's it! This is how you update the firmware on the Samsung PM9A3 NVMe drive using nvme-cli.

Related pages:

  1. Supermicro SYS-6029TR-DTR How to disable / enable ASPM?
  2. How to Enable VT-d (IOMMU) on Supermicro Motherboards Using the Example of X11SCZ-F?
  3. Installing Windows on an M.2 NVMe drive [AMI Native Support].
  4. The NVMe drive is marked as faulty by the BIOS on Supermicro motherboards (NVM Express Controller Failed)
  5. How to Format an NVMe Drive? How to Permanently Erase Data from an NVMe Drive?