Ура, теперь я умею перешивать запоротый BIOS! Спасибо Google за схему программатора для LPT-порта из четырёх резисторов, ВольтМастеру — за резисторы и панельку, которые обошлись мне менее чем 20 рублей.
А дело было так. У сестры «трамвай совсем сломался» (если вы не видели мультик «Буревестник» — настоятельно рекомендую), т.е. системник собранный отцом «из того что было» совсем загнулся. А был там Athlon на Socket AM2, DDR2 память, какая-то PCI-E видюха.
На матери я нашёл вздувшийся кондесатор, но его перепайка не помогла. А покупать просто новую мамаку под существующий процессор не хотелось, вдруг там ещё память пришлось бы менять ещё, и/или видюху.
Решил взять новый комплект проц, мамака и память. Критерии выбора — минимально, но современно и с DVI. В результате взять Celeron G1610, мамку на H61 и комплект 2×4 Gb памяти (меньше брать не вижу смысла, думал вообще взять 2×8 Gb, но решил что это просто избыточно). Да, я знал что процессор у меня из поколения Ivy Bridge, а мамка на чипсете для Sandy Bridge. Но большинство амок на чипсетах серии 6x поддерживают и Ivy Bridge. Однако посомотреть поддержку конкретной мамкой процессоров Ivy Bridge я как-то не догадался.
Пошёл смотреть только тогда, когда система не захотела запускаться. А там написано, что купленный процессор поддерживается только с версии BIOS 2.0, а последняя версия, доступная для скачивания — 1.9. Ладно, подмал я и решить махнуть процессоры со вторым системником, который рядом оказался. Там был Pentium G620 на мамке FoxConn H67S, для который точно вышел BIOS c поддержкой Ivy Bridge. Запускаю под WIndows прошивальщик, запускаю процесс прошивки — вроде как успешно, но после перезагрузки комп больше не запускается.
Зато с G620 новая мамка успешно запустилась, я обновил BIOS (который умеет обновляться при перезагрузки, считывая прошивку с USB-флешки — т.е. не надо даже делать её загрузочной) и эта мамка теперь успешно работает с G1610.
Осталось только реанимировать другой компьютер. У меня было три варианте действий:
1. купить новую мамку;
2. обратиться в ремонт с существующей (платный, т.к. гарантия на ту мамку была всего один год);
3. попытаться починить самому, перепрошив BIOS;
Собственно начал я с третьего варианта, как самого интересного. Кроме того BIOS был на панельке (т.е. микросхему с ним можно легко извлечь из платы, без паяльника). Плюс я нашёл простую схему для прошивки — из четырёх резисторов, пары конденсаторов и источника 3.3 V, подключаемую к LPT. И это сработало! Единственный момент— программа для прошивки требовала 32-х разрядную винду, DOS или Linux.
Linux’а под рукой не оказалось — на мой нуот, после установки SSD я накатил только Windows, т.к. ждал выхода openSUSE 12.3 (да, я знаю, что он уже вышел, но описанные события происходили до 13-го марта).
Загрузился с LiveCD, считал существующию прошивку, запустил прошивку новой версии BIOS. Не заработало. И процесс шёл довольно долго. Нашёл у себя Win XP, запустил считывание — процесс занял минуты, а не часы. Обнаружил ошибку в одном байте. Прошил заново, считал — на этот раз без ошибок всё прошло. Вставил микросхему BIOS в материнку — и, о чудо — она снова работает!
Мои выводы:
1. нужно всё-таки смотреть на поддержку покупаемыми мамками покупаемых процессоров
2. смотреть на сроки гарантии покупаемых мамок
3. мамки нужно брать такие, чтобы микросхему BIOS можно было легко вынуть
4. может мне в embedded податься, раз уж помимо программирования мне нравится ещё и паять.