howto: recover failed p5b flash

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

Прошло некоторое время и мне понадобилась живая материнка, чтобы собрать ещё один компьютер, а поскольку жаба сидящая на плече и говорящая, что где-то в инете были способы восстановления убитого биоса – не давала денег, я пошёл гуглить.

Вчера наконец-то я решился сделать это!


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

В интернетах нашлась вот такая схема:
http://www.yourbrainiacs.com/FILES/ReflashBIOS.doc
(на всякий случай я переложил к себе)

С одной стороны у нас Parallel Connector (DB-25) мы включаем его в “хост”, с другой – кастом на 6 пинов (7й – “ключ”). Также необходимо питание 2.8 – 3.6 вольта для микросхемы биоса.

У меня куда-то пропал припой, но зато нашёлся старый принтерный провод и новый USB коннектор. Жестокое насилие над проводами, которые больше не смогут выполнять своё старое предназначение, несколько часов времени с мультиметром и выяснением – какой провод к какому штырьку подходит и я узнал правильную комбинацию для скрутки проводов. В качестве питания я взял обычную “таблетку”, она выдаёт как раз нужные 3 вольта. Провода от батарейки прикрутил в уже существующую скрутку – “-” к скрутке двух проводов (2<->18), “+” – к свободному проводу.

Получилось вот такое чудо:

Загрузил “хост” компьютер загрузочным диском от win98 и запустил прошивалку – она почему-то выдала unknown manufacturer о производителе чипа, попытался прошить – не получилось.
Как оказалось, у USB разъёма оба чёрных провода (земля) соединены, а я их использовал.. Хорошо, хоть ничего не сгорело. Пришлось полностью отсоединять и заново делать скрутку.

Рекомендую следующий рецепт подключения USB проводов к параллельному кабелю:

SPI штыри:
2 4 6
1 3 5 X

USB штыри:

К Б З Ч
К Б З Ч

1 (Красный, свободен)
3 (Белый, к 7 штырю)
5 (Зелёный, к 10 штырю)
7 (Чёрный, не используется)

2 (Красный, к 18 штырю)
4 (Белый, к 8 штырю)
6 (Зелёный, к 9 штырю)
8 (Чёрный, не используется)

Запускаюсь – ура, чип написало правильно SST 25VF080B id=BF258Eh, прошиваю биос (spipgm2 /p bios.rom), включаю жертву – не работает. Ок, запускаю заново прошивку, но в этот раз уже в медленном режиме (spipgm2 /s bios.rom), проходит время, готово. Запускаю жертву – не работает, чешу репу, отключаю кабель прошивки, запускаю ещё раз – о чудо – она ожила! Сколько усилий не пропало напрасно, ура!

Теперь пошаговая инструкция по прошивке:
Жертва, в моём случае, успешно прошилась, когда к ней был подключён блок питания, но сам компьютер не был включён (т.е. просто светится лампочка на матери, но вентиляторы не крутятся).

1. spipgm2 /i (узнаём, что у нас там за чип)
Тут важно увидеть, что чип обнаружился правильно и его id != 0xFFFFFF, иначе либо жертва включена, либо что-то с кабелем

2. spipgm2 /u (разблокируем чип)
3. spipgm2 /e (удаляем старую прошивку – это обязательно надо сделать)
4. spipgm2 /s bios.rom (пишем новую прошивку под названием bios.rom)

5. spipgm2 /d dump.rom (optional, считываем биос с жертвы, чтобы проверить)
6.1 Желательно иметь программку для сравнения бинарных файлов, я нагуглил cmp16.exe
6.2 cmp16 /r bios.rom dump.rom

Убеждаемся в том, что биосы идентичны, отключаем кабель, включаем жертву и радуемся! 🙂

Уточню – я не включал никакие сопротивления и конденсаторы в схему, о которых писали на англоязычных сайтах – всё отлично прошивалось и без них. Также отлично работала просто скрутка из проводов, без шлейфа и пайки (хотя провод я пропаяю и нормально заизолирую).

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

Similar Posts

  • Luabind bugs and fixes

    Сегодня утром на меня возложилась задача перевести проект на рельсы нового буста 1.33. Это не было бы большой проблемой, если бы не луабинд, который с ним не дружит. Во всяком случае версия, лежащая на их сайте, пришлось выкачать из CVS последнюю ревизию и скомпилировать у себя. С этим проблем не было. Проблемы начались, когда я…

  • Отдых

    Съездил я тут на длинные выходные к бабушке. Харашо-то как Машенька…(с) Свежий воздух, никакого тебе шума, старые друзья-приятели – Идиллия прям. Аж уезжать не хотелось. Вообще, надо стараться как можно чаще, и желательно подольше, всё-таки вырваться из города, так как и отдыхаешь, и понимаешь, насколько город тебя зазомбировал и забетонировал 🙂 Вернулся, а тут ждёт…

  • Баттлфилд 2

    Игра жжот. Она жжот сильнее чем цивилизация 🙂 Я подсел на нее как на какой-то наркотик – я спешу поскорее попасть домой, чтобы побегать с толпой на сервере, повоевать в составе отделения и пользуясь голосовыми переговорами. Это сила 🙂 Интересная штука эта игра – наглядно показывает, что ходить надо толпой – если ты убежал куда-то…

  • Kyiv, apr 10, 19:00 SCORPIONS

    Вчера к нам приезжали Scorpions. Зажгли старички очень почотно, до сих пор уши не отошли полностью 🙂 Песни пели всякие разные – из новых альбомов, из старых, барабанщик снова отличился своим соляком. Очень громко и сильно стучал, прыгал по барабанам, бил в гонг, который висел сзади и потом разбил об голову бутылку – классное шоу!…

  • Цивилизация, как мировое зло

    Пришел с работы в прекрасном расположении духа, посидел, поговорил с родителями, а после этого сделал огромную ошибку – сел поиграть часок в цивилизацию. Еле закончил в половине четвертого, при помощи невероятного усилия силы воли. Лег спать, а с утра (в 11 часов), как только проснулся, сразу сел опять играть, такое ощущение, будто я какой-то наркоман,…