web-dev-qa-db-ja.com

Dellファームウェアアップデートのどのアプリが実際にファームウェアをディスクに書き込みますか?

私は、Hitachi HUS156045VLS600 450Gb SASドライブを搭載したDellPowerEdgeR710サーバーを持っています。

残念ながら、ディスクはNetAppNA02ファームウェアを実行しています。 Dell E77 ファームウェアを適用して、MegaRAID/PERC H700/PERC6iコントローラーおよびその他のDellシステムでドライブがより適切に動作するようにします。

Dell linux/rpmダウンロードパッケージSAS-Drive_Firmware_YC07T_LN_E770_A00.BINは、シェルスクリプトとバイナリアーカイブの組み合わせです。 --extractオプションを実行すると、すべてのファイルを含むディレクトリが作成されます。スクリプトは非常に洗練されており、密度が高くなっています(そして、デコードするスキルを超えています)。

スクリプト化されたプロセスが前提条件のチェックに失敗したため、ファームウェアのダウンロードを手動で開始したいと思います。おそらく、以前のファームウェアバージョンが一致していないため、NetAppからDellになります。

どのアプリが実際にファームウェアをドライブに配信するか、HAPI呼び出しを行いますか?

E770.fwhをドライブに送信するには、抽出したディレクトリでどのコマンドラインを実行する必要がありますか?

3
David McNeill

私の推奨は、それらのドライブをebayで販売し(おそらく、実行するファームウェアを記載し、誰かがそれを探しているかもしれない)、必要なファームウェアを備えた新しいドライブをeBayから購入することです。アップデータが失敗する理由は、ドライブには多くのバリエーションがあり、モデル番号が一致していても、NetappドライブがDellドライブと同じであるという保証はありません。どちらも、それ自体がカスタムドライブであるためです。

1
Stuggi

ファームウェアの更新に使用できるWindows OSもありますか?別のDellシステムのWindowsUpdateツールを見ただけですが、更新メカニズムはすべてのHitachi/Toshiba/Seagateドライブで同じようです。おそらく、HUS156045VLS600のハードウェアID 20578E770.fwhの現在のドライブのハードウェアIDに置き換え、SASDUPIE.exe更新ツールを手動で実行することは価値があるでしょう。

ファームウェアバイナリの最初の256バイトの16進ダンプpayload/E770.fwh

ibm@x250:/mnt/c/Users/ibm/AppData/Local/Temp/cb868bcd-1f9f-476a-a137-6bf2ea998e23$ xxd -l 256 payload/E770.fwh
00000000: 2020 2020 2020 2020 0945 3737 3020 2020          .E770
00000010: 2078 0100 0000 0000 0000 0000 0000 0000   x..............
00000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000030: 0000 0000 0000 0000 0000 0000 0000 0003  ................
00000040: 2020 2032 3035 3737 2020 2020 2020 2020     20577
00000050: 2020 2020 2020 2020 2020 2020 2020 2020
00000060: 2048 5553 3135 3630 3330 564c 5336 3030   HUS156030VLS600
00000070: 2020 2032 3035 3738 2020 2020 2020 2020     20578
00000080: 2020 2020 2020 2020 2020 2020 2020 2020
00000090: 2048 5553 3135 3630 3435 564c 5336 3030   HUS156045VLS600
000000a0: 2020 2032 3035 3739 2020 2020 2020 2020     20579
000000b0: 2020 2020 2020 2020 2020 2020 2020 2020
000000c0: 2048 5553 3135 3630 3630 564c 5336 3030   HUS156060VLS600
000000d0: 0e80 0000 0000 0000 0000 0000 0000 0000  ................
000000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000f0: 4869 7461 6368 6920 476c 6f62 616c 2053  Hitachi Global S

Dell MD3220ストレージアレイで認定されていないハードドライブを使用する で私の回答を参照してください。

1
Freddy

私は同様のハードウェアにアクセスできないため、私の調査結果はすべて意見であり、作業指示とは見なされません。常に点滅するハードウェアデバイスのファームウェアを変更すると、ハードウェアがブリックするリスクが伴います。

Linuxパッケージには、最も関連性が高い可能性が高い以下のファイルが含まれています。コメントは#で注記されています。

├── framework64
│   ├── duppmdatacollector.bin
│   ├── getSystemId
│   ├── hapi
│   │   ├── funcs
│   │   │   ├── instsvc-uninstall.sh
│   │   │   ├── srvadmin-hapi.sh
│   │   │   └── srvadmin-omilcore.sh
│   │   └── hapi64.tgz
│   └── sputility.bin
├── l64
# sasdupie seems to be the flasher executable, tries to run dupdisneyinstall.sh
# which seems to install hapi64.tgz, but didn't try to run that with sufficient priviledges.
│   ├── sasdupie
# RPM contains some LSI libraries, which will be installed in /opt/lsi/
# these files are NOT the same as in the directory
│   └── srvadmin-storelib-sysfs-7.2.0-4.1.1.el4.x86_64.rpm
# the xml contains the information:
# 4. If this is a BIOS update package, install any necessary Embedded Systems
# Management firmware prior to this BIOS update. Otherwise, go next step.
# could be related to dupdisneyinstall.sh
├── package.xml 
├── payload
# this looks to be the actual drive firmware file
│   └── E770.fwh
# PIEConfig.sh holds information for the firmware, and looks to describe the sasdupie call
├── PIEConfig.sh
# PIEInfo.txt describes required the steps for the installation.
├── PIEInfo.txt

l64/sasdupieを呼び出すと、ヘルプメッセージが出力されますが、rootとして実行されない場合、スクリプトdupdisneyinstall.shは権限が不十分なため失敗します。

strace -e file l64/sasdupieを実行すると、sasdupieがこのファームウェアファイルの一部ではないライブラリを読み込もうとしていることがわかります。ほとんどの場合、これらはEmbedded Systems Management firmwareで言及されているpackage.xmlの一部です。

したがって、前進する方法は次のとおりです。

  • Embedded Systems Management firmwareをインストールする
  • l64/sasdupierootとして実行し、dupdisneyinstall.shが成功するかどうかを確認します
  • 動作する場合は、PIEConfig.shのオプションを使用してl64/sasdupieを実行します

システムが32ビットシステムの場合は、l32の代わりにl64を使用してください。

0
hargut