如何更新/升级/闪存HP SAS扩展卡的固件[468406-B21 aka 487738-001] ?
我曾经使用Windows和HP P410智能arrays控制器来完成此操作,但是该控制器不再可用。
在线ROM闪存组件不是一个选项,因为我没有HP Smart Array控制器。 HP Service Pack for ProLiant + USB key / stick选项也不是,因为这需要ProLiant服务器。
使用Linux和SAS HBA可以升级HP SAS扩展器。
注意:当扩展器连接到SAS RAID控制器时,将固件闪烁到SAS扩展器可能不起作用,因为该控制器可能隐藏操作系统后面的所有设备。 SAS HBA的一个例子是Supermicro SAS2LP-MV8 。
如果你还没有Linux,你可以使用Linux Live CD。 你可以尝试最新的Ubuntu Live CD 。 一个32位下载将做。 64位也将工作。
启动一个Linuxterminal
那就是使用Ubuntu LiveCD的Ctrl + Alt + T。
确保您的互联网连接正常
下载并安装其他组件
确保在Linux中检测到您的SAS扩展卡
# lsscsi -g | grep HP
应该返回类似于:
[6:0:0:0] enclosu HP HP SAS EXP Card 2.08 - /dev/sg1
[6:0:1:0] enclosu HP HP SAS EXP Card 2.10 - /dev/sg2
当扩展器连接到主机总线适配器(HBA)时,使用sg_write_buffer版本≥1.15来下载微码。 要在32位Ubuntu或Debian下载并安装此实用程序,请使用:
# curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb && curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb && dpkg -i *_1.39-0.1_i386.deb
sg_write_buffer实用程序版本≥1.15 – 分布在sg3_utils版本sg3_utils – 添加了--bpw选项以小块进行下载。 扩展器可能需要像4096字节的小块大小。
获取扩展器固件映像文件,例如2014年9月9日版本2.10(C) :
# curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe
虽然听起来像Windows / DOS可执行文件, .scexe HP的.scexe文件实际上是可执行的Linux脚本,您可以在文本编辑器(至less是第一部分)中查看。
运行64位Linux并遇到与下一个命令有关的问题? 然后确保您可以运行32位可执行文件。 Ubuntu中的命令是:
# dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386
从这个.scexe文件中提取固件映像:
# mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/
当要升级/ sg1的扩展器被命名为sg1 (使用lsscsi -g | grep HP检查)时 ,使用:
# sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg1 # sg_write_buffer --mode=activate_mc /dev/sg1
旧设备可能只支持--mode=0x7 。 模式0x7也被称为dmc_offs_save ,它可以下载偏移量的微码,保存并激活。
# rm PUF21000.bin
您可能需要再次卸载(例如modprobe -r mvsas )和加载(fe modprobe mvsas )HBA模块或reboot以反映lsscsi -g输出中的固件版本更改。