Updating Micron 1100 Series SSD firmware on Linux

I’ve had quite a number of performance-related issues with Micron 1100 Series M.2 SATA SSDs in various constellations over the last 18 months. My ASUS notebook started feeling more and more sluggish until I found out the read speed of its 256 GB SSD had dropped to 40 Megabytes per second. Another of these 256 GB SSDs I had just put in an external USB 3.1 enclosure was also slow. Sometimes it would even stop responding for multiple seconds. A third 512 GB SSD in my new work notebook had similar issues.

Since no one just makes good products anymore and even SSDs need regular firmware updates now, I went looking for a more recent firmware. The version installed on all three devices was M0MA020. Micron offers a nice GUI tool for both Windows and Linux called Storage Executive, which reported M0MA020 to be the latest available version in all three cases. Rather unhappy with that, I kept looking around for a bit.

After a while I came across a PDF file on a special Micron website aimed specifically at Dell customers. It mentioned a “required” update for Micron 1100 Series SSDs to new firmware versions M0MU031 and M0MA031. The document had already been published on September 13, 2017. But in late 2018 the GUI tool still didn’t know anything about it. Luckily the more recent firmware can be downloaded from the website and applied manually. Here is the link, look for “1100 SSD M0MA031 Firmware Release – Firmware Update Package (ZIP)”.

How to check the firmware version

There are several ways to check the current firmware version.

    • If you’re using GNOME, you can use the GNOME Disks utility. When you select the drive, the version will be displayed at the top of the window after the model number.
    • The pseudo file /sys/block/sd[x]/device/rev contains the firmware revision. With these Micron SSDs it doesn’t contain the full firmware version string, but just the second half (e.g. A020 or A031).
    • If you have the smartctl tool installed, smartctl -a /dev/sd[x] will return the firmware version among other information.
Sample output of the smartctl command, showing firmware version M0MA020.

How not to flash your Micron 1100 Series SSD

In theory one should be able to manually force the Micron Storage Executive GUI tool to apply the downloaded Firmware Upgrade ZIP file. The tool is written in Java and looks and behaves the same on both Windows and Linux. Just install, run, switch to the “Firmware Updates” tab, choose the ZIP file and press “Update Firmware Now”.

Except that it didn’t work, neither on Linux nor on Windows. The tool would hang for a very long time and then happily announce a successful firmware update. But the drive would still report the old version.

What worked

The Linux version installs an additional command line tool to /opt/MicronTechnology/MicronMSECLI/msecli which can also update the firmware. Once everything is downloaded and installed, the actual update is easy:

  1. Unpack the Firmware Upgrade ZIP file to some location, e.g. ~/Downloads.
  2. Apply the update using the following command:sudo /opt/MicronTechnology/MicronMSECLI/msecli -U -i /home/mr2515/Downloads/1100_M0MA031_M0MA031\ 2T_Storage_Executive_fwbin_v2/ -n /dev/sd[x]-i specifies the path to the unpacked ZIP file, -n the block device file.

The result should look like this:

A successful firmware update of a Micron 1100 Series SSD using the command line.

After the update, performance of all my Micron 1100 SSDs was restored to the expected levels. Also compatibility with external USB enclosures seemed to have improved.

Sadly the tool only works with internal SATA drives and refuses to accept external USB enclosures. So in the worst case you might have to find a device with an M.2 slot, boot a Linux Live Image and install the Storage Executive inside the Live environment to perform the update.

2 thoughts on “Updating Micron 1100 Series SSD firmware on Linux

Leave a Reply

Your email address will not be published. Required fields are marked *