Прошивка bios через lpt

Обновлено: 07.07.2024

Давно уже достал вопрос:
-"А как я прошью BIOS,если на экране ничего нет?".
Ответ:
-"На програматоре."
И сделать его очень легко.Поэтому я и решил создать данную тему.Тут особо объяснять нечего,я например собрал данный програматор специально для данной темы,Вы можете его видеть на фото 1.Всё нашлось дома и на него не было потрачено ни копейки.

Собственно понадобилось:
LPT шнур.
Четыре резистора по 100 Ом.
Один конденсатор 1uF.
Кроватка для батарейки.
Я ещё сделал клипсу для SOIC-8,но это я уже заморочился. сделана из обычного PCI порта снятого с не рабочей материнской платы,
шаг там как раз совпадает с шагом флешки BIOS.

В моём LPT шнуре провода были припаяны не так как мне надо,поэтому я перепаял их в соответствии с распиновкой указанной на рисунке 1,далее я припаял четыре резистора по 100 Ом на соответствующих проводах и поставил конденсатор между землёй и питанием с батарейки.Я завёл всё это дело в своеобразный кожух как видно первом фото,но Вы можете не заморичиваться.Ну и припаял провода к клипсе SOIC-8,в соответствии с распиновкой флешки BIOS.

Так же я сделал вариант этого же програматора с питанием от USB,Вы можете это видеть на фото 2.Как известно питание на USB +5V,но нам надо +3.3V,как быть?Опять же всё просто,за счёт резистивного делителя получаем нужное напряжение,на рисунке 2 я нарисовал USB разъём и его подключение к схеме.На питание +5V ставим резистор на 6.8 кОм,на землю ставим резистор 15 кОм,вторые выводы резисторов соединяем между собой и получаем между ними деление напряжения,у меня правда 3.4V получилось,но это вполне нормально для корректной работы.Так же важный момент заключается в том чтобы обязательно подключить землю от USB к земле в схеме как указано на рисунке 2.

Так получился полностью рабочий програматор который прошивает подавляющее большинство флешек BIOS.
В итоге если схема собрана полностью правильно,то он работает сразу.
Остаётся припаять флешку BIOS в соответствии с распиновкой и можно запускать прошивальщик SPIPGM.
Не знаю у кого как,многие говорят,что под WINDOWS не шьёт,не работает,но на деле у меня всё работает и под XP и под семёркой.

САМЫЙ ВАЖНЫЙ МОМЕНТ!
ДЛИНА ПРОВОДОВ НЕ ДОЛЖНА ПРЕВЫШАТЬ 5-6 СМ!

Как что делать:
Распаковываем прикреплённый архив в C:\Documents and Settings\(Ваша учётная запись)в моём случае KOL.
C:\Documents and Settings\KOL
Заходим в диспетчер устройств,вызываем свойства LPT порта,там есть вкладка"Параметры порта",переходим в неё и там выбираем "Использовать
любое прерывание,назначенное порту"->Ok.
Подключаем програматор к LPT порту,вызываем командную строку(Пуск->Выполнить->cmd->ENTER)откроется командная строка,
***Заметка***
Новая прошивка закидывается туда же где лежит программа прошивальщик.
***
далее набираем команды:
spipgmw /i,жмём Enter,флешка определилась.
spipgmw /u,жмём Enter,флешка разблокировалась.
spipgmw /d oldbios.bin,жмём Enter,сохранение старого дампа.
spipgmw /е,жмём Enter,флешка стирается.
spipgmw /p newbios.bin,жмём Enter,запись на флешку рабочего дампа(прошивки).
Далее на скриншотах можете видеть эти команды в действии.

AMIC:
A25L05PU/PT (64kB)
A25L10PU/PT (128kB)
A25L20PU/PT (256kB)
A25L40PU/PT (512kB)
A25L80PU/PT (1MB)
A25L16PU/PT (2MB)
A25L32PU/PT (4MB)
A25L64PU/PT (8MB)
A25L512 (64kB)
A25L010 (128kB)
A25L020 (256kB)
A25L040 (512kB)
A25L080 (1MB) - tested OK

Atmel:
AT25F512B (64kB)
AT25F1024A (128kB) - this chip may be supported but a tester is needed
AT25DF021 (256kB)
AT26DF041 (512kB)
AT25DF041A (512kB)
AT26F004 (512kB) - tested OK
AT26DF081 (1MB)
AT25/26DF081A (1MB)
AT25DF081 (1MB)
AT26DF161 (1MB)
AT26DF161A (2MB)
AT25DF161 (2MB)
AT25DQ161 (2MB)
AT25/26DF321 (4MB)
AT25DF321A (4MB)
AT25DQ321A (4MB)
AT25DF641(A) (8MB)

EON:
EN25B10 (128kB)
EN25B20 (256kB)
EN25B40(T) (512kB)
EN25B80 (1MB)
EN25B16 (2MB)
EN25P32 (4MB)
EN25P64 (8MB)
EN25P128 (16MB)
EN25Q40 (512kB)
EN25Q80 (1MB)
EN25Q16 (2MB)
EN25Q32 (4MB)
EN25Q64 (8MB)
EN25Q128 (16MB)
EN25F10 (128kB)
EN25F20 (256kB)
EN25F40 (512kB)
EN25F80 (1MB) - tested OK
EN25F16 (2MB)
EN25F32 (4MB)
EN25F64 (8MB)
EN25F128 (16MB)
EN25T10 (128kB)
EN25T20 (256kB)
EN25T40 (512kB)
EN25T80 (1MB)
EN25T16 (2MB)
EN25T32 (4MB)
EN25T64 (8MB)
EN25QH16 (2MB)
EN25QH32 (4MB) - tested OK
EN25QH64 (8MB)
EN25QH128 (16MB)
EN25QH256 (32MB)

ESMT:
F25L004A (512kB) - tested OK
F25L008A/08PA (1MB)
F25L016A/16PA (2MB)
F25L32PA (4MB)
F25L64PA (8MB)
F25S04PA (512kB)
F25L08PA (1MB)
F25L16QA (2MB)
F25L32QA (4MB)
F25L64QA (8MB)

GigaDevice:
GD25Q512 (64kB)
GD25Q10 (128kB)
GD25Q20 (256kB)
GD25Q40 (512kB)
GD25Q80 (1MB)
GD25Q16 (2MB) - tested OK
GD25Q32 (4MB) - tested OK
GD25Q64 (8MB)

Macronix:
MX25L512E/25V512 (64kB)
MX25L5121E (64kB)
MX25U5121E (64kB)
MX25L1005/1006/1025/1026E/25V1006E (128kB) - tested OK
MX25L1021E (128kB)
MX25U1001E (128kB)
MX25L2005/2006/2025/2026E/25V2006 (256kB)
MX25U2033E (256kB)
MX25L4005/4006/4025/4026/25V4005/4006E (512kB)
MX25U4033/4035/25V4033/4035 (512kB)
MX25L8005/8006/8008/8035/8036/8073/8075E (1MB) - tested OK
MX25U8033/8035E (1MB)
MX25V8035 (1MB)
MX25L1605/1606/1608E (2MB) - tested OK
MX25L1633/1635/1636/1673/1675E (2MB)
MX25L1635/1636E (2MB)
MX25U1635 (2MB)
MX25L3205/3206/3208/3233/3235/3273/3275E (4MB)
MX25U3235/25L3239E (4MB)
MX25L3225/3236/3237D (4MB)
MX25L6405/6406/6408/6435/6436/6445/6465/6473/6475E (8MB) - tested OK
MX25U6435/25L6439E (8MB) - tested OK
MX25L12835/12836/12839/12845/12865/12873/12875F (16MB) - tested OK
MX25U12835F (16MB)
MX25L25635/25639/25735/25835E (32MB)
MX25U25635F (32MB)
MX66L51235F/51245G (64MB)
MX66U51235F (64MB)
MX66L1G45G (128MB)

PMC:
Pm25LD512 (64kB) - tested OK
Pm25LD010 (128kB) - tested OK
Pm25LD020 (256kB)
Pm25LV512(A) (64kB) - tested OK
Pm25LV010(AB) (128kB) - tested OK
Pm25LV020 (256kB)
Pm25LV040 (512kB) - tested OK
Pm25LV080B (1MB)
Pm25LV016B (2MB)
Pm25LV032B (4MB)
Pm25LV064B (8MB)
*Pm25LQ032C (4MB)

Spansion:
S25FL001A (128kB)
S25FL002A (256kB)
S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A/P (4MB) - tested OK
S25FL064A/P (8MB)
S25FL128P/S/129P/S (16MB) - tested OK
S25FL256S (32MB)
S25FL512S (64MB)
S25FL01GS (128MB)

ST Microelectronic/Numonyx:
M25P05 (64kB)
M25P10 (128kB)
M25P10AV (128kB) - tested OK
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB) - tested OK
M25P64 (8MB)
M25P128 (16MB)
M45PE10 (128kB)
M45PE20 (256kB)
M45PE40 (512kB)
M45PE80 (1MB)
M45PE16 (2MB)
M25PX80 (1MB)
M25PX16 (2MB)
M25PX32 (4MB)
M25PX64 (8MB)
N25Q032A13E (4MB)
N25Q032A11E (4MB)
N25Q064A13E (8MB)
N25Q064A11E (8MB)
N25Q128A13E (16MB)
N25Q128A11E (16MB)
N25Q256A13E (32MB)
N25Q256A11E (32MB)
N25Q512A13G (64MB)
N25Q512A11G (64MB)
N25Q00AA13GB (128MB)

Winbond:
W25Q10B (128kB)
W25Q20BV (256kB)
W25Q40BV (512kB)
W25Q80BV (1MB) - tested OK
W25Q16BV (2MB) - tested OK
W25Q32BV (4MB) - tested OK
W25Q64BV/FV (8MB) - tested OK
W25Q128BV/FV (16MB)
W25Q256FV (32MB)
W25Q16FW 1,8V (2MB)
W25Q32FW 1,8V (4MB)
W25Q64FW 1,8V (8MB)
W25Q128FW 1,8V (16MB)
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB) - tested OK
W25X16 (2MB)
W25X32 (4MB) - tested OK
W25X64 (8MB)

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

Не без моего вмешательства подох биос в ноутбуке, сервис озвучил цену в 400 грн, я мягко говоря прихуел, и решил попробовать все сделать сам, микросхемку выпаять оказалось несложно, хотя она размерами 5 на 5 мм и с 8 ножкаме, поддеваем ножку швейной иглой, тыкаем паяльником и давим на иглу в направлении от микросхемы наружу, главное сильно не греть, и не давить, а то или ногу микросхеме оторвете или дорожку на плате. И вообще луче это делать паяльной станцией. Отпаять микросхему не перегрев это только треть дела. В общем отпаял я ее от платы, сунул в спичечный коробок, и потащил на работу, а по дороге заехал на радиорынок и купил запчастей, надо 4 резистора на 150 ом, один конденсатор на 1 мкФ, разъем типа папа для LPT порта, по умному он называется DB-25, еще можно купить батарейку на 3 вольта, а можно взять 3,3 вольта из компа.

Для проводков я разрезал кусок старого IDE шлейфа, у него как раз подходящий шаг, снимаем немного изоляции, буквально 3-4 мм, залуживаем, и остается только совместить микросхему и провод и слегка поработать паяльником. Паяйте осторожно везде пишут что флешки от перегрева дохнут.

image

ДЛя батарейки нашлась кроватка от старой матери, удобно же. Резисторы и кондер я припаял прямо к разъему.

image

image

Сперва я неправильно подпаял питание, и программа не хотела определять флешку, не хотела разблокировать защиту от записи и писать, потом когда я припаял все как надо, флешка прошилась с первого раза.

Важно. После прошивки, считайте ее обратно и сравните с исходным файлом который вы прошивали, если есть несовпадения то либо вы что-то не так спаяли, либо проводки слишком длинные. И еще иногда нужно подпаять минус не только к ножке разъема а и к его корпусу.

В статье ссылка на программу не работает уже, сайт переехал на другой адрес, вот правильная ссылка на прошивальщик флешек spi через LPT , так же не забывайте в биосе настроить работу LPT порта в двустороннем режиме epp+ecp.

На все про все, неспешно у меня ушло почти пол дня, теперь осталось главное, запаять биос обратно в ноут, надеюсь все получится и ноут оживет.

Шьем биос spi простейшим lpt программатором : 7 комментариев

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

Прихуел, конечно. Я ж озвучилвал что надо сделать выпаять и запрограммировать флешку и потом запаять обратно, 400 грн это как бы дохуя, то есть не надо разбирать ноут (100 грн за это берут обычно), не надо искать неисправность и т.п.

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

Статья очень даже неплохая и сделал сам это похвально,но чтобы выпаять ноут нужно разобрать,(если сам разберешь и принесешь можно и 100 грн),а это тоже затраты времени,учитывая сколько ноутов накидают клиенты,я себя роботом не чувствую,мне нужно за что то свет и мастерскую обеспечивать,а если дома сидеть и времени куча то я не спорю можно и за 200 грн по желанию) То что описано в статье я считаю добротной работой и платить тоже нужно нормально + стоимость ноута далеко не 500 грн,чтобы говорить дорого. ИМХО

ди, а где ты такие пластины надыбал? как ты сдавливаешь плату? с какой силой болты затягиваешь? и из чего эти пластини сделаны?

Молоток ! Мне понравилось и пригодилось. Хоть и неэстетично, зато дёшево, надёжно и практично.

Восстанавливаем BIOS на программаторе после неудачного обновления

Любительский

Аватар пользователя

Написать данный разжеванный материал меня сподвиг собственный недавний опыт, а так же довольно скудная и размазанная по интернетам инфа по необходимому вопросу

Существует 3 основных способа восстановления запоротого BIOS

1. Восстановление программными средствами самой мат.платы.

Современные модели материнок (у Гигабайта последние 3 года на мейнстримовых и топовых точно) на плате распаяно сразу 2 микросхемы BIOS, в случае неудачного обновления BIOS загрузится с резервной микрухи, а позже зальет копию в поврежденный. У некоторых моделей нет возможность восстановления поврежденного BIOS и в случае смерти первого просто начинает работать второй за место него, соответственно после смерти второго мать уже не запустится

Еще есть возможность восстановления из bootblock'а, но работает если BIOS умер не окончательно и бутблок все еще жив и попытке запустить систему он обнаруживает кривую сумму биоса. В таком случае он пытается считать BIOS с HDD, или флоппа. Некоторые платы (у Гигабатов такая фича встречается) пишут дубль BIOS на HDD, который к ним подключают самым первым, соответственно для восстановления этот диск можно подключить. Для восстановления с флоппа достаточно записать прошивку с правильным названием на дискету, она будет обнаружена и восстановлена. Жизнеспособность бутблока можно определить по сигналам (световым и звуковым) с подключенного флоповода, если флоп подает признаки жизни, значит мы легко отделались

