I am not an expert on NVMe firmware updates, but I did have the same problem of updates not applying because the utility was broken and I had to do it manually. I’m not sure that all necessary fixes have been made upstream, and the maintainer has blocked me from interacting with all of their repositories for an unknown reason, so I can’t provide patches or clarifications.
First, make sure you are using at least version 1.2.2, as the previous versions generated invalid download URLs without error checking and would try to send a 404 page to your SSD. If this is the case, then the invalid firmware message is correct and is saving you from doom. Update the utility (or just do it manually; see below).
The messages about MUD value and overlapping images seem scary but are apparently not errors and can be ignored.
The process of manually performing the firmware update is not so burdensome so you may just want to try doing it yourself, which is what I did after the utility did not work for me. Just to reiterate it:
- Go to https://wddashboarddownloads.wdc.com/wdDashboard/config/devices/lista_devices.xml and find your device, in this case WD_BLACK SN770 2TB
- Go to the URL listed for the device, in this case https://wddashboarddownloads.wdc.com/wdDashboard/firmware/WD_BLACK_SN770_2TB/731120WD/device_properties.xml, and replace
device_properties.xml
with the value from thefwfile
node, in this case731120WD.fluf
- Download the firmware for the device, in this case https://wddashboarddownloads.wdc.com/wdDashboard/firmware/WD_BLACK_SN770_2TB/731120WD/731120WD.fluf
- Run
nvme fw-download -f <path-to-731120WD.fluf> /dev/nvme0
as root to push the firmware to the device - Run
nvme fw-commit -s 2 -a 3 /dev/nvme0
as root to activate the firmware to slot 2
The enumeration order of nvme devices can change across boots, so make sure to verify that /dev/nvme0
is still the right one.
It may also be a bug that the utility tries to use /dev/nvme0n1
instead of /dev/nvme0
but I don’t know—again, I am no expert on this process, just someone who had the same issue and did it successfully by doing it manually. Good luck!