Skip to content

Instantly share code, notes, and snippets.

@troyfontaine
Last active November 17, 2025 07:38
Show Gist options
  • Select an option

  • Save troyfontaine/f24b4be8945b750b315e9f96ce9a9403 to your computer and use it in GitHub Desktop.

Select an option

Save troyfontaine/f24b4be8945b750b315e9f96ce9a9403 to your computer and use it in GitHub Desktop.
How to Update the Firmware of a Crucial Consumer SSD on Linux via the Terminal

How to Update the Firmware of a Crucial Consumer SSD on Ubuntu 22.04 via the Terminal

This has been tested on Ubuntu 22.04 with 3x Crucial MX500 1TB SSDs purchased in 2023

  1. Install the required packages
    sudo apt-get install -y smartmontools unzip curl
    
  2. Check your current firmware version and note it-you will want to be sure that you are actually updating the firmware version (replace sdX with your actual device's identifier-leaving off any partition numbers as you're checking the block device and not the data on it)
    smartctl -x /dev/sdX | grep -i firmware
    
  3. Locate a firmware download or contact crucial for the zip file containing it (alternatively, the zip file for the MX500 M3CR046 firmware can be found here)
  4. Extract the contents of the firmware archive
    unzip M3CR046.zip -d ./firmware
  5. Download the latest Crucial "Storage Executive" application install on the target Linux host by copying the download link from this page or using the following command (tested as working October, 2023)
    curl https://media-www.micron.com/-/media/client/global/documents/products/software/storage-executive-software/storageexecutive_linux.run?rev=64f18f2457ae483ba596ff89583af41d -o storageexecutive_linux.run
  6. Update the permissions on the storage executive file
    chmod 700 storageexecutive_linux.run
  7. Execute the script using the following command-note: the file's help command provides incorrect instructions
    ./storageexecutive_linux.run --mode text --enable-components GUI
  8. It will prompt you for the language, to agree to the license terms and finally if you want to install the GUI-you don't!
  9. Once it is installed, cd into the directory containing the firmware and then run the following command, substituting the appropriate device identifier for your disk
    cd ./firmware
      msecli -U -i ./ -m mx500 -n /dev/sdX
  10. The firmware update will begin and will let you know when it has completed successfully
  11. Reboot the machine and check the firmware of the drive again
    smartctl -x /dev/sdX | grep -i firmware
@DiagonalArg
Copy link

DiagonalArg commented Sep 20, 2025

If you follow the links from here, there is no longer a storageexecutive_linux.run. It is now msecli-linux.run. That's a binary file. Running it with --help seems to indicate that it should work with --mode text --enable-components GUI, and it installs something to /home/user/Micron Technology/Micron Storage Executive (changable via --prefix command).

I haven't gone beyond this yet, but I'm guessing that will give me the msecli command, and that the latter will need to be run with sudo to get access to the Crucial (/dev/sdX) device. I'm not sure if I want to do it this way. I'm noticing someone else reporting how to make a bootable USB, here.

I'll report back later ...

(Oh, and PS... I'v gotten a couple of these in my dmesg, which led me here: failed command: WRITE FPDMA QUEUED. My present firmware is M3CR045.)

@bjoern-r
Copy link

bjoern-r commented Nov 7, 2025

installing msecli-linux.run and then running sudo ./msecli -F -n /dev/sda -U fwa.img worked ok on my m4 SSD connected via usb on a ubuntu 24.04.

xxx-t14-sh4 /tmp/micron » sudo ./msecli -F -n /dev/sda -U fwa.img

Trying to update current firmware for /dev/sda.
Are you sure you want to continue(Y|N):y

Firmware update for /dev/sda will take a few minutes to complete.
Please wait
.............................................
Device Name  : /dev/sda
Firmware update operation completed successfully.

CMD_STATUS   : Success
STATUS_CODE  : 0
TIME_STAMP   : Fri Nov  7 15:18:12 2025

Copyright (C) 2025 Micron Technology, Inc.

xxx-t14-sh4 /tmp/micron » sudo ./msecli -F -n /dev/sda
Device Name           FW-Rev
/dev/sda              070H

Device Name  : /dev/sda
Firmware version retrieved successfully
CMD_STATUS   : Success
STATUS_CODE  : 0
TIME_STAMP   : Fri Nov  7 15:18:29 2025

Copyright (C) 2025 Micron Technology, Inc.

@DiagonalArg
Copy link

DiagonalArg commented Nov 17, 2025

@bjoern-r , are you saying that running msecli-linux.run installs msecli to /home/user/Micron Technology/Micron Storage Executive? That you then ran msecli from that directory?

I ended up following the directions at the link mentioned above (this one), and it worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment