Как стать автором
Обновить
2339.37
МТС
Про жизнь и развитие в IT

Как прошить чип BIOS в ноутбуке при помощи программатора

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.6K

Прошивка чипа BIOS с использованием внешнего девайса — надежный способ восстановить работоспособность ноутбука, если микропрограмма повреждена. Загрузка извне позволяет обойтись без запуска ОС, с прямым доступом к SPI-флеш-памяти. Сегодня покажу пошаговый процесс прошивки и расскажу, какие тут могут быть нюансы.

Сразу отмечу, что это пост для начинающих любителей электроники. Профессионалы и так отлично знают, как нужно «шить». Но если захотите поделиться опытом — приходите в комментарии, буду рад!

Как обычно обновляют прошивку BIOS

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

Пример обновления микропрограммы чипа софтовым методом
Пример обновления микропрограммы чипа софтовым методом

Прошивку BIOS из-под операционной системы чаще всего делают:

  1. Для апдейта версии BIOS/UEFI, чтобы добавить поддержку нового оборудования (например, новых процессоров или модулей оперативной памяти), устранить ошибки или повысить стабильность работы системы.

  2. Для установки кастомной прошивки. К примеру, чтобы разблокировать дополнительные настройки, отключить проверку Secure Boot или включить скрытые функции.

  3. Просто потому, что появилась новая прошивка на сайте производителя, вдруг что «вырастет» новенького после обновления. На авось, так сказать. 

  4. Для восстановления некорректных настроек, если BIOS работает нестабильно, но ноутбук все еще загружается и позволяет провести обновление штатными средствами.

Здесь есть одна проблема. Сбой (например, зависание, отключение питания) во время процесса обновления может повредить микропрограмму. И ноутбук в большинстве случаев «умирает» — или кратковременно включается и отключается экран, или вообще ничего не происходит. Девайс признаков жизни не подает. У некоторых моделей разных производителей есть возможность загрузиться с флешки, зажимая при включении какую-то кнопку (у HP это «B»). Но это работает не всегда.

Здесь нужен аппаратный способ — прошивка при помощи программатора. Я восстановил не один десяток попавших ко мне «мертвых» ноутбуков благодаря этому простенькому устройству. Кстати, особенно часто «умирали» лэптопы от Lenovo и Acer — тут чуть ли не каждый второй начинал работать после прошивки.

Я не буду останавливаться на диагностике ноутбука, ведь этот текст о прошивке BIOS. Но прежде чем «шить» чип, нужно проверить материнскую плату на предмет залития жидкостями, коротких замыканий, странно выглядящих компонентов: явно вспученных, c трещиной, «дымком» и так далее. Если все в порядке при первичной диагностике, тогда уже «шить». 

Что за программатор такой?

Вот так выглядит этот девайс
Вот так выглядит этот девайс
Вот так снизу
Вот так снизу

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

Программатор подключается к компьютеру через USB. В зависимости от комплектации, может поставляться с прищепкой (SOIC8 clip) для прошивки чипа прямо на плате, без выпаивания. Есть и другие модули для подключения к микросхеме, о них и прищепке расскажу ниже. Сам чип обычно выпаивается термофеном — тут я писал о своей модели.

Основные функции CH341A:

  • считывание содержимого SPI-флеш-памяти;

  • сохранение резервной копии прошивки;

  • запись новой версии BIOS;

  • проверка целостности данных по завершении процесса.

Поддерживаемые чипы: большинство 8-контактных SPI-NOR-флеш-чипов, таких как Winbond, Macronix, MXIC, SST и так далее.

Конечно, CH341A не единственный вариант. Есть и другие программаторы:

  • TL866II Plus — более универсальный и стабильный девайс, подходит для большего количества микросхем (в том числе EPROM, EEPROM, SPI, I²C и других), есть встроенная защита от неправильного подключения.

  • RT809H — профессиональный программатор с поддержкой широкого спектра интерфейсов и возможностью работы с материнскими платами ноутбуков напрямую.

  • EZP2019+ — бюджетный USB-программатор. Часто используется как альтернатива CH341A.

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

Но это мне везло. А вообще отсутствие встроенной защиты в CH341A может привести к повреждению чипа BIOS, выходу из строя самого программатора или даже USB-порта на компьютере в случае неправильного подключения. Такое редко, но бывает.

Как прошивать?

Для прошивки чипа BIOS нужно установить специальный софт для программатора, с ним поставляется и драйвер. После этого подключаем девайс со вставленным чипом BIOS (предварительно его выпаиваем с материнской платы) к USB-порту компьютера или ноутбука. Можно и не вставлять микросхему, а использовать другие варианты — ниже их опишу. Но дальнейшие шаги остаются прежними.

Программатор со вставленным чипом
Программатор со вставленным чипом

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

После этого я пошел на форум vlab.su (думаю, его знают многие читатели Хабра) и там загрузил оптимизированный одним из пользователей софт. Вот название ПО и имя разработчика:

Он заработал сразу же. Выглядит интерфейс программы вот так:

