Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Качаем прошивку

Прежде всего, нужно найти прошивку. Ищем здесь:

https://www.broadcom.com/products/storage/host-bus-adapters/sas-9300-8i

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

На текущий момент нашлась 9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows, качаем.

Прошивать будем через UEFI, поэтому качаем ещё один файлик — Installer_P14_for_UEFI.

Из всего этого добра нам понадобятся только эти файлы:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Где:

  • sas3flash.efi — прошивальщик под UEFI.
  • mpt3x64.rom — BIOS контроллера UEFI. Я использовал Unsigned версию.
  • mptsas3.rom — BIOS контроллера Legacy.
  • SAS9311_8i_IR.bin — прошивка IR.
  • SAS9300_8i_IT.bin — прошивка IT.

Число 9311 в названии прошивки IR смущает, возможно, она не пойдёт на нашем контроллере.

Подготовка флешки

  • Берём флешку, форматируем её средствами винды в FAT32.
  • Копируем на флешку вышеуказанные файлы.

Вставка флешки

Простая операция вставки флешки через KVM вызвала проблемы. Сервер Supermicro.

Решение проблемы здесь: Supermicro — VM Device is not valid, please click «Refresh» button.

Отключаем видимость контроллера в BIOS

При загрузке жмём Ctrl +C и попадаем в утилиту Avago Technologies Config Utility.

Проваливаемся по Enter в контроллер и устанавливаем видимость «OS Only».

Загружаемся в EFI Shell

Поскольку на нашем сервере Supermicro есть Built-in EFI Shel, то будем им пользоваться. При загрузке нажимаем DEL, попадаем в BIOS и выбираем в Boot Device — Built-in EFI Shel:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Сохраняемся, проверяем что флешка вставлена:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Перезагружаем сервер в EFI Shell:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Просмотреть список примонтированных устройств:


map

Мы видим что наша флешка нашлась как blk0 и примонтировалась как hd51a0h0b0b с алиасом fs0.

Переходим внутрь флешки:


fs0:

Смотрим список содержимого с помощью ls или dir:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Файлики доступны. На скрине у меня нет SAS9300_8i_IT.bin, это не страшно. Флешку можно вытащить, скопировать туда файлик и примонтировать обратно без перезагрузки сервера.

Прошивка

Посмотрим текущие настройки контроллера:


sas3flash.efi -list
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI
  • Текущая версия контроллера 15.00.00.00 (2016.11.17).
  • SAS Address — 500605B-0-0CDA-35A0
  • Firmware Product ID — IT
  • Версия прошивки (Firmware Version) 15.00.02.00.
  • Версия BIOS Legacy (BIOS Version) 08.35.04.00
  • Версия BIOS UEFI (UEFI BSD Version) — нет вообще.

Для начала установим UEFI BSD:


sas3flash.efi -c <span class="hljs-number">00</span>CDA35A0 -b mpt3x64.rom

00CDA35A0 — это последние 9 символов SAS Address без дефисов. Символы HEX от 0 до F.

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Flash BIOS Image Successful. Это хорошо.

Дальше ставим IR прошивку контроллера:


sas3flash.efi -c <span class="hljs-number">00</span>CDA35A0 <span class="hljs-operator">-f</span> SAS9311_8i_IR.bin
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Firmware Image Validation Failed! Ну вот, а счастье было так возможно… Судя по описанию ошибки наш чип не поддерживает эту прошивку, печаль. Ну тогда хотя бы попытаемся обновить прошивку IT до последней:


sas3flash.efi -c <span class="hljs-number">00</span>CDA35A0 <span class="hljs-operator">-f</span> SAS9300_8i_IT.bin
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Firmware Flash Successful. Отлично. Прошиваем BIOS Legicy:


sas3flash.efi -c <span class="hljs-number">00</span>CDA35A0 -b mptsas3.rom
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI Flash BIOS Image Successful. Это хорошо. Проверяем версию sas3flash.efi -list: Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Все остальные версии тоже обновились. Перезагружаемся:


reset

Не забываем в BIOS установить нужный Boot Device.

И всё же…

Нагуглил в статье https://www.broadcom.com/support/knowledgebase/1211161501344/flashing-firmware-and-bios-on-lsi-sas-hbas информацию:

*When flashing an 12G HBA (SAS 9300 family) with IR mode firmware provided in the same package, named 9311, SAS3Flash returns the following error:

ERROR: NVDATA Image does not match Controller Subsystem ID!
ERROR: No compatible NVDATA Image(s) found!
Firmware Image Validation Failed!

Resolution:
Using DOS or EFI SAS3Flash version 10.00.00.01 or higher with following command string

sas3flsh –o –e -6
sas3flsh –o –f <firmware> -b <bios> -nossid

EFI:
sas3flash –o –f <UEFI BSD firmware> -nossid
Пробую:


sas3flash.efi -o <span class="hljs-operator">-f</span> SAS9311_8i_IR.bin -nossid
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Cannot Flash IR Firmware over IT Firmware!

Вот оно как. Значит, снесём IT Firmware.

Внимание — дальше нельзя перезагружать сервер, чтобы не превратить контроллер в кирпич!

Стираем все прошивки:


sas3flash.efi -o <span class="hljs-operator">-e</span> <span class="hljs-number">6</span>
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Ставим прошивку и BIOS Legacy:


sas3flash.efi -o <span class="hljs-operator">-f</span> SAS9311_8i_IR.bin -nossid -b mptsas3.rom
Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Выдыхаем, стираем пот. Ставим BIOS UEFI, также как было выше:


sas3flash.efi -c <span class="hljs-number">00</span>CDA35A0 -b mpt3x64.rom

Смотрим что получилось:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Слева то что было. Спава то что стало.

Firmware Product ID — IR! перезагружаемся.


reset

Первый раз даём перезагрузиться полностью, чтобы определились все устройства. Попадаем в EFI Shell, снова ребутаемся:


reset

При загрузке жмём Ctrl +C и попадаем в утилиту Avago Technologies Config Utility.

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Видим, что всё в порядке, смотрим далее:

Прошивка Avago SAS 9300-8i Host Bus Adapter через UEFI

Появилась опция RAID Properties. План перевыполнен.

Источник статьи

P.S.

  • В 10 RAID можно добавить только 10 дисков.
  • Всего во всех рейдах можно использовать максимум 14 дисков
  • Могут быть проблемы с работой дисков в RAID
  • Возможны сбои в работе
  • Всё что Вы делаете по данной статье Вы делаете на свой страх и риск, автор статьи не несет отвественности за Ваши действия

P.P.S.

Данный контроллер был прошит мной по данной инструкции