I want to upgrade the firmware of the solid state disk in the NAS, but the Windows tools cannot be moved there, so there are only two ways for me to get out.
This story follows on from my last article. The SC001 256G used as a cache lost a month of disk space. Finally, it was determined that the power saving mechanism was conflicting with the main control firmware. I turned off the hard disk hibernation before it stopped. (The complete troubleshooting process is written in The article about SSD disappearing every now and then ). After a while, I kept thinking about the line on the firmware page of the official website - "Fix the problem of accidental disconnection of devices on some platforms." Isn't this what I'm talking about? Upgrading under Windows is fool-proof. Install a decent ToolBox, click on it, and it will be done in 30 seconds. But this disk is now plugged into the SATA port of Feiniu NAS, and things start to go wrong from here.
Stuck at the first step: The official tool does not have a Linux version
I am used to using the SMB share of NAS as a network disk. My first reaction was that I took it for granted.: Download the firmware upgrade package to the shared folder, SSH into Feiniu and double-click to run - where does the double-click come from? I also recognize the command line. As a result, after searching the Zhidai official website, the firmware tool only gave one version for Windows, with the exe suffix. I went back to the pages of Samsung, Kioxia, and Ying Ruida, and competed one by one.: Magician, SSD Utility, and Storage Executive are all for Windows and macOS. It’s not difficult to understand. 99% of the world’s SSDs are installed on Windows machines, and manufacturers have no incentive to make graphics tools for Linux.
But it’s not that Linux users have no options, it’s just that the options are not in the hands of the manufacturers. I later learned that there is something called fwupd, which is an open source firmware update framework maintained by the GNOME community. It has been installed on Ubuntu and Fedora for seven or eight years, and it is also available on Debian Feiniu. It collects the firmware packages of various solid-state companies into the LVFS (Linux Vendor Firmware Service) warehouse, with one command to check and one command to upgrade. The supported list includes many models from big brands such as Zhizai, Kioxia, and Samsung, but not all of them. This is a foreshadowing of the pitfalls later.
Run fwupdmgr on Feiniu, first confirm whether the disk is recognized or not.
SSH into Feiniu, first check whether it is installed or not.: dpkg -l | grep fwupd . My machine is installed, but the version stopped two years ago. Then run fwupdmgr get-devices , list the devices that can be managed. My Zhidai SC001 is not on the list - its firmware is not in the LVFS warehouse, and fwupd cannot help even if it wants to. There are many such disks, especially domestic disks and old models. However, there is another piece of Kioxia RC20 lying on the list. It is a download disk that was retired from the previous desktop computer. The system recognized it and it was marked "Updatable".
Now that I have accepted the role of Kioxia, I will go through the whole process smoothly.: fwupdmgr refresh First refresh the firmware metadata (need to be connected to LVFS), then fwupdmgr get-updates , when there is a new version, it will list which version it is upgraded from. Zhen Sheng is fwupdmgr update , it will write the firmware to the disk, which takes a minute or two. There is a detail worth remembering: During the upgrade process, the disk will be temporarily disconnected and reconnected. The processing on the Linux side is stable, but after the upgrade, I habitually restarted Feiniu and then connected the storage pool - for things like firmware, I would rather believe that it requires a clean cold boot. After more than a year, this piece of Kaixia never had any problems again. Although it was not sick in the first place and it was a white-sheng this time, the process went smoothly.
| path | Suitable for whom | cost |
|---|---|---|
| fwupdmgr upgrade directly | The disk is in the LVFS support list | Two SSH commands, ten minutes |
| Disassemble the disk and connect to the Windows machine to upgrade | Any disk not in the list | Disassemble + shutdown + data disk offline |
| If you don’t upgrade, you can avoid the problem. | The root cause is power saving/compatibility, not a firmware bug | Zero, at the cost of turning off hibernation |
How did you end up doing the tribute piece?: Remove it and connect it to the computer
SC001 is not on the fwupd list, and the official tool only has a Windows version. The only correct way left is physical transportation. I chose a weekend and Feiniu backend first removed the cache from the storage pool (don’t be lazy in this step, remove the cache tape pool, just read and touch it on Windows and it will be fine, but the pool will keep reporting exceptions), shut down the computer, unscrew the disk, and use a small USB to SATA box to connect it to my desktop. Install the ToolBox, recognize the disk, click Firmware Upgrade, finish flashing in 40 seconds, restart once, and the firmware version number will be upgraded from 1.2 to 2.0. Installed the NAS back and reattached the cache. As of today, the disk has not been lost in four months.
There is an account to be settled here: Is it worth the trouble? In my case, the disk was lost from the beginning, and the firmware update log clearly stated that this bug should be fixed, which is worth it. On the other hand, if your disk is fine but a new firmware is released on the official website, I advise you to give it a rest. There is a small chance that the firmware upgrade will fail. If the upgrade fails under Windows, try again. If the system disk fails during the upgrade on the NAS, the entire machine will have to be reinstalled. My own rules are the same as when I set the rules for router firmware.: Don’t upgrade if you are not sick. Make a backup before upgrading. If you upgrade the system disk, think of a way out. . This rule was first Router firmware downgrade to save bricks I set it up that time, and later I found out that it works for NAS, cameras, and sweepers. Stability of device firmware is paramount to everything else.
There is also a type of disk that cannot be upgraded or connected at all.
The most troublesome are disks installed on M.2 adapter cards or plugged into USB hard disk cabinets. I am here PCIe riser card article It is written in that the disk on the adapter card needs to be enumerated from the BIOS. It is unclear whether fwupd can see it in Feiniu - even if fwupd can see it, the channel to write firmware is not the same as ordinary reading and writing. If the adapter card and USB bridge chip block this channel, the upgrade will be stuck in the middle. That state is worse than not upgrading at all. The disks in the USB hard drive cabinet are more direct, and even fstrim can't transmit them. Don't expect the firmware instructions to penetrate them. If you want to upgrade the firmware of this kind of disk, the only way is to remove it and plug it directly into the motherboard.
Synology users should not think that this matter has nothing to do with them. Synology's DSM does not have any entrance to solid-state firmware management, and the package center does not provide it. fwupd in SSH is not fully installed by default - Synology's solid-state basically "uses and retires whatever firmware you buy." If you really want to upgrade, you also have to remove the disk and put it on the computer. So when buying a machine from Synology or Feiniu with a solid-state cache, my suggestions now are a bit more than before.: Give priority to the big brands, don’t just look at the price of a few dozen yuan. The firmware of the disks of unknown brands does not need to be repaired. You will only know the value when you drop the disk and go crazy.
After the upgrade is completed, how do I verify that it is not a white upgrade?
The firmware version number itself can be verified: Used under fwupd fwupdmgr get-devices Looking at Version, the ToolBox interface under Windows is displayed directly. However, changing the version number does not mean that the disease has been cured. The real verification is to run the original fault scenario again. What I did was to re-activate the previously turned off hard drive from hibernation, returning it to the state where it is most susceptible to disk loss. After running it for two weeks, the logs were clean, and then I dared to conclude that the firmware had fixed this bug. If it goes back to sleep and then shuts down, it means the fault is not with the firmware version. Just turn it back to sleep and don't fight with it.
By the way, after the disk was repaired, I added an item to my annual inspection list.: fwupdmgr get-updates Follow smartctl and watch it once a year. Just because there is a new version does not mean you have to upgrade it. Take a look at the update instructions to see if there are any items that match my symptoms. If so, upgrade it. If not, skip it. SSD have been around for a long time in NAS. There are cases where the firmware of a drive bought five years ago still has security patches. The cost of taking a quick look is almost zero.
Finally, I leave the order of my round to those who have to do things.: Check first fwupdmgr get-devices To see if the market is in the list, just refresh and update with two commands. ; It’s not on the list. Shut down the machine, disassemble the disk, and connect to the Windows machine using official tools. ; If the disk is in a riser card or hard disk cabinet, remove it first and insert it directly. ; Be sure to think of an escape route before upgrading the system disk. As for those that have not lost disks, reported no errors, and just have an older version number - close this page and do whatever you need to do.