С ее помощью можно определить чип, сделать дамп оригинальной прошивки и сохранить его (на случай необходимости отката), стереть чип, изменить прошивку или же скачать новую и записать ее в чип BIOS. Тут вообще ничего сложного.

Итак, флешка чипа размещена в каретке (фото было выше), а сам программатор подключен. Дальше алгоритм такой:

  • Считываете содержимое чипа. Эту информацию (дамп) сохраняете в удобном месте. Если что-то пойдет не так, можно вернуться к прежнему состоянию.

  • Стираете чип — кнопка с красным крестиком.

  • Загружаете полученный из интернета дамп — голубая стрелочка вниз.

  • Прошиваете этот дамп — красная стрелочка вниз.

Вот пример работы программы, чип определен (после нескольких неуспешных попыток с другим):

Это у нас EN25QH64 — 64-мегабитный (8 Мб) SPI-NOR-флеш-чип от EON Silicon Solution. Поддерживает стандартный интерфейс SPI с частотой до 104 МГц, обеспечивает быструю передачу данных. EN25QH64 работает при напряжении питания 2,7–3,6 В и выпускается в корпусе SOIC-8, так что он совместим с CH341A. Он надежен и поддерживает до 100 000 циклов перезаписи. То есть на нашу с вами жизнь хватит — тут можно каждый день записывать и обновлять. Теперь считываем содержимое — синяя стрелочка вверх. На это уходит до минуты, но вот результат:

Дальше сохраняем полученную инфу в файл, даем понятное имя. Если у вас будет много дампов, потом запутаетесь, что и для чего. Я использую марку ноутбука и добавляю My. Например, AcerNitro_My — чтобы понимать, что это исходный образ. Вот малая толика того, что у меня хранится. Это все загруженные со сторонних ресурсов дампы:

Ну а потом стираете чип, загружаете другой образ из списка и записываете. Все при помощи той же программы.

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

Дампы, вестимо, брать в интернете. И вот несколько советов по ним:

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

  • Размер дампа должен соответствовать объему чипа. Если размер файла меньше, чем объем памяти микросхемы (например, дамп на 4 Мб, а чип на 8 Мб), недостающая часть останется с «мусором» от предыдущей прошивки — и это приведет к сбоям. В таком случае нужно заполнять пустые байты нулями или использовать полный образ.

  • Современные BIOS могут содержать разделы ME (Intel Management Engine), EC (Embedded Controller), NVRAM и другие. Если дамп неполный или содержит ошибки в этих областях, ноутбук может не включиться, вентиляторы будут крутиться на максималке, а дисплей останется черным. Поэтому желательно использовать проверенный, полный дамп, соответствующий конкретной плате.

  • Некоторые чипы рассчитаны на 1,8 В, а CH341A по умолчанию работает на 3,3 В. Если прошивать чип напрямую, его можно сжечь. В таких случаях требуется переходник 1,8 В — адаптер с преобразователем напряжения.

Что еще?

Теперь поговорим о том, как прошить чип без выпаивания. Это актуально, когда выпаивать чип неудобно — например, он находится рядом с хрупкими компонентами, которые можно повредить. Или если плата неоднократно подвергалась термоудару. Например, ноутбук пришел из сервисного центра, возможно, не первого, а там паяли так, что даже материнка пожелтела. Ну или явно видны иные следы мощной термообработки. И еще одна важная причина — когда выпаивать просто лень.

Итак, понадобится так называемая «прищепка». Вот как она выглядит.

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

Прищепка в раскрытом виде
Прищепка в раскрытом виде

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

Прищепка на флешке BIOS
Прищепка на флешке BIOS

Надо сказать, что прищепка подходит далеко не ко всем чипам BIOS. К ним она может неплотно прилегать, так что либо вообще не держится, либо соскакивает в процессе прошивки.

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

Держать их нужно рукой, но это просто. И если рука не дрожит (если да, каким образом вы вообще что-то собрались ремонтировать?), то все будет в порядке. Контакты прищепки накладываются на выводы микросхемы, она слегка придавливается рукой — и дальше действуем по алгоритму.

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

Теги:
Хабы:
+51
Комментарии18

Полезные ссылки

Обходим подводные камни работы с UDA в коде на Lua для ScyllaDB: дружим Java-драйвер и пустые значения

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров372
Всего голосов 5: ↑5 и ↓0+10
Комментарии0

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

Время на прочтение7 мин
Количество просмотров2.2K
Всего голосов 23: ↑22 и ↓1+25
Комментарии1

Интеграция виджета обратного звонка МТС Exolve в документацию на MkDocs

Время на прочтение8 мин
Количество просмотров404
Всего голосов 5: ↑5 и ↓0+7
Комментарии0

Путь видео в онлайн-кинотеатрах от «стекла до стекла». Middleware — ядро, подписки, сервисы, витрина

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров737
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Приручая хаос: как структурировать процессы в эксплуатационных командах. Кейс МТС

Время на прочтение6 мин
Количество просмотров695
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Информация

Сайт
www.mts.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия