Какое приложение в обновлении прошивки Dell фактически записывает прошивку на диск?

У меня есть сервер Dell PowerEdge R710, оснащенный накопителями Hitachi HUS156045VLS600 450 Гб SAS.

К сожалению, на дисках установлена ​​прошивка NetApp NA02. Я бы хотел использовать прошивку Dell E770, чтобы приводы работали лучше с контроллером MegaRAID/PERC H700/PERC 6i и остальной частью системы Dell.

Загрузочный пакет Dell linux/rpm SAS-Drive_Firmware_YC07T_LN_E770_A00.BIN - это комбо-сценарий оболочки и двоичный архив. Запуск опции --extract создает каталог со всеми файлами. Сценарий очень сложный и плотный (и за пределами моих навыков декодирования).

Я бы хотел начать загрузку микропрограммного обеспечения вручную, так как сценарий не прошел предварительную проверку, вероятно, при несовпадении предыдущей версии микропрограммного обеспечения, что, как ожидается, является NetApp для Dell.

Какое приложение на самом деле доставляет прошивку на диски или выполняет вызов HAPI?

Какую командную строку следует запустить в извлеченном каталоге, чтобы отправить E770.fwh на диски?

3 ответа

У вас также есть ОС Windows для обновления прошивки? Я только взглянул на инструмент обновления Windows для другой системы Dell, но механизм обновления, похоже, одинаков для всех дисков Hitachi/Toshiba/Seagate. Может быть стоит заменить аппаратный идентификатор 20578 для HUS156045VLS600 с идентификатором оборудования вашего текущего накопителя в E770.fwh и запустить SASDUPIE.exe обновить инструмент вручную.

Hexdump первых 256 байтов двоичного файла прошивкиpayload/E770.fwh

ibm@x250:/mnt/c/Users/ibm/AppData/Local/Temp/cb868bcd-1f9f-476a-a137-6bf2ea998e23$ xxd -l 256 payload/E770.fwh
00000000: 2020 2020 2020 2020 0945 3737 3020 2020          .E770
00000010: 2078 0100 0000 0000 0000 0000 0000 0000   x..............
00000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000030: 0000 0000 0000 0000 0000 0000 0000 0003  ................
00000040: 2020 2032 3035 3737 2020 2020 2020 2020     20577
00000050: 2020 2020 2020 2020 2020 2020 2020 2020
00000060: 2048 5553 3135 3630 3330 564c 5336 3030   HUS156030VLS600
00000070: 2020 2032 3035 3738 2020 2020 2020 2020     20578
00000080: 2020 2020 2020 2020 2020 2020 2020 2020
00000090: 2048 5553 3135 3630 3435 564c 5336 3030   HUS156045VLS600
000000a0: 2020 2032 3035 3739 2020 2020 2020 2020     20579
000000b0: 2020 2020 2020 2020 2020 2020 2020 2020
000000c0: 2048 5553 3135 3630 3630 564c 5336 3030   HUS156060VLS600
000000d0: 0e80 0000 0000 0000 0000 0000 0000 0000  ................
000000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000f0: 4869 7461 6368 6920 476c 6f62 616c 2053  Hitachi Global S

См. Мой ответ в разделе Использование несертифицированных жестких дисков в массиве хранения Dell MD3220.

Поскольку у меня нет доступа к подобному оборудованию, все мои выводы являются мнениями и НЕ должны рассматриваться как рабочие инструкции. Внесение изменений в прошивку аппаратных устройств ВСЕГДА связано с риском блокирования оборудования.

Пакет Linux содержит следующие файлы, которые, скорее всего, актуальны, комментарии отмечены #:

├── framework64
│   ├── duppmdatacollector.bin
│   ├── getSystemId
│   ├── hapi
│   │   ├── funcs
│   │   │   ├── instsvc-uninstall.sh
│   │   │   ├── srvadmin-hapi.sh
│   │   │   └── srvadmin-omilcore.sh
│   │   └── hapi64.tgz
│   └── sputility.bin
├── l64
# sasdupie seems to be the flasher executable, tries to run dupdisneyinstall.sh
# which seems to install hapi64.tgz, but didn't try to run that with sufficient priviledges.
│   ├── sasdupie
# RPM contains some LSI libraries, which will be installed in /opt/lsi/
# these files are NOT the same as in the directory
│   └── srvadmin-storelib-sysfs-7.2.0-4.1.1.el4.x86_64.rpm
# the xml contains the information:
# 4. If this is a BIOS update package, install any necessary Embedded Systems
# Management firmware prior to this BIOS update. Otherwise, go next step.
# could be related to dupdisneyinstall.sh
├── package.xml 
├── payload
# this looks to be the actual drive firmware file
│   └── E770.fwh
# PIEConfig.sh holds information for the firmware, and looks to describe the sasdupie call
├── PIEConfig.sh
# PIEInfo.txt describes required the steps for the installation.
├── PIEInfo.txt

призвание l64/sasdupie выводит справочное сообщение, если не запускается как root там сценарий dupdisneyinstall.sh терпит неудачу с недостаточными привилегиями.

Бег strace -e file l64/sasdupie показывает, что sasdupie пытается загрузить библиотеки, которые не являются частью этого файла прошивки. Скорее всего это часть упомянутого Embedded Systems Management firmware в package.xml,

Таким образом, путь вперед может быть:

  • установить Embedded Systems Management firmware
  • бежать l64/sasdupie как root и посмотреть, если dupdisneyinstall.sh преуспевает
  • если это работает, используйте параметры из PIEConfig.sh выполнить l64/sasdupie

Если ваша система 32-битная, используйте l32 вместо l64,

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

Другие вопросы по тегам