如何在没有智能阵列控制器或 Proliant 服务器的情况下升级 HP SAS 扩展卡的固件?

如何在没有智能阵列控制器或 Proliant 服务器的情况下升级 HP SAS 扩展卡的固件?

如何更新/升级/刷新 HP SAS 扩展卡 [468406-B21又名 487738-001]

我曾经使用 Windows 和 HP P410 Smart Array 控制器执行此操作,但该控制器不再可用。

在线 ROM 闪存组件不是一个选项,因为我没有 HP Smart Array 控制器。惠普 ProLiant 服务包+ USB 密钥/棒选项,因为它需要 ProLiant 服务器。

答案1

可以使用 Linux 和 SAS 升级 HP SAS 扩展器羟丙基甲基纤维素.
注意:当扩展器连接到 SAS 时,将固件刷入 SAS 扩展器可能不起作用袭击控制器,因为该控制器可能会向操作系统隐藏其后面的所有设备。SAS HBA 的一个示例是Supermicro SAS2LP-MV8

如果你没有 Linux,你可以使用 Linux Live CD。你可以尝试最新的 Ubuntu Live CD。 A32 位下载即可。64 位也可以。

1. 先决条件

  1. 启动 Linux 终端
    Ctrl+ Alt+T使用 Ubuntu LiveCD。

  2. 确保您的互联网连接正常,
    以便下载并安装其他组件

  3. 确保你的 SAS 扩展卡在 Linux 中被检测到
    # 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

2. 设置实用程序

当扩展器连接到主机总线适配器 (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版本≥1.39 — 添加了--bpw以小块下载的选项。扩展器可能需要较小的块大小,例如 4096 字节。

3. 获取并解压 HP 固件映像

  1. 获取扩展器固件镜像文件,例如版本 2.10 (C) — 日期:2014 年 9 月 9 日
    # curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe
    尽管它们听起来像 Windows/DOS 可执行文件,但.scexeHP 的文件实际上是 Linux 可执行脚本,您可以在文本编辑器中查看它们(至少是第一部分)。

  2. 运行 64 位 Linux 并且下一个命令有问题?那么请确保您可以运行 32 位可执行文件。Ubuntu 中的命令是:
    # dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386

  3. 要从此.scexe 文件提取固件映像:
    # mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/

4.闪存 SAS 扩展器

当要升级/刷新的扩展器被命名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,它会下载带有偏移量的微码、保存并激活。

5.删除临时文件

# rm PUF21000.bin

您可能需要卸载(例如modprobe -r mvsas)并再次加载(fe modprobe mvsas)您的 HBA 模块或者在输出reboot中反映固件版本的变化。lsscsi -g

相关内容