Linux-Mint

無法使用 nvme-cli 或 msecli 更新 SSD 韌體

  • September 29, 2019

我在 Mint 18.3 上有一個型號為 MTFDHAL800MCE 的美光 SSD。使用 Micron 提供的工具 msecli,我執行命令sudo msecli -F來檢索有關我的 SSD 的資訊,即 /dev/nvme0:

Device Name   FW-Rev
/dev/nvme0    0091634
/dev/sda      CC43
Firmware version retrieved successfully

CMD_STATUS   : Success 
STATUS_CODE  : 0 

Copyright (C) 2019 Micron Technology, Inc.

我的 SSD 的韌體是 0091634。我想使用 msecli 或 nvme-cli 更新它,但我找不到最新版本的韌體映像文件。我還嘗試瞭如下 cli-user-guide 資訊並執行命令sudo msecli -F -U 0091634 -n /dev/nvme0下載和更新韌體,但出現以下錯誤:

CLI 使用者指南資訊

下載單個韌體映像。

此選項將原始韌體二進制映像下載到指定的美光碟機動器。可選的 -S 可用於指定 NVMe 驅動器上的韌體插槽。如果未為 NVMe 驅動器指定 -S,則將自動選擇插槽。

用法:毫秒 -F

$$ -U | -S | -A $$ $$ -l $$ $$ -m $$-n $$ -r $$ $$ -s $$

  1. 在命令提示符處輸入以下內容:msecli -F -U <韌體二進制映像> -n <設備名>
  2. 出現提示時確認操作。一條消息指示韌體映像更新正在進行中。完成後,一條消息指示操作成功。

錯誤

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

Firmware update for /dev/nvme0 will take a few minutes to complete.
Please wait

Device Name  : /dev/nvme0
Firmware update operation failed
CMD_STATUS   : Invalid firmware image file 
STATUS_CODE  : 15 

Copyright (C) 2019 Micron Technology, Inc.

如何成功更新此韌體?

顯然,該msecli命令不包含實際韌體。您需要另一個包含新韌體的文件 -msecli只是將韌體傳輸到 SSD 的工具。

當您輸入命令sudo msecli -F -U 0091634 -n /dev/nvme0時,您實際上是在說:“在目前目錄中有一個名為 ‘0091634’ 的文件,其中包含此 SSD 的新韌體,請安裝它。” 如果您實際上0091634在目前目錄中沒有按字面意思命名的文件,則該命令顯然會失敗。

通過Google搜尋您的 SSD 型號“MTFDHAL800MCE”,我找到了它的數據表。從文件標題來看,SSD系列的名稱似乎是“9100”。

通過轉到美光文件/下載頁面並選擇“搜尋韌體”,在撰寫本文時似乎只有一個適用於 9100 系列 SSD 的韌體包。它被命名為韌體 1634.zip

Firmware 1634.zip軟體包包含兩個文件:Release Notes.txtfirmware.tar. 以下是發行說明的內容:

v0.09.1634 Changes: 
       * Fix for journal log error and overlay bug.
       * OPROM file is now signed
       * Update the UEFI OPROM to the UDK2014 stable release.
       * Fix SMART warning in NVMe-MI
       * Fix clean power cycle issue
       * Fix the command timeout time from 100ms to 200ms
ERRATA:

A compatibility issue exists in firmware version 1634 with VPD enabled.
If upgrading to firmware version 1634, VPD cannot be enabled.  
If VPD functionality is required, please contact your Micron
representative for guidance on how to enable VPD.

INSTALLATION INSTRUCTIONS:

Micron Storage Executive:
   1) Command:  msecli -F -U firmware.tar -n &lt;NVMe Device Path&gt; 
   2) Cold Power Cycle Host
   Example:  msecli -F -U firmware.tar -n /dev/nvme0

所以,完整的版本號是……並且其中的數字與您的工具報告v0.09.1634的數字完全匹配。看起來這個韌體版本是你已經擁有的,所以不需要升級。0091634``msecli

發行說明文件還顯示了msecli安裝新韌體時要使用的確切命令,表明firmware.tar軟體包內部是應該提供給該msecli工具的文件。

引用自:https://unix.stackexchange.com/questions/544190