Автор: int13H , 28 сентября 2009
Итак, предыстория. Закупил я себе на E-Bay б/ушную Pegatron APX78-BN - это OEM плата для HP, ставится во всяко-разные небольшие их ПК. Мне она была нужна для домашнего файл-сервера... Ну да не в этом суть. Пришла мне плата, собрал на ней систему, доработал напильником кулер... Всё замечательно, стартует, но Athlon 2650e в упор не узнаёт - "unknown CPU", мол. Не проблема, лезем на сайт HP. Через некоторое время выковыриваем для неё новый BIOS версии 5.12 (родной был аж 0.5-чего-то-там). Прошиваем. И - здрасьте-нафик! Интегрированного видео плата больше не видит. Ну да ничего, вслепую набираю команду перепрошивки обратно на сохранённый бэкап BIOS. Перешивается. Перезагрузка, и... И - всё. Плата не стартует. Приехали.

Первая мысль - сбой при прошивке. Выдёргиваю плату, снимаю микросхему с BIOS, втыкаю в программатор, перешиваю бэкап, паяю обратно... Фигушки. Опять не стартуем.

Сдёргиваю микросхему опять, перешиваю BIOS 5.12. Втыкаю внешнее видео. Стартует.

Копаю BIOS'ы - почему так? Обнаруживаю, что видеоBIOS в них для разных устройств - в старом - для 10DE:084B, в новом - для 10DE:0847. Чипсет отличается. Блин. Пробую вытащить видеоBIOS из старого, и запихнуть в новый. Запихивается, но плата после этого не стартует - только пищит.

Вопрос. Как сделать так, чтобы новый BIOS таки увидел нужное видео? Возможно, надо сначала удалить "новый" видеоBIOS, и запихнуть "старый" по тому же адресу (я не удалял, просто подсунул "старый" как ещё один PCI Option ROM)?
Как вариант - как переделать ID чипсета? Там MCP78 стоит.
На худой конец - как заставить работать старый бэкап? У меня их два, снятых ASUS'овским и обычным AMIBCP, причём они отличаются где-то на 20 байт. Утилитами работы с BIOS они великолепно открываются, но при прошивке в BIOS ни с одним из них плата не стартует.

Вводные:
BIOS - стандартный AMI, минимум Хьюлетовких модификаций, 8 Мбит.
Выкинуть плату не предлагать - фиг я что аналогичное найду, нужна именно она.
Желательно - уложиться в наименьшее количество итераций, микруха без панельки (и панельку не поставить), сильно много паек может не пережить.
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Root

16 лет 5 месяцев назад

1) сами виноваты. Не надо было снимать образ прошивальщиком. Тем более, если есть программатор. apple_rom неоднократно на это указывал (для тех, кто будет впоследствии патчить БИОС)
2) а с каких это пор AMIBCP стал уметь считывать БИОС из флэшки? Мне всегда казалось, что это утилита для редактирования БИОСа. Наподобие modbin для Award
3) было бы неплохо выложить 'старый' и 'новый' BIOS'ы (пользуйтесь функцией прикрепления файлов)
4) и ссылки прямые на HP (на мать, на БИОСы)
5) интересно какова трасса пост-кодов в случае 'старого' и 'нового' БИОСов.

Rom

16 лет 5 месяцев назад

http://h10025.www1.hp.com/ewfrf/wc/document?lc=ru&dlc=ru&cc=ru&docname=c01635725

int13H

16 лет 5 месяцев назад

1) Патчить я ничего не собирался - BIOS-то родной... Вроде бы :).
2) Тьфу, блин... Afudos, конечно же.
3) Выложил. Отличия между двумя бэкапами - в конце поста. Новая версия - тоже файлом, её долго вытаскивать из виндового прошивальшика.
4) На описание матери ссылка выше.
5) Боюсь, не посмотрю - PCI там ни одного нет, а для PCI-е POST карты у меня нет.

Comparing files BACKUP.BIN and HPBAK.BIN
000CD078: 18 17
000CD079: 16 15
000CD07A: 18 17
000CD07B: 18 17
000CD07C: 17 18
000CD07D: 18 17
000CD07F: 17 18
000CD080: 18 17
000CD08B: 15 14
000CD08C: 13 14
000CD08D: 13 14
000CD08F: 14 13
000CD094: 34 36
000CD0AC: 17 16
000CD0AD: 17 16
000CD0AE: 17 16
000CD0AF: 15 17
000CD0B1: 16 17
000CD0B2: 15 16
000CD0B3: 16 17
000CD0B4: 17 16
000CD0BD: 16 15
000CD0BE: 15 14
000CD0C0: 14 13
000CD0C1: 13 14
000CD0C2: 14 13

int13H

16 лет 5 месяцев назад

Всё, разобрался. MMTool'ом вытащил из нового BIOS модуль видеоBIOS, и запихнул его обратно с правильными идентификаторами. Завелось, работает.