leo_sosnine: (Default)
leo_sosnine ([personal profile] leo_sosnine) wrote2009-03-26 01:44 pm

Как прошить контроллер Intel SRCU31, SRCU31L (Intel SRCU31A, SRCU31LA)

Прелюдия.

На днях перетряхивал старый сервер с целью подготовить его к новому периоду эксплуатации в новой роли (а что делать, на дворе кризис). Сервер ещё относительно неплохой: два Зиона Престония (кстати, ряд продуктов Intel имеют названия на библейские темы) на 2ГГц каждый, неплохие даже по сегодняшним меркам винты Seagate Cheetah st373207lc 10k 73ГБ (3 шт.) и к ним RAID-контроллер Intel SRCU31L. Решил я помимо прочего загнать в контроллер новую прошивку. Контроллер старый, рассудил я, наверное вышло уже куча баг-фиксов и фича-сетов в новых прошивках. Поэтому полез на сайт Intel, нашёл, как мне показалось последнюю прошивку и приступил. Однако всё оказалось непросто и после убитых трёх дней (без отрыва от производства) на прошивку контроллера, которая бы меня устроила, решил опубликовать этот how-to (в интернете решения нет), чтобы другие люди не мучались, подобно мне и этому несчастному (история без хэппи-энда), который "пробовал А... пробовал Бэ... пробовал Цэ... не помогло".

Прошивки.

Выяснилось (далеко не сразу), что для этого контроллера существует два семейства прошивок, не совместимых между собой.

Одно семейство ужасно, его следует сразу забыть как страшный сон. Настроек мало (например, нет возможности создать массив и не инициализировать диски), интерфейс допотопный. Последние прошивки этого семейства начинаются на цифру 5 (качать здесь).

Другое семейство имеет все нужные для конфигурации массива настройки (включение/отключение и режимы кэша дисков и контроллера и т.п.). Прошивки этого семейства начинаются на цифру 2. Это может ввести в заблуждение. Меня ввело. Я первым делом качнул и поставил прошивку 5-го семейства и ужаснулся произведённому эффекту (непрошитый контроллер изначально имел версию прошивки 2-го семейства).

Это сподвигло на более тщательные поиски, в результате которых была обнаружено, что существует параллельное семейство прошивок для этих контроллеров. Для того, чтобы отличать контроллеры с прошивками разных семейств Intel ввела различные названия для моделей контроллеров. Контроллеры с семейством 2 получили название SRCU31LA (прошивки качать здесь). С семейством 4 и 5 имели прежнее название SRCU31L. Железных различий между этими контроллерами нет, разница только в семействах прошивок. Это обстоятельство служит препятствием в поиске нужных прошивок. Имеющиеся у меня два таких контроллера рапортуют о себе в POST как о SRCU31L без всяких А. Не всякому и не сразу придёт в голову мысль искать драйвера и прошивки на контроллер с другим названием, пусть даже оно отличается на одну букву.

Подробности о различиях в прошивках доступны на этой страничке (найти её тоже было непросто).

Алгоритм прошивки семейства 5

Качаем отсюда утилиту для прошивки (513_FUU_FRU.EXE) и архив с прошивкой (513_raid_fw.exe). Нам нужно две дискетки. На одну ставим какой-нибудь дос (я ставил из Windows 98), сносим всё лишнее (т.е. все файлы кроме io.sys, msdos.sys, command.com) и вываливаем на неё содержимое архива 513_FUU_FRU.EXE. На вторую дискетку вываливаем содержимое архива 513_raid_fw.exe, которое, собственно и является дампом прошивки.

Инструкция рекомендует грузиться в режиме Firmware Update Utility (FUU), но это бесполезно: интеловский драйвер dit.exe не может идентифицировать контроллер (опробовано на платформе Foxconn 915M07-G и Intel SE 7501CW2, а также неизвестной платформе страдальца), генерируя ошибку "No IOP Devices found" с последующей неудачей прошивки "Error 1600 No IOP found".

Поэтому сразу идём путём Recovery. Для этого переставляем на контроллере джампер (он на плате один и переставить его можно тоже только в одно положение, отличное от того, в котором он находится) в Update mode (контроллер перестанет отображать POST) и грузим Firmware Recovery Utility (FRU) с первой дискетки, по её запросу втыкаем другую дискетку с дампом прошивки, соглашаемся со всеми предложениями и прошиваем контроллер версией 5 с чем-то. Никакой индикации прогресса прошивания нет, поэтому просто ждём, перебарывая желание надавить Reset. После успешного завершения прошивки можно вернуться в предыдущее меню. Выключаем питание, джампер возвращаем на место. Всё, дело сделано.

Но, предупреждаю, не вижу решительно никакого смысла в этом семействе прошивок, а минусов полно.

Алгоритм прошивки семейства 2

Качаем отсюда Firmware Recovery Utility (FRU2345c.exe)и архив с дампом прошивки (2meg_fw_05c.exe), разархивируем их на две разных дискеты (самому готовить досовскую дискетку не надо, дос входит в комплект этого фру).

Переставляем на контроллере джампер (он на плате один и переставить его можно тоже только в одно положение, отличное от того, в котором он находится) в Update mode (контроллер перестанет отображать POST).

Грузимся с дискетки-фру, вставляем дискетку с дампом прошивки, соглашаемся с предложениями и прошиваем контроллер последней версией 2-го семейства. Выключаем питание, джампер возвращаем на место. Всё.

Некоторые факты

Эти контроллеры информацию о конфигурации RAID хранят на винтах, поэтому перепрошивка данные не губит. Но, конечно, это не значит, что я несу ответственность за потерю данных после перепрошивки, если у кого-то они потерялись. Чаще сэйвишься -- дольше живёшь.

Прошивки разных семейств несовместимы друг с другом, поэтому для перехода из одного семейства в другое следует данные бэкапить/ресторить.

Для каждого из указанных семейств прошивок свои драйвера, которые не подходят к другому семейству прошивок.

[identity profile] globalizator.livejournal.com 2009-03-27 07:26 am (UTC)(link)
О как.. немаленькую работу проделал!

[identity profile] olegk (from livejournal.com) 2011-05-19 11:53 am (UTC)(link)
Спасибо, весьма помогло :)