Прошивка bios через lpt
Многие из нас обновляли BIOS: кому-то приходилось обновлять BIOS в связи с апгрейдом компьютера; кто-то из-за возможных проблем совместимости, или по иным причинам. Процедура не сложная, и, по большей части, описана в инструкциях на сайте производителя (там же имеются и программы для прошивки). Но зачастую многие также сталкивались с проблемой выхода из строя микросхемы BIOS (сбой по каким-то причинам) или неудачной прошивкой последнего.
Не так давно ко мне попала материнская плата со следующими признаками неисправности: при включении питания (от розетки, не кнопкой на системном блоке) компьютер самопроизвольно стартовал, (вентиляторы крутились, на экран изображение не выводилось, материнская плата не издавала никаких звуковых сигналов).
При нажатии кнопки Power на 5-ть секунд компьютер выключался и
включался привычным для нас способом при повторном нажатии на кнопку Power. При снятии планки памяти материнская плата по-прежнему не издавала никаких звуковых сигналов, были проверены другие комплектующие (процессор, блок питания и т.п.) – все в норме.
К чему я все подвожу: чтобы стало понятней об одной из проблем материнской платы (есть, конечно, и другие) – слетевший BIOS.
Взглянув на материнскую плату, можно обнаружить и саму микросхему BIOS:
Сняв наклейку, только под лупой удалось разглядеть надпись на самой микросхеме (надпись очень мелкая, поэтому трудно рассмотреть): A25L040-f/
Привычный для нас способ прошивки BIOS (с помощью программ от производителей материнской платы и стандартной загрузки:
консоль восстановления или загрузки из-под DOS с указанием программе нашей прошивки – на экране нет изображения) здесь не подойдет (да и dual-bios, как, например, у Gigabyte отсутствует). Способы восстановления BIOS бывают различные (зачастую зависит от производителей материнской платы и иных факторов). Я попытаюсь представить один из способов по восстановлению BIOS. Немного покопавшись в Интернете, нашел схему программатора (программу Spipgm скачать здесь) схема очень простенькая и в комментарии не нуждается, за что и подкупила своей простотой.
Я же все-таки попытаюсь разъяснить некоторые нюансы (хотя нюансы могут возникнуть разные, и обо всех сразу не представляется возможным рассказать, но суть, надеюсь, станет понятней), и показал схему немного в переделанном виде, чтобы наглядно показать, насколько все просто (обозначение ножек BIOS, я взял из мануала).
Для чего нужен разъем JSPI1 (в моем случае он 9-ти контактный, но встречается и 7-ми контактный – все зависит от материнской платы: как правило, он находится в непосредственной близости от микросхемы BIOS)?
Этот разъем служит для прошивки BIOS посредством программатора (собранного по схеме), не выпаивая саму микросхему (при этом необходимо обесточить материнскую плату, в частности, достать батарейку).
Программатор подключается к компьютеру через LPT, а выводы с него, соответственно, к разъему JSPI1 материнской платы, BIOS которой необходимо прошить (либо к самой микросхеме, предварительно выпаяв, навесным монтажом). Выводы программатора, желательно, сделать небольшой длинны, во избежание потери сигнала (на всякий случай), не выяснял зависимость длинны проводов на способность прошить чип, но встречал такие рекомендации. Выводы разъема можно прозвонить тестером в соответствии с выводами на микросхеме BIOS (в моем случае получилось как на рисунке). Питание + 3,3 В можно взять с
разъема блока питания + 3,3В. Напряжение питания (для операций чтения, стирания и программирования) в пределах + 3,6 В, поэтому, я не стал подключать + 3,3 В от блока питания, а решил использовать в качестве питания батарейку на 3 В (напряжение лучше подобрать такое, при котором будет шиться микросхема). Резисторы проверял тестером – показывал 147 Ом. Поэтому у нас есть, по крайней мере, два способа (есть и другие способы, но не в этом обзоре) прошивки BIOS: выпаяв саму микросхему BIOS и прошить через программатор, подключенный к компьютеру посредством LPT; и используя разъем JSPI1 (так называемый SPI-интерфейс), при этом, подключаем программатор не к самой микросхеме, а к разъему JSPI1 (процентов 90 может быть положительный результат, ну а оставшиеся проценты на прочие ситуации, можно так сказать). Я чип вытащил, а проводки подпаивал к панельке). В итоге вот что у меня получилось:
Немного по самой программе. Программа запускается через командную строку (ПУСК – Выполнить – cmd: надеюсь, все знакомы), под Windows XP запускать spipgmw.exe.
Вот что нашел в описании ключей к данной программе:
На моем компьютере не было LPT порта (уходит нынче LPT в пользу USВ, поэтому брал старенький компьютер друга с имеющимся LPT портов
Все делал в соответствии с ключами, представленными выше. Качаем BIOS на сайте производителя материнской платы, чтобы залить прошивку, и заливаем с помощью команды с ключом /p. Здесь у меня возникла небольшая проблемка (программа не хотела, почему-то, воспринимать прошивку – не могла прочитать – синтаксис ей не нравился). Поэтому я загрузился с windows PE и попытался прошить из-под нее. Запустил программу с ключом /р и указал файл прошивки из под totalcmd (синтаксис: spipgmw /p A7367AMS.380 (последний, после ключа /р – файл прошивки).
Не столь давно приключилась со мной одна неприятность. Нужно было обновить BIOS на материнской плате, но в процессе прошивки произошла ошибка, система зависла и перестала отвечать на любые команды. После вынужденной принудительной перезагрузки компьютер включился, крутил кулерами, но на экране ничего не отображалось и не было никаких звуковых сигналов. На лицо повреждение BIOS при записи.
Немного предыстории:
Материнская плата ASUS Commando, без, модного нынче, Dual BIOS. Только Boot Block – небольшая область BIOS, не затрагиваемая записью, которая позволяет, в случае необходимости, инициализировать минимальный набор компонентов, необходимых для включения компьютера, произвести поиск BIOS на съемных носителях. Обычно подходят Floppy или флешка с файлом прошивки, переименованным в AMIBOOT.ROM (зависит от BIOS и материнской платы, точнее написано в инструкции к плате), либо CD с драйверами из комплекта поставки. Обнаружив подходящий файл, boot block запишет его в BIOS и, если все прошло правильно, компьютер после перезагрузки оживет. Неплохая фишка, несколько раз выручала, но в данном случае она не сработала, видимо, оказался поврежден и boot block.
Пришлось искать другие решения. Так как в своем арсенале инструмента у меня не было паяльной станции и стационарного программатора для разных eeprom’ок, пришлось искать более доступные решения. Рассматривая плату, я обнаружил на ней небольшой разъем SPI_J1, а микросхема флеш памяти как раз с SPI интерфейсом. Поиск в Интернет показал, что существуют вполне приличные заводские девайсы и немало самоделок для прошивки SPI микросхем через USB (об универсальных программаторах с поддержкой SPI даже не говорю, это само собой). Правда, поиск по местным магазинам, СЦ и форумам в отличии от Google ничего не дал, а заказывать и ждать месяц очень не хотелось.
Еще немного поиска, и вот оно, решение – статья чешского комрада (на чешском) о предельно простом программаторе и софтине к нему для прошивки микросхем флеш памяти с SPI интерфейсом! Ничего сложного, минимум компонентов.
Технически это очень простой способ, и требует лишь базового понимания схемотехники, умения припаять пару проводков и воспользоваться командной строкой (cmd). Но если вы не уверены в своих силах, лучше не рискуйте. Кроме того, всегда можно попросить друга, дружащего с паяльником.
Сборка устройства
Для сборки нам понадобится:
- 1 разъем DB25P, можно отрезать от ненужного шнура от принтера
- 4 шт. резисторы по 150 Ом
- 1 любой электролитический конденсатор емкостью 100 мкФ или более и рабочим напряжением на 6.3 В или больше (нужен при запитке от БП)
- Кусок плоского шлейфа с IDC разъемом на 10 контактов (он идеален при наличии SPI разъема на плате)
- Штекер molex (как на жестких дисках ATA), либо гнездо для батарейки CR2032
Ничего дефицитного нет, все можно найти в куче хлама или за копейки в любом радиомагазине. В худшем случае, можно попробовать обойтись вообще несколькими кусками провода, подсоединив контакты с SPI напрямую к LPT, однако, в данном случае нужно быть предельно острожным, да и правильность записи гарантировать сложно.
Схема с сайта автора, при подключении непосредственно к чипу (для флеш-памяти с рабочим напряжением 3 вольта):
Программатор SPIPGM может использоваться и для микросхем флеш-памяти с рабочим напряжением 1.8 Вольт. Автор применяет для этого дополнительный модуль (своего рода переходник), который подключается к основному модулю и состоит из дополнительных резисторов для гашения напряжения и каскада усиления на транзисторах BC547 для выходного сигнала чипа (схемы на сайты автора по ссылке выше). Ниже приводится адаптация схемы подключения, сразу предназначенная для работы с чипами на 1.8В. Для получения напряжения питания в 1.8 Вольта применен делитель напряжения (на схеме серые резисторы, желательно 1/4 Ватт), делитель при желании может быть пересчитан на другие номиналы (я указываю варианты 10 и 12 Ом, или 100 и 120 Ом), а еще лучше заменен подходящим DC-DC преобразователем (например, TLV70018). Диоды любые, нужны они для минимизации ошибок и, в принципе, можно обойтись без них.
Мы же будем подключать программатор не к чипу, а к разъему SPI_J1.
Если разъем 7 контактный, то подключается к нему следующим образом:
1. -> питание +3.3v 2. -> земля от питания и вывод 18 на LPT 3. -> резистор -> LPT 7 4. -> резистор -> LPT 8 5. -> резистор -> LPT 10 6. -> резистор -> LPT 9
Так же, на некоторых материнских платах бывают 9 контактные разъемы, там схема подключения немного отличается:
Разъем DB25P хорош тем, что внутри него можно разместить все необходимые детали. Желательно использовать максимально короткую длину кабеля, иначе будут ошибки записи. Неплохо было бы закрыть провода экраном, либо от антенного кабеля, либо просто обмотав фольгой от шоколадки, не забыв подсоединить экран к земле (GND).
При питании от батарейки конденсатор можно исключить. Лично я брал с +5 шины блока питания ( красный провод), подключив к нему через разъем molex и погасив напряжение диодами до ~3.3v (двух-трех диодов будет достаточно).
Блок питания все же надежней батарейки. Имея отдельный БП можно запитать напрямую от шины +3.3 ( оранжевый провод ATX разъема). Чтобы запустить блок питания без компьютера нужно замкнуть зеленый и черный провода.
Девайс в сборе:
Программа SPIPGM
Теперь можно переходить к программному обеспечению.
Проект, кстати, развивается и по сей день, автор частенько выкладывает обновленные версии программы с информацией о новых чипах, доработками и исправлениями.
В архиве следующие файлы:
Надежней всего прошивать из DOS, загрузившись с Hiren или любого другого подходящего загрузочного CD/Flash. Но можно и из Windows.
Синтаксис и основные команды:
Основные команды:
Имя файла — полное имя файла, например: file.bin, file.rom и т.п. Расширение роли не играет, главное чтобы это был корректный файл образа и правильно указано имя.
Прошивка BIOS через SPI:
spipgmw /i – идентификация чипа. Для проверки все ли правильно подключено, программа должна определить тип установленной памяти. Если этого не происходит, проверьте правильность подключения и поддержку чипа программой.
spipgmw /d BIOS.bak – если нужно сохранить резервную копию имеющегося BIOS.
spipgmw /u – разрешение записи.
spipgmw /e – стирание.
spipgmw /p FILE.rom – запись прошивки («FILE.rom» – имя файла прошивки, нужно чтобы файл находился в одной папке с программой)
…ждем процесс записи…
spipgmw /v FILE.rom – сравниваем записанные данные с файлом прошивки. Либо можно сделать дамп spipgmw /d test.rom и сравнить его содержимое с оригинальным файлом прошивки в каком-нибудь Hex-редакторе.
Возможно наличие небольшого количество ошибок. Зависит от длинны кабеля, стабильности питания, типа памяти. Конечно, желательно, чтобы ошибок не было вовсе, но даже с некоторым количеством ошибок компьютер скорей всего запустится, а там уже можно прошить BIOS штатными средствами.
Данный способ подходит не только для прошивки BIOS материнских плат, но и любых других устройств, имеющих SPI разъем, либо напрямую, любой поддерживаемой микросхемы.
Привет, Дзен! В этой короткой заметке хочу рассказать о двух самых простых программаторах, которые позволят перепрошить микросхему Bios на материнской плате ноутбука или системного блока.
Кроме того, один подписчик просил выкладывать фото каких-нибудь самодельных, сделанных своими руками, устройств. Выкладываю.
Энное количество времени назад, мне впервые потребовалось прошить микросхему биоса ноутбука. Естественно, я без проблем смог найти у друзей и коллег программатор. Но мне очень захотелось сделать для себя подобный и нужный гаджет самостоятельно.
Почитав различные форумы, пообщавшись с теми, кто успешно смог собрать такой программатор, мой выбор пал на BlackcatUSB.
Почему? Да все потому, что он довольно прост в изготовлении и про него было довольно много информации. Сразу отвечу некоторым комментаторам, которые тут же начнут хаять, что мол зачем собирать, выдумывать, можно за пару сотен взять с Али и не заморачиваться. Да, действительно, можно. И о таком программаторе я расскажу ниже. Но есть одно объяснение, которое многим диванным экспертам не понять. Это хобби, интерес и возможность решить поставленную задачу своими руками и мозгами.
После сборки и настройки вот что у меня получилось.
Да, вид не презентабельный, согласен, но этот программатор работает до сих пор и без проблем прошивает SPI 25 серии и некоторые другие. К тому же, его единственная задача это стабильно работать и выполнять свою функцию, а не красоваться на полке под стеклом.
Основой для такого программатора служит микроконтроллер AT90USB162. Эта микросхема уже содержит в себе USB-загрузчик, что позволяет сделать его первоначальную прошивку по шине USB.
А вот теперь, для тех, кто не хочет собирать самостоятельно, немного расскажу о недорогом программаторе CH341A, стоимость которого составляет не более 300 рублей.
Данный программатор поддерживается операционными системами Windows и позволяет работать с микросхемами 25, 26 серии SPI FLASH и 24, 25 EEPROM.
Естественно, что для закрепления микросхем в программаторе, требуется докупить дополнительные колодки под разные типы, ведь припаиваться проводками не совсем удобно).
Хотелось бы отметить еще один момент. Во многих современных ноутбуках используются SPI FLASH с пониженным напряжением питания. Поэтому, для прошивки требуется переходник с 3,3 вольта на 1,8 вольта. Все это есть в продаже, и стоит копейки.
Надеюсь, что начинающим ремонтерам и просто интересующимся будет интересно).
Поизучав на досуге даташиты IT8510E, IT8511E и парочку схем типа F3J* F3t обнаружил для себя очень интересную информацию, если поменять место одного из резюков на сигнале FA4/PPEN с земли на 3.3 дежурного питания, то мульт уходит в готовность принимать информацию с ног разъема клавиатуры/ и если в него вставить специальный кабель на LPT порт другого рабочего компа, то можно будет зашить ноут не разбирая его. Вот распиновка.
Поиск упоминания софта для этих целей пока ни к чему не привел. Наверняка мастера из АСЦ пользовались чем-либо подобным (может и для современных девайсов от ASUS оно актуально)
Актуально оно для мультов от ITE. Но здесь есть две засады - пинаут клавиатурных разъёмов разный для разных моделей и софт.
А дальше секреты мастеров? И неразглашение.
А Утилита уже у меня есть. Выложить сам не могу, если тот, кто ее скинул посчитает нужным выложить ее тут, она появится.
простите, а зачем оно надо? Простой интерес, или там можно сделать что-то недоступное более естесственными путями?
видел я эту приблуду. толку мало!
программатор надежнее ,да и работает это чудо только с асусами.
в печку-это моя точка зрения,никому не навязываю!
Не, ну а что? Приносят какой нибудь eeepc со съехавшим биос (что не редкость), разбирать не надо, паять не надо, поставил в уголок, пусть себе шьется.
ну, если есть партия однотипных, то может и да.. так ИМХО быстрее разобрать и зашить на программаторе, чем найти в какой позе и чем шить конкретный аппарат..
Прошить можно через клавиатурный разъем, но результативность остается под вопросом, пробовал так делать из 10 случаев получилось в двух. По мимо того что работает только с ноутами от ASUS для некоторых моделей требуется BIOS который предназначен для данного оборудования. Выпаять и зашить на программаторе надежнее как мне кажется
1) Сборка простого LPT-программатора (реализация)
1. Закупаем детальки для программатора. Пришлось приобрести штырьки BLS под выводы, и 4 резистора на 150 Ом. Шнурок от IDE-шлейфа, разъем DB-25-M для LPT с корпусом
3. Припаиваем "земляные" провода. На фото "земли" еще не объединены
5. Со второй стороны шлейфа припаиваем 5-ть проводков, термоусаживаем соединение
6. Осталось только порпус поставить на место. Длина шнурка получилась около 47см (в пределах допустимой)
7. Лишние детальки всегда остаются )))
8. Использовал цветные проводки для их назначения: красный
2) Изготавление отладочной платы для отладки Attiny13
Опять же на этом самом полезном ресурсе по инструкции собираем Отладочную плату для отладки устройств на ATTiny13
9. Методом ЛУТ вытравливаем макетку. Я использовал этот метод впервые (тренировался на макетке). Для первого раза пойдет )))
Как делал макетную плату читать с этой записи:
Изготовление плат-макеток методом ЛУТ. Ошибки при изготовлении. Вывод
10. Размер платы изготовил чисто случайно таким. На тот момент еще не думал, что будет корпус для этой платы. Но как видно, плата идеально вписалась в корпус от разветвителя сигнала…
11. Готовое устройство. Питание микросхемы осуществляется через шнурок USB от преобразователя 220B — 5B.
3) Проверка работоспособности программатора с помощью программы Uniprof
1. Запускаем софт. Настраиваем LPT-порт под программатор, согласно распайке 5-ти проводков ("земля" невсчет)
2. На чистой микросхеме Attiny13 с завода установлены вот такие фьюзы (всего 4-е фиюза установлено)…
Прошивка успешно залилась без всяких ошибок. Я доволен!
Почему именно этот программатор?
Все предельно просто. Самый простой программатор, который собирается за несколько минут! Для ознакомления пойдет.
Можно было собрать и СОМ-программатор. Здесь дело каждого )))
Чем интересен LPT-программатор. Тем, что если у LPT-порта некоторые его линии откажут, можно перепаять на другие штырьки и выставить настройки в самой программе на новые
А как обстоят дела с фьюзами с данным программатором?
Пока не проверял. Пытался считать заводские фьюзы и нажать кнопку "Write". Процесс записи никак не идентифицировался. Это скорее всего потому, что фьюзы не были поменяны с заводских на другие…
А зачем все это?
Чтоб собирать схемки на простеньких микроконтроллерах Attiny серии 12,13…
Есть несколько задумок, которые уже давно реализованы другими драйвовцами )))
А если с помощью этого программатора получилось (вследствии кривизны рук или еще чего) неправильно прошить фьюз биты, то выручит вот это устройство:
Фьюзбит доктор. Исправляем AVR при неправильно прошитых фьюзах. Сборка устройства
Читайте также: