8 Mbit fwh флешки в руках нет. Есть только 4 Mbit. Можно ли как-нибудь исхитриться затолкать прошивку на то, что есть? Убедиться, что материнка хоть какие-то признаки жизни подает.
Залил старшую половину - материнка отозвалась! Бутблок выполняется. Посткоды бегут. Пауза на 0d с писком - "не нашла vga биос", останавливается на post 41 и обращается к флопику за прошивкой.
8Мбит флешки в пределах видимости нет. Можно ли как-нибудь перепаковать биос в 4 Мбит?
CBROM195.exe V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
******** DSG43169.BIN BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K)14064h(80.10K)DSG43169.BIN
1. XGROUP CODE 0FF60h(63.84K)0ADD5h(43.46K)awardext.rom
2. ACPI table 0473Dh(17.81K)019AEh(6.42K)ACPITBL.BIN
3. YGROUP ROM 0BDF0h(47.48K)05292h(20.64K)awardeyt.rom
4. GROUP ROM[ 0] 05930h(22.30K)02828h(10.04K)_EN_CODE.BIN
5. SETUP0 01C40h(7.06K)00B8Dh(2.89K)_ITEM.BIN
6. PCI ROM[A] 1A400h(105.00K)13BB4h(78.93K)ADDON.ROM\7901B_HR.ROM
7. PCI ROM[B] 0EC00h(59.00K)0916Dh(36.36K)ADDON.ROM\raid562.bin
8. PCI ROM[C] 0CE00h(51.50K)07D72h(31.36K)ADDON.ROM\BA1228L2.LOM
9. PCI ROM[D] 0CE00h(51.50K)07D8Ch(31.39K)ADDON.ROM\BA1230L2.LOM
10. GV3 01A2Dh(6.54K)00B4Ch(2.82K)PPMINIT.ROM
11. OSB LOGO ROM 4B30Ch(300.76K)011BCh(4.43K)LOGO\SMLOGO.BMP
12. OSB BMP ROM 03476h(13.12K)007BBh(1.93K)LOGO\64N8IIP.BMP
13. OSB BMP1 ROM 0345Dh(13.09K)008D3h(2.21K)LOGO\64N8P4P.BMP
14. OSB BMP2 ROM 0345Dh(13.09K)008DCh(2.21K)LOGO\64N8P4HT.BMP
15. OSB BMP3 ROM 04286h(16.63K)00A67h(2.60K)LOGO\64N8P4E.BMP
16. OSB BMP4 ROM 04286h(16.63K)00B61h(2.84K)LOGO\64N8P4HE.BMP
17. OSB BMP5 ROM 0345Dh(13.09K)006AAh(1.67K)LOGO\64N8PDP.BMP
18. OSB BMP6 ROM 0345Dh(13.09K)00932h(2.30K)LOGO\64N8PDE.BMP
19. Flash ROM 0BB2Ch(46.79K)06621h(25.53K)ADDON.ROM\AWDFLASH.EXE
20. RPB ROM 029EAh(10.48K)01F8Fh(7.89K)ADDON.ROM\rpb_c.rom
(SP) NCPUCODE 0E400h(57.00K)0E400h(57.00K)NCPUCODE.BIN
Total compress code space = C9000h(804.00K)
Total compressed code size = 71C33h(455.05K)
Remain compress code space = 573EDh(348.98K)
** Micro Code Information **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID
------------------+--------------------+--------------------+-------------------
PGA478 2E 0F29| PGA478 09 0F65| SLOT1 04 0F64| PGA478 0F 0F62
PGA478 07 0F61| SLOT1 05 0F60| SLOT1 03 0F49| SLOT1 06 0F44
SLOT1 05 0F43| SLOT1 17 0F41| SLOT1 02 0F37| SLOT1 17 0F34
SLOT1 08 0F34| SLOT1 03 0F47| SLOT1 03 0F4A| PGA423 2C 0F25
SLOT1 0C 0F33| SLOT1 0A 0F32| SLOT1 05 0F31| PGA478 12 0F30
pci rom a - adaptec scsi; pci rom c, d - pxe; awdflash - если их выкинуть, то в 512k влезает вроде как.
Попробовл их изъять cbrom'ом, получил посреди биоса сплошной кусок FF, как раз 512k+ размером. Вырезал.
Удивился, обнаружив, что cbrom32v195 извлеченные модули еще и распаковывает.
Результат открывается в modbin'e, на вид корректно. Сохранил, чексумму поправить.
Зашил. Поведение материнки не изменилось. Или я что-то делаю не так, или-или...
Скорее всего проблема возникает в процессе копирования из ПЗУ и распаковки в ОЗУ, т.к. обычно начальный адрес копируемого участка IMHO задается константой в bootblock'е. Т.е. возможно придется искать это место в bootblock'е.
Поскольку я не особо интересовался деталями работы bootblock'а, то могу и ошибаться.
В случае достаточного количества места - переделать с большой долей вероятности можно. Особенно если вышеупомянутые модули сетевух-рэйдов сотоварищи не нужны.
п.с. Не забывайте указывать (прямую) ссылку на BIOS, чтобы проще было другим интересующимся и желающим помочь.
Сначала там какие-то извращения с ESI/ECX, но в конце концов ESI указывает на FFF00000h, т.е. на начало флешки, если я правильно понимаю.
Потом копируем всю 8-мимегабитную флешку в память, начиная с 300000h.
Скопировав, ищем строку '*BBSS*', потом с ориентиром на эту строку начинаем вытаскивать какие-то данные и куда-то их запихивать.
Далее начинаем искать сигнатуру '-lh', затем определяем длину модуля и начинаем считать контрольную сумму.
Ежели КС не сошлась, уходим по последней метке - там потом будет выдан C5, а за ним 01 и дальнейшие коды по восстановлению.
Если КС сошлась, то ползем дальше - это я особо не смотрел.
P.S. Мог где-то и ошибиться с интерпретацией.
IMHO интерфейс FWH должен быть. Как вариант - универсалка LPC/FWH.
8 Mbit fwh флешки в руках нет. Есть только 4 Mbit. Можно ли как-нибудь исхитриться затолкать прошивку на то, что есть? Убедиться, что материнка хоть какие-то признаки жизни подает.
IMHO можно попробовать залить старшую половину и смотреть/слушать, что скажет bootblock.
Залил старшую половину - материнка отозвалась! Бутблок выполняется. Посткоды бегут. Пауза на 0d с писком - "не нашла vga биос", останавливается на post 41 и обращается к флопику за прошивкой.
8Мбит флешки в пределах видимости нет. Можно ли как-нибудь перепаковать биос в 4 Мбит?
IMHO попробовать можно, но перепаковывать придется руками.
pci rom a - adaptec scsi; pci rom c, d - pxe; awdflash - если их выкинуть, то в 512k влезает вроде как.
Попробовл их изъять cbrom'ом, получил посреди биоса сплошной кусок FF, как раз 512k+ размером. Вырезал.
Удивился, обнаружив, что cbrom32v195 извлеченные модули еще и распаковывает.
Результат открывается в modbin'e, на вид корректно. Сохранил, чексумму поправить.
Зашил. Поведение материнки не изменилось. Или я что-то делаю не так, или-или...
Скорее всего проблема возникает в процессе копирования из ПЗУ и распаковки в ОЗУ, т.к. обычно начальный адрес копируемого участка IMHO задается константой в bootblock'е. Т.е. возможно придется искать это место в bootblock'е.
Поскольку я не особо интересовался деталями работы bootblock'а, то могу и ошибаться.
В случае достаточного количества места - переделать с большой долей вероятности можно. Особенно если вышеупомянутые модули сетевух-рэйдов сотоварищи не нужны.
п.с. Не забывайте указывать (прямую) ссылку на BIOS, чтобы проще было другим интересующимся и желающим помочь.
Ссылка на оригинальный биос:
supermicro.com/about/policies/disclaimer.cfm?url=/support/resources/getfil...
Поиском по команде пересылки цепочек нашел такой кусок кода (вызывается после выдачи POST C3):
Сначала там какие-то извращения с ESI/ECX, но в конце концов ESI указывает на FFF00000h, т.е. на начало флешки, если я правильно понимаю.
Потом копируем всю 8-мимегабитную флешку в память, начиная с 300000h.
Скопировав, ищем строку '*BBSS*', потом с ориентиром на эту строку начинаем вытаскивать какие-то данные и куда-то их запихивать.
Далее начинаем искать сигнатуру '-lh', затем определяем длину модуля и начинаем считать контрольную сумму.
Ежели КС не сошлась, уходим по последней метке - там потом будет выдан C5, а за ним 01 и дальнейшие коды по восстановлению.
Если КС сошлась, то ползем дальше - это я особо не смотрел.
P.S. Мог где-то и ошибиться с интерпретацией.
Отправить комментарий