Windowsを使わずにIntel製のSSDのFirmwareを更新する方法を探る


# Linux環境でSSDのFirmwareを更新したい

メインのノートパソコンCF-B11には、Intel製のSSD(Intel 330 Series)の60GBを使っているのですが、これがよくプチフリという状況を引き起こします。故障が近いのかも知れませんし、別の原因が有るのかも知れませんが、最近のSSDではコントローラーが改善されて起こりにくいらしいです。そこで、SSDのFirmwareを更新したいと思ったのですが、いまはWindows機がなく、Ubuntuしか使えないので、Linux環境で更新するにはどうすれば良いのか調べてみました。

ちなみにS.M.A.R.T情報が以下のコマンドを利用することで見られます。

使うにはsmartctlコマンドが使えるようにインストールが必要です

```bash:apt経由でインストールできます
sudo apt-get install smartmontools 
```

```bash:ドライブのS.M.A.R.T情報を見る
sudo smartctl -i /dev/sda
```

こちらが出力結果。

```
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.124-99] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Intel 330/335 Series SSDs
Device Model:     INTEL SSDSC2CT060A3
Serial Number:    CVMP*************AGN
LU WWN Device Id: 5 001517 bb28f9066
Firmware Version: 300i
User Capacity:    60,022,480,896 bytes [60.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.0, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Oct 22 11:20:48 2021 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

```

Firmwareが300iになっていますが、コレを最新に更新したいというわけです。


# 解決策はある

早速調べてみると、Intel® Memory and Storage Tool CLI (Command-Line Interface) というのが有るらしいです。GUIもありますが、これはWindows専用らしいです。そこのHPを見ているとOSindependentということで、USBメモリとかCDイメージに焼いて使えるものも見つかりました。

こちらは、Intel® Memory and Storage Tool CLI (Command-Line Interface) 

https://www.intel.com/content/www/us/en/download/19520/intel-memory-and-storage-tool-cli-command-line-interface.html?v=t


こっちは、イメージとしてブート可能な、Intel® SSD Firmware Update Tool 

https://www.intel.com/content/www/us/en/download/17903/intel-ssd-firmware-update-tool.html


# さっそくやってみる

今回は既にOSが動いているので、上のリンク先にある`Intel® Memory and Storage Tool CLI (Command-Line Interface)`を使ってアップデートを試みてみます。

CLIなのにこのzip 500MB近くある、正気とは思えないレベルの巨大ファイルとなっています。intel側のサーバー回線は超速い（のか？1.0MB/s）のでダウンロードは結構スイスイ出来ましたが、モバイル環境だとキツイかも。ブータブルイメージだと110MBなのでそっちが良いかも知れません。いつでもフィルムウェア更新できるようにCD作って用意していても良いかも知れませんね。しかしながら、とりあえず今回はUbuntu環境からやってみます。

そういうわけで、`Intel_MAS_CLI_Tool_Linux_1.10-v2.zip`というファイルをダウンロードしてきましたので、これを解凍します。

```
unzip Intel_MAS_CLI_Tool_Linux_1.10-v2.zip -d intelmas
```

zipの中身をintelmasというフォルダに解凍しました。

```
Archive:  Intel_MAS_CLI_Tool_Linux_1.10-v2.zip
  inflating: intelmas/CLI-Intel_MAS_Tool_Install_Guide-Public-342329-005US.pdf  
  inflating: intelmas/CLI-Intel-MAS-1.10-User-Guide-Public-342245-011US.pdf  
  inflating: intelmas/CLI-Intel-MAS-1.10-v2-Release-Notes-342335-013.pdf  
  inflating: intelmas/intelmas_1.10.155-0_amd64.deb  
  inflating: intelmas/intelmas_1.10.155-0_i386.deb  
  inflating: intelmas/intelmas-1.10.155-0.i386.rpm  
  inflating: intelmas/intelmas-1.10.155-0.x86_64.rpm  
  inflating: intelmas/NSG_SoftwareLicenseAgreement_Commercial Use.pdf  
```

中身はこんななっていました。

CF-B11は64bitでこのパソコンはdebian系のLinuxなので、必要なファイルは`intelmas/intelmas_1.10.155-0_amd64.deb`です。

と言うわけで、すぐにインストール

```bash:debパッケージをインストール
cd intelmas
sudo dpkg --install intelmas_1.10.155-0_amd64.deb
```

コレでインストール完了です。さっそく使ってみましょう

# IntelMASを使ってSSDの情報を見る

```bash:intelmasで見えるSSDの情報
$ sudo intelmas show -intelssd

- 0 Intel SSD 330 Series CVMP217504CG060AGN -

Capacity : 60.02 GB
DevicePath : /dev/sg0
DeviceStatus : Healthy
Firmware : 300i
FirmwareUpdateAvailable : The selected drive contains current firmware as of this tool release.
Index : 0
MaximumLBA : 117231407
ModelNumber : INTEL SSDSC2CT060A3
PercentOverProvisioned : 100.00
ProductFamily : Intel SSD 330 Series
SMARTEnabled : True
SectorDataSize : 512
SerialNumber : CVMP**********

```

先程のS.M.A.R.T.で見えるものとほぼ同じようなものが見えています。

このCLIプログラム恐ろしいくらい機能がついていまして、これだけで相当遊べそうです。非常に楽しいプログラムです。使い方はpdfに書かれていますが、なにかいろんなことができそうですよ。これは調べて正解でした。SSDのフォーマットやSSDの設定の変更？も出来るらしいです。今回はとりあえずfirmwareのupdateだけが目的なのでそれを挑戦してみます。

# Firmwareのupdate

```bash:Firmwareの更新
$ sudo intelmas load -intelssd 0
WARNING! You have selected to update the drives firmware! 
Proceed with the update? (Y|N): Y
Checking for firmware update...

- Intel SSD 330 Series CVMP217504CG060AGN -

Status : The selected drive contains current firmware as of this tool release.
```


最新版でした。といわけで、今回の行動は無駄に終わりましたが、このintelmasという面白いプログラムのことが知れました。

今回のSSDでは対応してませんでしたが、ドライブの最適化(`-optimizer`)とか、`-selftest`とかいろいろいなオプションが指定できます。面白い使い方がありそうなので覚えておいて損はなさそうな感じです。

CLIからintelのSSDの情報がいろいろ取得できるintelmasというものの紹介でした。ブート版も面白そうです。

# 追記ブート版を使ってみる

DVD-Rでやってみてたんですが、ドライブがおかしくなっているのか焼き込みは出来ても、ロードがうまくいかなかったので、usbメモリでやってみました。

結果としては同じメッセージがでて最新版だから更新必要なしと出ました。ブート版の方でも同じことが出来るようです。状況に合わせて選択すればOKのようです。