LINUX.ORG.RU

Клонирование прошивки жесткого диска

 , ,


0

3

Есть вот у меня пара sff SAS жестких дисков. Они одного производителя, одной модели, с одним парт-номером, но с разными прошивками. Причем один из них производителем «одобрен» под использование в определенного рода железе.

Как бы мне выдрать прошивку из «одобренного» и пролить в «не одобренный»?

Думал обдурить через sg_write_buffer, подсунув скачанную с сайта производителя официальную прошивку для «одобренных» дисков, оно даже прошилось, но железо с этим винтом работать отказалось.

Посоветуете что-нибудь полезное?

★★

Разобрать, найти rom, найти доки на микросхему rom, записать в rom нужную прошивку программатором скопированную с микросхемы rom. Возможно окирпичивание из-за хранения в rom индивидуальных настроек конкретного hdd.

Часто у hdd есть simple uart. Найти доки на команды загрузчика. Записать через загрузчик прошивку.

panzerito
()
Ответ на: комментарий от panzerito

Да, весело. Может быть, дадите координаты того, кто это делает за деньги?

warl0ck ★★
() автор топика

А что есть одобрен?

Производитель контроллера дозволяет юзать только диск с определённой версией фирмвари? или определённого серийника? Если вы перешили фирмварь (а это не только флэш, это ещё и оверлейные модули на блинах) на подходящую, а контроллер не работает с ними, то там ещё какие-то ограничения в контроллере, и может быть, проще разобраться с ними, влезть в NVM там, или ещё что... Ковыряться в SAS дисках не очень благодатное занятие, может, проще посмотреть в контроллере.

olegkrutov ★★
()
Ответ на: А что есть одобрен? от olegkrutov

Вообще, один диск сертифицирован для СХД, на нем особая наклейка, другой не сертифицирован, наклейки нет. После перепрошивки получил

Vendor:               HP
Product:              EG0300FBDBR
Revision:             HPDA
User Capacity:        300,000,000,000 bytes [300 GB]
Logical block size:   512 bytes
Rotation Rate:        10020 rpm
Form Factor:          2.5 inches
Logical Unit id:      0x5000cca0128c01c8
Serial number:        PMJGZYYB
Device type:          disk
Transport protocol:   SAS (SPL-3)

Vendor:               HP
Product:              EG0300FBDBR
Revision:             HPDA
User Capacity:        300,000,000,000 bytes [300 GB]
Logical block size:   512 bytes
Rotation Rate:        10020 rpm
Form Factor:          2.5 inches
Logical Unit id:      0x5000cca01282f074
Serial number:        PMJA0BJB
Device type:          disk
Transport protocol:   SAS (SPL-3)


Вроде бы одинаковые. Вот как влезть на более низкий уровень и узнать какие там еще отличия, я не знаю. В этом, собственно, и суть.

warl0ck ★★
() автор топика
Ответ на: комментарий от baralgin

Ну, на вид одинаковые (: Но есть один нюанс. Вот его я и пытаюсь вычленить и выловить.

warl0ck ★★
() автор топика

Если диски одной модели, с одним парт-номером, то почему не воспользовался прошивальщиком HP с диска SPP? Зачем было городить огород с sg_write_buffer?

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Штатный прошивальщик не хочет ему скармливать чужую прошивку. А в этом весь смысл процесса.

warl0ck ★★
() автор топика
Ответ на: комментарий от warl0ck

Почему чужую? Диски одной модели, с одним парт-номером - тогда это уже не чужая, а его собственная прошивка, просто более свежей (или ранней) версии.

bigbit ★★★★★
()
Ответ на: комментарий от warl0ck

Так зачем подсовывать-то? Просто скачать «Online ROM Flash Component for Linux» с нужной тебе прошивкой для СХД (MSA? EVA?), и запустить. Если уж он не даст обновить прошивку, то тогда патчить сам прошивальщик - наверняка дело решится патчем нескольких байт в коде.

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)
Ответ на: комментарий от bigbit

Так зачем подсовывать-то?

Потому, что диск с лычкой «eva» стоит в два-три раза дороже. Если что, обновлять прошивку я умею (: Дело это не мудреное. Мне надо подсунуть СХДхе не родной диск. Так-то она их жрать отказывается и при сборке дисковой группы выругивается, мол ансапортед. А диски-то практически одинаковые.

Вот и вопрос, где в прошивке стоит злополучный флаг и как его переписать, чтобы ева считала диск за родной.

warl0ck ★★
() автор топика
Ответ на: комментарий от warl0ck

Потому, что диск с лычкой «eva» стоит в два-три раза дороже.

Знаешь что, Джулиус, у нас в Америке хитрожопых не любят.

anonymous
()
Ответ на: комментарий от anonymous

Я не у вас в Америке, мой маленький анонимный друх.

warl0ck ★★
() автор топика
Ответ на: комментарий от warl0ck

Вот и вопрос, где в прошивке стоит злополучный флаг и как его переписать, чтобы ева считала диск за родной.

Перед дизассемблированием перепрошивальщика я бы попробовал просто поснифить пару раз его общение (для начала только получение инфы о диске) с родным диском, убедиться, что разговор всегда один и тот же. А потом послушать его разговор с неродным. Может, заметишь отличие, которое легко потом будет подменить. Пусть и через написание маленького прокси, который будет один-к-одному передавать данные, если только не встретится поледовательность байт для замены, которую он перед передачей и проведёт.

gag ★★★★★
()
Ответ на: комментарий от warl0ck

Я б советовал обратиться в сторону прошивки стораджа

в части как он отличает сертифицированный диск от другого. Наверняка дьявол в каких-то scsi mode pages диска, которые в общем производитель может менять безотносительно версии прошивки диска. Как минимум хранилка ваша имеет прошивку под x86, если она pci-e, или какой-нибудь ARM, если она автономная, — её проще расковырять и понять, что ей нужно.

olegkrutov ★★
()

В Еве на контроллерах PowerPC, по крайней мере был раньше.
Лично мне было бы проще расковырять прошивальщик «Online ROM Flash Component for Linux» - там вообще крошечный бинарник под Linux. Чисто на глаз - прошивка, которая идет с этим прошивальщиком, дополнительно чем-то пожата, а та, которая в «EVA firmware bundle» несжата.

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)
Ответ на: комментарий от bigbit

Она говорит «unsuported drive» как и при попытке добавить диск в группу.

warl0ck ★★
() автор топика

Прошить еву было бы интересно, но лезть туда - хз, на сколько это растянется. Я почему спросил про диски, что мне достоверно известно, что процедура такая вполне себе делается.

warl0ck ★★
() автор топика
Ответ на: комментарий от warl0ck

Так ведь чтоб понять, что ей надо от диска, нужно смотреть в её прошивку

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

olegkrutov ★★
()
Ответ на: комментарий от warl0ck

Но это прошивки для дисков, не самого устройства

The Bundled Image files contained on this website contain all firmware images for supported devices in the P6000/EVA.

olegkrutov ★★
()
Ответ на: комментарий от warl0ck

Так диск содержит далеко не только то, что в этих файлах прошивок

Там дохрена таблиц (например, заводские дефектлисты и адаптивные настройки — они вообще индивидуальные для каждого устройства) и всяких ID и конфигов, причём бинарных, которые этой самой перепрошивкой не затрагиваются. А в прошивках только исполняемые модули и некоторые конфиги. Вопрос в том, что спрашивает у диска сторедж, на основании чего он говорит, поддерживается диск или нет. Это всё же нужно добывать из самого стореджа. Ну или гуглить на предмет может кто что раскопал.

olegkrutov ★★
()
Ответ на: комментарий от warl0ck

процедура такая вполне себе делается

Это точно.Я поменял в DL винт с HP (правда это был Seagate, т.к. сам HP винтов не делает) на WD. HP дилер предлагал за 17тыс.р с огромной скидкой а WD 3500р. мне обошелся. Почуствуйте разницу. Правда корзинку сам пере собрал и диски SATA а не SAS.

anonymous
()

Да вот, гуглить-то гуглил, да не гуглится. Потому и создал тему. Доподлинно известно, что кто-то раскопал. Но вот делиться на просторах интернета этот кто-то своим опытом не спешит ):

warl0ck ★★
() автор топика
Ответ на: комментарий от panzerito

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

и да, флаг кошерности скорее всего живет в паспорте винта, который лежит на блинах...

NiTr0 ★★★★★
()
17 января 2017 г.
Ответ на: комментарий от gwathedhel

Увы, ничем толковым. Склонировали с помощью pc3000, но СХД все равно принимать диск отказалась.

warl0ck ★★
() автор топика
5 января 2018 г.
Ответ на: комментарий от warl0ck

тоже интересовался такой проблемой

Есть полка от HP EVA -> AG638a, если подключить (без контроллера HSV300) напрямую к FC HBA видим родные(HP) все 12 дисков ... Подарили два Б\У диска от EMC ST3300657FC, в полке сразу горят оранжевым, причем слышно, что стартуют шпиндель, но HBA их не видит. Гугл говорит, что такие диски ставятся на EVA, если отгрепить strings фирмваре-бандлы на диски, видно что эти диски по SN seagate присутствуют в списка ... по всей видимости дело в firmware именно полки не говоря уже о FW контроллера.

anonymous
()

Добрый день, да тема очень интерессная, у нас такая же проблема. Если найдёте умельцев, поделитесь информацией, плз. У нас хорошее количество дисков, по олплате можно договориться.

schahter
()
Ответ на: комментарий от schahter

Вряд ли взлетит: забили и закупили оригинальные.

warl0ck ★★
() автор топика

а контроллер на pci нельзя было поставить

anonymous
()

Вот здесь тебе написали.
Добавлю только, что навряд ли ты отыщешь прошивальщик под линукс.

дадите координаты

По форумам походи.
В соцсетях когда-то были группы, поищи там.
Когда-то занимался этой системщиной, пока программатор не подох. Надо бы собрать заново (благо есть задачи), но мне лень.

Deleted
()
Ответ на: комментарий от NiTr0

флаг кошерности скорее всего живет в паспорте винта

Угу.

Deleted
()
Ответ на: комментарий от Deleted

Да делали это. Возили в acelab ( разрабы платы pc3000). Тащемта, без толку.

warl0ck ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.