2. Восстановление методом горячей замены иди hotswap. Работает только на мамках, где BIOS не впаян, а сидит в сокете и его можно подцепить. Т.е. надо найти другую рабочую плату с подобным BIOS, т.е. чтобы кровать была такая же и желательно чипы были общего или одного из аналогичных семейств, тогда процедура точно прокатит. На плате с живым BIOS заранее делаются удобства для вырывания чипа с кровати - нитки, изолированная проволока и т.п. если нет специальных щипцов, плата включается заходим в DOS (или фирмовую утилиту платы) для обновления BIOS, вырываем BIOS, вставляем мертвый и зашиваем BIOS, если появляются предупреждения о несовпадении контрольных сумм, то их игнорим, т.к. бояться нечего - родной BIOS лежит отдельно. Затем система отключается, в каждую плату возвращаем свою микросхему и проверяем работоспособность. Данный метод разве что не прокатит, если микросхемы впаяны в платы, горячая замена не получится, можно конечно рискнуть и отпаять BIOS на работающей плате - но это очень рискованно - можно остаться с 2мя уже окончательно мертвыми платами, причем дохлая уже будет электроника, а не программная часть

3. Восстановление на программаторе. Этот способ универсальный, т.е. прошить можно любую микросхему в любом типе корпуса. Если микруха припаяна к плате, то снимаем ее и напаиваем на плату программатора или используем специальные панельки. Безусловно на одном программаторе можно прошить ограниченное число микросхем, но это обычно касается простых программаторов, более "взрослые" являются действительно универсальными, но стоят они уже не 5 копеек и приобретаются в основном для потокового ремонта, а не домашнего использования с целью восстановления пары плат. Тем не менее данный способ универсальный, он полностью заменяет и расширяет первые 2 способа, а когда они не работают, то это единственный выход. Способ горячей замены это даже искусственный метод, который был обнаружен опытным путем благодаря унификации производителями элементов плат. Об одном из простых "домашних" программаторах я и хочу рассказать.

Суть процесса

На мою удачу микросхемой BIOS была MX25L4005APC-12G - 4 мегабитная микруха в DIP корпусе. Т.е. ее даже отпаивать не пришлось. BIOS версии 1.0 лежал на сайте производителя отдельным файлом как раз на 512kb (4Mbit/8=512Kb), т.е. задача до банальности проста - сваять программатор, поставить на него микруху и зашить! К чему я и решил приступить


Данная микросхема SPI типа, что позволяет прошить ее элементарным программатором через LPT порт. В нете был найден соответствующий программатор сразу с ПО для его использования, называется он SPIpgm, т.е. SPI Programmator, скачать можно здесь. Элементарнейшая схема из 4х резисторов, конденсатора и сокета на 8 пин по желанию. Ограничением его является собственно ограниченный список поддерживаемых микросхем - они должны быть 8pin и быть SPI типа

Программатор поддерживает очень много микрух, вот что заявлено для последней на момент написания материала версии 2.1:

AMIC

A25L05PU/PT (64kB), A25L10PU/PT (128kB), A25L20PU/PT (256kB), A25L40PU/PT (512kB), A25L80PU/PT (1MB), A25L16PU/PT (2MB), A25L32PU/PT (4MB), A25L64PU/PT (8MB), A25L512 (64kB), A25L010 (128kB), A25L020 (256kB), A25L040 (512kB), A25L080 (1MB)

Atmel

AT25F512B (64kB), AT25DF021 (256kB), AT26DF041 (512kB), AT25DF041A (512kB), AT26F004 (512kB), AT26DF081 (1MB), AT25/26DF081A (1MB), AT25DF081 (1MB), AT26DF161 (1MB), AT26DF161A (2MB), AT25DF161 (2MB), AT25DQ161 (2MB), AT25/26DF321 (4MB), AT25DF321A (4MB), AT25DQ321A (4MB), AT25DF641(A) (8MB)

EON

EN25B10 (128kB), EN25B20 (256kB), EN25B40(T) (512kB), EN25B80 (1MB), EN25B16 (2MB), EN25P32 (4MB), EN25P64 (8MB), EN25P128 (16MB), EN25F10 (128kB), EN25F20 (256kB), EN25F40 (512kB), EN25F80 (1MB), EN25F16 (2MB), EN25F32 (4MB), EN25F64 (8MB), EN25F128 (16MB)

ESMT

F25L004A (512kB), F25L008A/08PA (1MB), F25L016A/16PA (2MB), F25L32PA (4MB), F25L64PA (8MB), F25S04PA (512kB), F25L08PA (1MB), F25L016QA (2MB), F25L32QA (4MB), F25L64QA (8MB)

GigaDevice

GD25Q512 (64kB), GD25Q10 (128kB), GD25Q20 (256kB), GD25Q40 (512kB), GD25Q80 (1MB), GD25Q16 (2MB), GD25Q32 (4MB), GD25Q64 (8MB)

Intel

QB25F016S33B8 (2MB), QB25F032S33B8 (4MB), QB25F064S33B8 (8MB)

Macronix

MX25L512E (64kB), MX25L1005/1006E (128kB), MX25L2005/2006E (256kB), MX25L4005/4006E (512kB), MX25L8005/8006E (1MB), MX25L1605/1606E (2MB), MX25L3205/3206E (4MB), MX25L6405/6406E (8MB), MX25L12835E/12836E (16MB), MX25L25635E/25735E/25835E (32MB)

PMC

Pm25LV512(A) (64kB), Pm25LV010(AB) (128kB), Pm25LV020 (256kB), Pm25LV040 (512kB), Pm25LV080B (1MB), Pm25LV016B (2MB), Pm25LV032B (4MB), Pm25LV064B (8MB)

Spansion

