
Внимание! Официально контроллеры LSI (MegaRAID) с чипом 2208 не поддерживают прошивку в режим HBA и не имеют прошивки IT. Все дальнейшие действия, которые вы выполняете по этой статье, вы выполняете на свой страх и риск. Риск превратить ваш RAID контроллер в кирпич.
Прежде чем приступать к опытам с прошивкой, вы можете воспользоваться режимом JBOD.
LSI 2208 можно перевести в JBOD-режим (прямой проброс дисков в ОС без создания виртуальных массивов), используя утилиты megacli или storcli. Это удобно для лабораторий, где контроллер может позже понадобиться в RAID-режиме без повторной прошивки.
JBOD-режим — контроллер просто передаёт диски «как есть» в систему (аналог IT-режима, но без смены прошивки). Не требует рисков перепрошивки, сохраняет возможность быстрого возврата к RAID. Некоторые ОС (например, FreeNAS/ZFS) могут «видеть» диск через контроллер не напрямую, что иногда влияет на производительность.
Активация JBOD через megacli/storcli
Проверка текущего состояния контроллера:
megacli -LDInfo -LAll -aALL # Показать виртуальные диски (если есть)
storcli /c0 show # Альтернатива для storcli
Включение JBOD для всех дисков:
megacli -AdpSetProp -EnableJBOD -1 -aALL # Активировать глобально
megacli -PDMakeJBOD -PhysDrv[32:0] -a0 # Для конкретного диска (пример)
Или через storcli (более современная утилита):
storcli /c0/e32/s0 set jbod # Для диска в слоте 32:0
storcli /c0 set jbod=on # Глобальное включение
Проверка результата:
megacli -PDList -aALL | grep "JBOD" # Фильтр по JBOD-дискам
storcli /c0 /eall /sall show # Показать все диски и их режим
Перевод статьи: https://mywiredhouse.net/blog/flashing-lsi-2208-firmware-use-hba/
Опасно, Карл!
Эта страница содержит неподтверждённую информацию, и она точно не поддерживается ни одним из упомянутых здесь производителей. Любой ущерб, нанесённый вам, вашему оборудованию или вашим данным, — исключительно ваша ответственность. Если вы что-то сломаете, я, конечно, посочувствую и разделю вашу боль, но не буду виноват, поскольку никоим образом не утверждаю, что это хорошая идея.
Я привык выходить за границы возможного… вот, высказался.
Недавно я приобрёл себе недорогое оборудование уровня домашнего дата-центра — материнскую плату Supermicro X9DRH-7F — и захотел передать встроенный контроллер LSI 2208 в управление FreeNAS внутри виртуальной машины, чтобы не подключать дополнительную PCIe-плату. Мой предыдущий опыт с LSI HBA подсказывал, что перепрошить их между RAID- и IT-режимами довольно просто — я уже делал это, перепрошив Dell PERC H310 в IT-режим. Я даже не стал исследовать вопрос, а просто взял загрузочный диск, загрузил на него инструменты LSI вроде megarec
, megacli
и sas2flash
, и принялся за работу: создал резервные копии блоков прошивки и стёр BIOS на контроллере.

Затем, когда я начал искать прошивку, мне попались несколько статей в интернете, утверждающих, что для чипсета LSI 2208 на моей материнской плате не существует IT-прошивки, и что максимум, на что можно рассчитывать, — это JBOD-режим через аппаратный контроллер. Фу.
Однако я продолжил копать и нашёл в разных документах вот эти картинки:

В красном углу у нас тяжёловес LSI 2208 с двумя процессорами PowerPC 440 на 800 МГц, шиной PCIe x8, ядром SAS-2 на 4.8 Гб/с и 4 МБ контекстной памяти.
В синем углу его облегчённый брат LSI 2308, схожий по архитектуре, с теми же характеристиками, но только с одним процессором PowerPC 440 (хотя и на тех же 800 МГц).
Важная деталь: у LSI 2308 есть IT-прошивка, и у меня даже есть пара HP 220-х карт на этом чипсете, которые я успешно перепрошил на LSI-прошивку версии 20.

Учитывая схожесть 2208 и 2308, я задумался: а что, если попробовать прошить встроенный Broadcom-чипсет на моей X9DRH универсальной прошивкой от LSI HBA? Поскольку я уже стёр старую прошивку, решил рискнуть.
На этом моменте некоторые из вас подумают: "Этот парень — идиот, зачем он рискует дорогой материнской платой и рабочим RAID-контроллером?" Для меня он не рабочий — я идеологически не люблю аппаратные RAID-устройства и предпочитаю программные RAID-решения, потому что их можно восстановить на обычном железе. Я же не дата-центр, чтобы держать на полке запасные детали на случай поломки.
Ну ладно… давайте продолжим.
Результат
Начнём с результата, ибо именно он и интересен.
До:

После:

Прошивка LSI 2208 из RAID в IT-режим
⚠️ Внимание: Это абсолютно не поддерживается и не рекомендуется!
Данный материал представлен исключительно в ознакомительных целях. Если вы решите повторить эти действия и что-то сломаете — под вашу ответственность. Вряд ли в службе поддержки какого-либо вендора вам скажут: "О? Проблемы из-за прошивки от другого устройства? Как неожиданно!".
Как я это сделал (для истории)
Использовал 2 USB-флешки:
- DOS-загрузочную с утилитами (megarec, megacli, sas2flash).
- С sas2flash.efi для работы из EFI Shell.
Полезные файлы:
9207_8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows.zip
— содержит прошивку9207-8.bin
и BIOSmptsas2.rom
9207_8e_Package_P14_IT_Firmware_BIOS_for_MSDOS_Windows.zip
— старая версия sas2flash (менее привередлива к перепрошивке)lsi_dos.zip
— megarec, megacli, sas2flash и др.lsi2208fixer.zip
— включает прошивку для восстановления 2208sas2008.zip
— пустой SBR-файл (empty.bin
).Installer_P20_for_UEFI.zip
— sas2flash.efi для UEFI.
Сначала убедимся, что megarec видит устройство (если нет — пробуем другие версии утилиты):
megarec -adplist
Сделаем резервную копию SBR и SPD (smc = Supermicro, 8.3-формат для DOS):
megarec -readsbr 0 smc2208.sbr
megarec -readspd 0 smc2208.spd
Сохранение SAS-адреса:
megacli -adpallinfo -a0 > allinfo.txt
В файле allinfo.txt ищем строку с SAS-адресом (уникален для каждой карты).
Очистка контроллера. Заменяем SBR на пустой (источник empty.bin неизвестен, возможно, sbrempty.bin):
megarec -writesbr 0 empty.bin
Полная очистка флеш-памяти:
megarec -cleanflash 0
Перезагрузка.
Прошивка IT-режима через EFI. Проверяем, что sas2flash видит контроллер:
sas2flash -list
Прошиваем firmware и BIOS (BIOS можно пропустить для ускорения загрузки):
sas2flash -o -f 9207-8.bin -b mptsas2.rom
Проверяем, что sas2flash видит контроллер:
sas2flash -list
Восстанавливаем SAS-адрес (из allinfo.txt):
sas2flash -o -sasadd 50030480195exxxx
Если нужно убрать BIOS, сохранив адрес:
sas2flsh -o -e 6
Возврат к оригинальной прошивке LSI 2208
Да, это возможно! Перед тем как делать скриншоты и проводить предыдущие операции, я успешно вернул свой контроллер к полностью рабочему состоянию с родной прошивкой LSI2208 — правда, с парой моментов, когда "сердце уходило в пятки".
Для восстановления использовалась аварийная прошивка от LSI, найденная в этом отличном обсуждении на ServeTheHome:
Поместил ISO с аварийной прошивкой в Сборку для системного администратора.
Процесс восстановления
Использовал пакет LSI_DOS.zip из указанной темы (распакованный из ISO — те же DOS-утилиты, что и для прошивки в IT-режим).
Очистка и восстановление SBR:
megarec -cleanflash 0
Перезагрузка.
megarec -writesbr 0 smc2208.sbr
Прошивка аварийного образа (2208_16.rom — образ из упомянутого треда на STH):
megarec -m0flash 0 2208_16.rom
Перезагрузка — контроллер вернулся к рабочей прошивке версии 3.270.65-2578.
Обновление до последней версии прошивки Supermicro. Последнюю прошивку можно найти здесь:
ftp://ftp.supermicro.com/Driver/SAS/LSI/2208/Firmware(not_for_X9DRL-7F)/
megacli -adpallinfo -a0
Выводит подробную информацию, включая SAS-адрес и настройки.
megacli -adpfwflash -f smc2208.rom -a0
Перезагрузка — теперь прошивка 3.460.115 от Supermicro.
Восстановление SAS-адреса (если нужно). Где-то в процессе мог потребоваться возврат оригинального SAS-адреса. Точной команды у меня нет (я тогда слишком радовался, что контроллер "ожил"), но это могло выглядеть так:
megaoem -sasadd 50030480195exxxx
Замените 50030480195exxxx на ваш адрес из резервной копии allinfo.txt.
Важные замечания
- Резервные копии — ваше спасение. Файлы smc2208.sbr, smc2208.spd и allinfo.txt критически важны для восстановления.
- Версии утилит. Некоторые шаги могут требовать конкретных версий megarec/megacli — если что-то не работает, пробуйте альтернативные сборки.
- SAS-адрес. Если контроллер после прошивки не видит диски, проверьте, что адрес совпадает с оригинальным.
Контроллер успешно вернулся к «родной» прошивке, но процесс требует внимательности. Если решите повторить — держите под рукой запасные компоненты и никогда не пропускайте резервное копирование!
P.S. Для тех, кто случайно «закирпичил» карту: это исправимо, но нервы придётся потрепать.
Проблемы и решения
Некоторые пользователи столкнулись с тем, что после перепрошивки не отключается звуковой сигнал (buzzer) на их устройствах.
Анонимный участник предложил следующие команды (лично я их не проверял, так как у меня такой проблемы не возникло):
MegaCli -AdpSetProp -AlarmSilence -aALL
Или:
MegaSCU -AdpSetProp -AlarmDsbl -aALL
Надеюсь, одна из них поможет, если вас тоже достаёт этот писк!
Удачи! (или, как говорят австралийцы — hooroo!)
Из комментариев
В комментариях сообщали об успешных прошивках.
- Контроллер LSI 2208 на материнской плате Supermicro X9DRL-7F
- HP Branded SAS1064E 4-Port
- LSI 9266-8i
- Контроллер LSI 2208 на материнской плате Supermicro X9DRH-7F
- SuperMicro BPN-ADP-S2208L-H8iR
- M5110