S25FL004A (512kB), S25FL008A (1MB), S25FL016A (2MB), S25FL032A (4MB), S25FL064A (8MB), S25FL128P/129P (16MB), S25FL256S (32MB), S25FL512S (64MB), S25FL01GS (128MB)

ST Microelectronic/Numonyx

M25P05 (64kB), M25P10 (128kB), M25P10AV (128kB), M25P20 (256kB), M25P40 (512kB), M25P80 (1MB), M25P16 (2MB), M25P32 (4MB), M25P64 (8MB), M25P128 (16MB), M45PE10 (128kB), M45PE20 (256kB), M45PE40 (512kB), M45PE80 (1MB), M45PE16 (2MB), M25PX80 (1MB), M25PX16 (2MB), M25PX32 (4MB), M25PX64 (8MB), N25Q032A13E (4MB), N25Q032A11E (4MB), N25Q064A13E (8MB), N25Q064A11E (8MB), N25Q128A13E (16MB), N25Q128A11E (16MB), N25Q256A13E (32MB), N25Q256A11E (32MB), N25Q512A13G (64MB), N25Q512A11G (64MB), N25Q00AA13GB (128MB)

SST

Winbond

W25Q10B (128kB), W25Q20BV (256kB), W25Q40BV (512kB), W25Q80BV (1MB), W25Q16BV (2MB), W25Q32BV (4MB), W25Q64BV (8MB), W25Q128BV (16MB), W25Q256FV (32MB), W25X10 (128kB), W25X20 (256kB), W25X40 (512kB), W25X80 (1MB), W25X16 (2MB), W25X32 (4MB), W25X64 (8MB)

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

Аппаратная часть

В моем случае нужная мне память оказалась в этом списке и я приступил к изготовлению прогера. Устройство очень простое (по схеме видно) и многие не заморачиваются в таких случаях с травлением платы, а собирают навесным монтажом "на коленке", т.к. программатор понадобится от силы пару раз. Я тоже не стал заморачиваться и сделал навесным. В итоге у меня не заработало) Хотя вроде бы ни где не ошибся, возможно капризничало из-за длины проводов или их сечения

Во второй раз уже решил "чтобы наверняка" запилить себе нормально, т.е. развел плату в SprintLayot 5.1 и сделал по технологии ЛУТ. Лудил сплавом Розэ. Последнее время мне нравиться его использовать, т.к. получается довольно быстро, просто и лужение происходит равномерным тонким слоем - высверленные отверстия не закрываются. Еще давно в посудном магазине по уценке купил за 30р эмалированную миску - удачное приобретение для таких дел) Наливаю в нее на половину воды, довожу до кипения, добавляю 1-2 ложки лимонной кислоты (работает как флюс и повышает температуру кипения, затем опускаю плату и 1-2 кусочка сплава. "Управляю" процессом 2мя палочками от мороженного, обёрнутыми с одной из сторон в ткань для растирания сплава по плате и удержания платы. После окончания процесса остатки сплава можно вынуть для последующего использования. Стоит сплав копейки (около 150р вроде), а хватает его при подобных затратах на годы). В общем это было такое лирическое отступление, теперь непосредственно скрин разведенной платы. Саму разводку платы в формате *.lay можно скачать здесь


Плату зеркалить не нужно, она уже "правильно" нарисована. Я когда делаю разводку, то представлю текстолит как бы прозрачным - так намного проще, по крайней мере мне

Необходимые ингредиенты:

- Резисторы 150 ом 0,125Вт x 4шт

- Емкостный конденсатор 1mF 16-63v x 1шт

- Сокет 8pin 7,62мм x 1шт или специальные зажимные панели под SMD чипы, в общем в зависимости от пациента

- Немного проводов, я использовал провода примерно 24AWG длинной 12см

- Макетная плата или текстолит и все необходимые принадлежности для его вытравки и лужения

- Штырьковые разъемы x 5шт

1. Мало контактов, всего 5шт, для того, чтобы тратить 20р на этот разъем и ставить его на такую крохотную плату. Намного проще вывести эти 5 контактов и воткнуть их в сам разъем

2. На современных платах уже не ставят полноценный LPT разъем, производители выводят штырьки на плате, к которому можно подключить внешний/внутренний адаптер и получить тем самым DM25-F, т.е. LPT. Таким образом сделав полноценный программатор на борту с DB25-M нам придется делать соответствующий разъем для платы или покупать адаптер отдельно, как советуют производители плат. У меня конечно есть такой адаптер ↓↓↓ , я его не покупал, делал сам из шлейфа под флопп и разъема DB25-F снятого со старого кабеля от принтера. Но тем не менее я не стал городить на программатор данный разъем просто потому что у меня его не было под рукой и еще по причинам п.1


Самодельный адаптер LPT для современных плат. IDE разъем флоппа отлично подходит под пинауты плат, вставил кусок зубочистки как ограничитель, чтобы наверняка не промахнуться

В итоге у нас должно получиться примерно следующее устройство:




Для питания программатора необходимо постоянное питание 3.3v, а так же внешняя масса. Я использую для этих целей внешний полноценный БП Gembird 400Вт. Он у меня вроде лабораторного БП, живую конфигурацию ему я бы не доверил в силу его качества) Достался он мне от одного хорошего человека - данный БП видимо не имеет достаточно реальной мощности и прежнему владельцу его не хватало, система работала очень не стабильно. Мне же этого бедняги для подобный вещей вполне достаточно)

У БП на разъеме 24пин замкнут зеленый провод на землю, что дает возможность его запускать в холостой ход, из этого же разъема я и беру 3.3v (оранжевый провод) и массу (черный) для программатора

Можно еще как вариант использовать батарейку BIOS она как раз на 3.3v, а землю (массу) взять с самого корпуса работающего БП

Еще один вариант - поставить какой-нибудь стабилизатор на 3.3v, например LM1117, на крайние контакты подаем 5v с USB и массу (точную распиновку не помню, данный стаб я использовал в другой своей статье про коннектор привода для X'360), из центрального у нас будет 3.3v. Nаким способом получаем питание с самого СБ, на котором прошиваем - можно подключить разъем USB или вывести 2 штырька для подключения опять же к контактам USB На самой плате предварительно посмотрев распиновку

Программная часть

После изготовления устройства можно приступить к тому, ради чего все это затевалось - к прошивке

Текущая версия SPIpgm 2.1 поддерживает все семейство настольных ОС Windows, linux и еще DOS. Я очень сомневался, что на Win7/Vista все заработает, уж очень прихотливы LPT программаторы к этой ОСи. тем не менее все совпало с заявлением разработчика. не забываем, что UAC необходимо отключить (у меня отключен и так "по умолчанию"). Выключаем полностью ПК, подключаем программатор, включаем и используем командную строку. С помощью оператора cd переходим в нужную директорию, где находится программатор. Т.к. мы находимся в среде Windows, то использовать надо spipgmw, spipgm используется в DOS и Win9x, однако spipgmw можно тоже использовать в Win9x. По скрину ниже видно, что проблем нет, программатор и софт прекрасно работают в современной среде, что встречается крайне редко в подобных задачах


Однако отмечу, что я шил в DOS, мне так привычнее) Чем проще ОС, тем она надежнее. Но я не агитирую переходить на нее полностью) Просто для таких вот делишек использовать DOS мне как-то интеерснее. По опыту работы с другими самопальными программаторами могу сказать, что в WinXP этот программатор без сомнения будет работать

Если же программатор не сможет опознать микросхему (смотрим скрин ниже), то она либо мертва, либо программатор собран не верно или не поступает питание, нет массы. Более вероятен второй вариант


Вот что ответит командная строка, если программатор собран не верно. Чип не опознается, т.е. неудача

Мутим DOS или "я не ищу легких путей"

DOS запилить себе не так сложно. Можно банально сделать загрузочную дискету средствами самой ОС Windows через форматирование дискеты и положить туда папку с программатором и новой прошивкой, загрузившись после BIOS (на рабочем ПК) в консоль используем программатор

Второй вариант - сделать DOS на диске или воспользоваться уже готовым образом DOS 6.22. Вот только сам программатор надо будет записать на отдельную флешку, т.к. если мы будем снимать дамп, то на диск он записаться не сможет, хотя если чтение не требуется, можно закатать прямо на диск с образом DOS

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

Я еще могу порекомендовать воспользоваться проектом MultiBoot - мультизагрузочная флешка. В конце мы получаем очень функциональный инструмент на все случаи жизни, мощный такой реаниматор. DOS там тоже есть с поддержкой NTFS, длинных имен и прочего. Инструкция по созданию там присутствует, все очень удобно и легально

Будем считать, что DOS мы запустили (владельцам Linux это не нужно, для них есть SPIPGM файл без разширения) Заходим в командную строку, переходим в папку программатора. Чтобы узнать основные команды выполняем просто spipgm


В DOS все опозналось тоже без проблем

Основные программы, которые нам понадобятся:

spipgm /i - идентификация микросхемы в программаторе. Если программатор сделан и подключен верно, то микросхема (если она в списке выше) опознается и соответственно с ней можно будет дальше работать

spipgm /d dump.rom - чтение содержимого микросхемы в файл dump.rom

spipgm /e - полное стирание содержимого микросхемы, рекомендуется сделать перед записью

spipgm /p new.rom - прошивка, запись в микросхему данных из файла new.rom - целого и правильного файла прошивки для конкретной материнский платы, можно взять с сайта производителя или снять с другой микросхемы аналогичной платы

spipgm /u - анлок, т.е. разблокировка микросхемы для записи, если такая защита имеется

Итого для совершения задуманного с целью восстановления BIOS нам необходимо выполнить последовательность команд:

1. spipgm /i - идентифицируемся

2. spipgm /u - разблокируемся

3. spipgm /e - стираем микросхему с кривым содержимым

4. spipgm /p new.rom - зашиваем правильную прошивку

! Обращаю внимание, что если мы все делаем в среде Windows, то вместо spipgm пользуемся командой spipgmw

После этого вырубаем ПК через кнопку выключения и отключаем программатор

Внимание! Все манипуляции с портом LPT необходимо производить только с отключенным питанием платы. Т.е. перед тем как подключить или отключить что-нибудь от LPT необходимо полностью выключить БП, поставить переключатель БП в положение Off (или вынуть кабель) подождать 10сек (разрядятся конденсаторы) и только потом что-то подключать или отключать. Если не следовать этому простому правилу, то велик шанс остаться без LPT, он очень капризен к подобным вещам в силу своей незащищенности

Послесловие

Так же обращаю внимание, что данный метод подходит и для восстановления BIOS не только на мат.платах, но и на видеокартах, как ATI/AMD так и nVidia. Многие микросхемы, что указаны выше в списке совместимости устанавливаются так же и на видеокарты, вот только они всегда припаяны к видеокарте, поэтому для восстановления видях понадобится навык пайки SMD. Здесь обычно 2 варианта - отпайка микрухи и установка ее на заранее вытравленную площадку программатора или подпайка проводами на саму плату видеоадаптера

Надеюсь мой опыт поможет кому-нибудь сэкономить деньги и железки, ведь обращаться за подобными услугами в СЦ будет не совсем разумно - подобная плата на вторичном рынке сопостовима как раз со стоимостью ремонта, и поэтому надо либо восстанавливать самому, либо идти в магазин за новой. Если у меня появится возможность поковырять программатор и BIOS'ы с чипами 20 пин( в квадратных кроватях находятся), то материал будет дополнен. Благодарю за внимание

Как обновить BIOS и для чего это делать

Простым языком BIOS — это микропрограмма, с помощью которой компьютер вообще сможет включиться. Она производит инициализацию оборудования и много других интересных штук, но сейчас не об этом. Если вы решили обновить биос вашего ПК, но не знаете, как это можно сделать — сейчас разберемся.

Небольшое лирическое отступление: под BIOS в статье рассмотрим не только и не столько уходящий в прошлое Basic Input Output System, но и современный его заменитель в лице UEFI.

Зачем обновлять


Закономерный вопрос: а для чего вообще необходимо его обновлять? Список можно продолжать долго, но вот некоторые из причин:

  • поддержка новых процессоров;
  • увеличение стабильности работы;
  • улучшение совместимости с другим оборудованием (например, оперативной памятью или PCI-E устройствами);
  • закрытие «дыр» в защитных механизмах ЦПУ (вспомним пресловутые Meltdown и Spectre) или обновление AGESA для процессоров AMD;
  • добавление новых функций или открытие необходимых меню в биос;
  • исправление ошибок.

Некоторые пункты, однако, могу сработать с точностью до наоборот. Из недавнего, например, вспоминается вырезание микрокодов для поддержки ЦПУ «A» серии на материнских платах AM4 или поддержки PCI-e 4.0 там же.

Обычно каждая версия биоса, размещенная на официальном сайте, имеет описание со списком изменений. Не обязательно этот список будет полным и исчерпывающим, но это остается на совести производителя.

Насколько опасно?

Обновление биоса всегда было делом довольно рискованным. Опасно, в первую очередь, отключение питания. Также бывают проблемы с самим файлом обновления. В итоге можно получить неработающий компьютер, который лишь крутит вентиляторами.

Однако, если не затерт Boot block (загрузочный сектор), то у большинства производителей, во всяком случае, у большой четверки — Asus, AsRock, Gigabyte и MSI — точно, есть различные механизмы по восстановлению. Например, у AsRock и Gigabyte могут быть распаяны две микросхемы с биосом — главная и резервная. При неисправности первой плата может запуститься с резервной и провести процедуру восстановлению. А у Asus и MSI на такой случай есть технологии CrashFree BIOS 3 и Flash BIOS Button.

Узнаем версию

Чтобы понять, есть ли у вашей платы новые версии биоса, нужно определить, какая версия установлена в данный момент. Существует не один способ узнать это, но перечислим лишь самые простые.

В ОС Windows нажимаем комбинацию клавиш Windows+R, появится окно «Выполнить», затем ввести команду «msinfo32» и нажать «OK». Появится окно, где в графе «Версия BIOS» вы можете узнать ее.


Если отбросить встроенные возможности, то данную процедуру можно провести и с помощью различных программ. Например, бесплатной утилитой CPU-Z. Скачиваем программу, запускаем, идем на вкладку «Mainboard», секция «BIOS», пункт «Version». Здесь находится искомая нами информация.


Где взять

Переходим на сайт. Жмем на значок лупы в правом верхнем углу экрана.


Сверху выходит строка поиска. Вводим туда название своей материнской платы. По мере ввода сайт будет автоматически показывать вам наиболее подходящие варианты. Как только вы увидели искомую модель, нажимайте на нее.


Открывается страница платы. Вверху справа выбираем раздел «Поддержка».


В открывшемся окне сначала выбираем «Драйверы и Утилиты», а затем, чуть ниже, «BIOS и ПО».


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

Asrock

Открываем сайт. Вверху справа в небольшое поле вводим название платы и жмем «Enter» или на значок лупы.



На появившейся странице листаем чуть вверх и выбираем «BIOS».


Перед нами появится таблица со списком для загрузки.


Asrock предлагает на выбор два варианта биоса в зависимости от того, как вы его будете устанавливать — через BIOS или Windows. Отличаются они лишь наличием во второй версии файлов с программой-прошивальщиком.

Кстати, тут же, в колонке «Обновить БИОС/Как обновить» вы можете найти ссылку на инструкцию по выбранному методу обновления.

Gigabyte

Заходим на официальный сайт. Кликаем на лупу в правом верхнем углу.


В появившейся строке поиска вводим название искомой и жмем «Enter».


В появившейся выдаче находим нужную модель платы и ревизию (приписка в виде Rev. и номера) и нажимаем либо Driver, либо Utility.


Листаем чуть вниз и выбираем подраздел «BIOS».


Здесь находятся все версии доступные для скачивания.


Открываем сайт. Листаем в самый низ и выбираем пункт «Драйверы и Загрузки».


В открывшемся окне, также листаем чуть ниже и выбираем «Загрузки»,


… и «Материнские платы».


Во второй графе ставим «Chipset», в третьей выбираем его, в четвертой нужную плату. Справа появится ее изображение. Нажимаем «Поиск».


Мы сразу оказываемся на странице для скачивания биоса.


Алгоритм у всех производителей практически идентичен. Также можно пойти более долгим путем: зайти в раздел продукты/продукция, выбрать материнские платы, и долго и упорно с помощью фильтров искать свою. Но это занимает гораздо больше времени.

А самый простой и быстрый вариант — это ввести название вашей платы в любимом поисковике. Практически всегда первой или второй строкой будет прямая ссылка на страницу вашей МП.


Сверяйте каждую букву в названии, для материнских плат Gigabyte сверьте также ревизию. Это важно, чтобы не получить после процедуры кирпич за несколько тысяч рублей.

Например, MSI X470 GAMING PLUS MAX и MSI X470 GAMING PLUS, с точки зрения версий биоса, разные платы и биосы у них также разные.

Как прошить

При сегодняшнем положении дел используются два основных (!) варианта для обновления:

Но сначала подготовительные мероприятия. Перед прошивкой необходимо распаковать архив, скачанный с сайта, для доступа к файлу обновления. Если у вас произведены какие-либо настройки в биосе, то запишите или запомните их, поскольку после обновления все установки сбросятся на «по умолчанию», а сохраненные профили могут либо стереться, либо не применяться из-за смены версии. И вообще, крайне желательно сделать сброс настроек перед процедурой обновления.

Обновление через встроенный функционал самого биос.

Покажем на примере плат Gigabyte Z370 HD3P и MSI X470 GAMING PLUS MAX.

Для входа в биос в большинстве случаев используется клавиша DELETE.

Gigabyte


Жмем клавишу ALT, чтобы посмотреть подсказки. Ищем Q-Flash, и запускаем.


В открывшемся окне вы можете как обновить (Update), так и сохранить (Save) текущую версию.


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




Запускаем утилиту для прошивки «M-Flash» кнопкой в нижнем левом углу.


После перезагрузки появится меню утилиты. Если все нормально, то вы увидите содержимое своего USB-носителя.


Выбираем файл биоса, подтверждаем.


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

Обновление через специализированную утилиту производителя материнской платы, из операционной системы (семейства Windows)

На примере Gigabyte.

Для обновления из операционной системы у Gigabyte уже долгое время есть довольно простая утилита — @BIOS.

Скачиваем с официального сайта из раздела «Утилиты» (прям под разделом с биосами). Запускаем. На главной странице, среди прочего, мы видим версию уже установленного биос.


На второй вкладке можно произвести обновление из интернета.


Выбираем вкладку «Update from file», жмем «Browse» и выбираем наш скачанный файл.


Здесь в верхнем пункте предлагают запустить «Face wizzard» — утилиту для изменения изображения, появляющегося при загрузке.


Update backup BIOS дает возможность обновить также и резервную микросхему.

Читаем предупреждение и выбираем «Ok».


Через встроенный механизм, запускаемый с помощью отдельной кнопки

Это более редкий вариант обновления. Такая возможность есть на некоторых платах, но упомянуть ее стоит.

USB BIOS Flashback — в терминологии Asus — утилита для обновления биос без необходимости установки процессора, оперативной памяти и видеокарты.

Скачанный файл биоса необходимо переименовать, можно использовать программу BIOSRenamer.


Подключите USB-накопитель к порту USB Flashback (обычно белого цвета, но лучше проверить по инструкции к плате).



Когда индикатор погаснет, процесс будет завершен.

На сайте Asus есть две инструкции по данной теме (1 и 2).

На платах компании данная функция называется Flash BIOS Button и также позволяет произвести процесс прошивки без процессора, оперативной памяти и видеокарты.


Процесс очень прост:

  • скачанный биос переименовываем в MSI.ROM (да, нужно изменить не только имя, но и расширение файла) и закидываем на флешку;
  • материнскую плату подключаем к блоку питания;
  • вставляем USB-накопитель в порт версии 2.0 (уточняйте в мануале к плате) и нажимаем кнопку Flash BIOS Button;
  • через пять секунд начнет мигать красный светодиод, что говорит о процессе прошивки;
  • через некоторое время светодиод погаснет — биос прошит.

Для лучшей наглядности компания выпустила небольшой ролик по процессу прошивки.

Обновление BIOS материнской платы — процесс достаточно простой. Хоть производители и предоставляют несколько вариантов для этого, делать это без необходимости они не рекомендуют. Поскольку при внештатной ситуации вы можете оказаться один на один с неработающей платой. Впрочем, всегда есть резервный вариант — прошивка с помощью программатора. Поэтому, пусть и не самому, но восстановить плату, пострадавшую от неудачной прошивки биоса, можно.

Читайте также: