Как несколькими нажатиями на кнопки быстро доломать ноутбук, и как долго его потом восстанавливатьsteemCreated with Sketch.

in #busy6 years ago

001_IMG_3884.JPG

— Эта штука работает?
— Да.
— Не трогай ее!

(Из старых баек про системных администраторов? Или нет?)

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

И ведь ничто, как говорится, не предвещало...
Сидел себе тихо, копался в Интернете, никого не трогал.
И втемяшилось вдруг в голову поставить новую версию программы Google Earth.
(Но вот что я с ней решил такого увидеть, что в старой версии видно не было?).
Скачал, поставил.
Работает, только карту-глобус не показывает.
Полез гуглить, выяснил, что такая проблема может возникать на старых моделях видеоадаптеров.
Вспомнил, что помимо встроенного слабого видеоадаптера в моем ноутбуке есть еще и мощная дискретная видеокарта.
Залез в BIOS и переключил настройку на нее.
Сохранил настройки, перезагрузился.
Ноутбук пискнул и ответил черным экраном, в левом верхнем углу высветив одиноко горящий курсор.
Ни тебе настроек BIOS, ни сообщений начальной загрузки, бодро бегущих по экрану, ни приветственных логотипов Windows или Ubuntu.
На нажатия разных магических комбинаций кнопок он уже не реагировал.
Он уже вообще ни на клавиатуру, ни на мышь не реагировал.

Свершилось. Мой ноутбук, простой и надежный, Acer Aspire 5755G, добросовестно и честно отработавший почти восемь лет, благополучно переживший замену матрицы дисплея, клавиатуры и блока питания, превратился в высокотехнологичный электронный кирпич.


Предыстория.


Когда-то, несколько лет назад, я с удовольствием играл на этом ноутбуке в Crysis и FarCry.

Подключая при этом установленную в нем дискретную видеокарту NVIDIA GeForce GT540M с помощью программных утилит, работающих по технологии NVIDIA Optimus. Так и было задумано разработчиками данного устройства: для обычной работы или серфинга в Интернете пользоваться маломощной встроенной графикой, а для ресурсоемких приложений и мощных игр использовать дополнительный графический чип от NVIDIA.

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

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

В те времена и Crysis и FarCry я благополучно прошел и необходимости в мощном видеоадаптере уже не было. К тому же сильно греющийся и шумящий вентиляторами компьютер начал раздражать, поэтому я просто переключился на слабую и тихую видеокарту в настройках BIOS. И благополучно об этом забыл. За прошедшие годы чип мощного видеоадаптера видимо сгорел окончательно.

А вот сейчас я про него вспомнил. И включил. Вернее попытался включить.

Виновник торжества — сгоревший чип дискретной графики от NVIDIA (фото сделано уже после разборки ноутбука).

002_IMG_3668.JPG


Оценка ситуации.


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

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

Для исправления ситуации требуется восстановить предыдущие настройки BIOS, снова отключив данную видеокарту.

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

Пришлось отложить ноутбук, пересесть за настольный компьютер и начать искать в Интернете решение проблемы.

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

По восходящему уровню сложности.

Как говорится, испытано на себе.


Попытка 1. Восстановление настройки вслепую.


А что если отсутствует изображение только на экране, а сам компьютер работает?

Быть может можно добраться до нужной настройки BIOS вслепую, щелкая по нужным клавишам определенное число раз?

003_IMG_3906.JPG

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

В общем, вы поняли.

Я пробовал этот способ несколько раз.

Не получилось.

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

Но попробовать, во всяком случае, стоило.


Попытка 2. Подключение внешнего дисплея.


Есть вероятность, что на внешний дисплей информация продолжает выводиться.

К дисплею настольного компьютера подключиться не удалось, не совпал по разъемам свободный кабель VGA.

Удалось подключиться к моноблоку по кабелю с разъемами HDMI.

Не помогло.

На дисплее моноблока я увидел тот же самый одиноко горящий курсор в левом верхнем углу экрана.


Попытка 3. Сброс настроек BIOS — закорачивание батарейки.


Следующая мысль — сбросить настройки BIOS на первоначальные, заводские.

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

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

Затем нужно подобраться к круглой литиевой батарейке резервного питания BIOS и вытащить ее из разъема, либо закоротить на секунду (не больше!) ее контакты. Питание микросхем BIOS при этом будет кратковременно прервано, настройки BIOS вернутся к заводским.

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

Хорошая новость — для доступа к ней ноутбук полностью разбирать не придется, так как в данной модели ноутбука контакты для кратковременного закорачивания батарейки (на плате они отмечены как J1) выведены под разъемы микросхем памяти, которые предварительно надо снять. Планки оперативной памяти, в свою очередь, находятся под нижней пластиковой панелью, которая прикрывает жесткий диск.

004_IMG_4291.JPG

И закорачивал батарейку и снимал ее, разбирая корпус.

Не помогло.

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

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


Попытка 4. Перезаливка BIOS с флешки по Fn-Esc.


А как насчет новой версии BIOS?

Быть может в новых версиях BIOS нужная нам настройка уже стоит правильно?

В ноутбуках Acer есть возможность обновления BIOS новой версией, предварительно записанной на USB-флэш-носитель.

Для этого нужно:

— Обзавестись флешкой объемом не более 2 Gb.

— Отформатировать ее в формате FAT (не FAT32 и не ExFAT, а в старинный простой FAT, которым когда-то форматировались еще дискеты).

— Скачать с официального сайта Acer последнюю версию BIOS для вашей модели ноутбука. Для моего ноута версия BIOS нашлась здесь.

— Записать скачанные файлы в корневой каталог на флешку.

— Вставить флешку в USB-порт ноутбука

— Включить ноутбук, нажимая волшебную комбинацию клавиш Fn-Esc

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

Пробовал. Не получилось.

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

Дальше на пару секунд запускался привод CD-ROM. После этого все затихало.

Спустя еще несколько секунд процесс повторялся.

Отключить весь этот зацикленный процесс удалось только вытащив из гнезда шнур блока питания ноутбука.

Как выяснилось позже BIOS ноутбука обновиться до версии 1.21 не смогла, осталась прежняя версия 1.11.

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

Если они там конечно были. По крайней мере такая тема на сетевых форумах несколько раз всплывала.

Еще позже обнаружил, что делал в общем-то правильно, только нужно было на флешку записать предварительно извлеченный из архива и .exe-файла и особым образом переименованный файл BIOS. Вот здесь и здесь можно почитать об этом подробнее.

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

P.S. Качаете архив с биосом 1.21 с сайта, распаковываете. Распаковываете P5WE0121.exe, из папки Windows, при помощи 7Zip или WinRar. Полученный файл P5WE0x64.fd копируете на флешку (предварительно отформатированную в FAT32) и пробуете шить в CRM.

005_IMG_4030.JPG


Схема и программа расположения элементов на плате.


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

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

Хотя бы для того, чтобы знать, где находятся эти самые микросхемы BIOS.

К счастью, нужная мне схема нашлась.

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

006_IMG_3709.JPG

На этом же сайте, вместе со схемами удалось скачать картинку расположения элементов на печатной плате.

Представлена она в файле формата .bdv, прочитать который можно с помощью программы BoardViewer.

Саму программу BoardViewer для Windows можно свободно скачать с сайта разработчика.

Интерфейс программы прост и понятен: открываем в ней нужный .bdv-файл, вводим в окошке поиска нужный нам элемент (ранее определенный по принципиальной схеме) или обозначение искомого сигнала или цепи и видим наглядно, в какой части платы данный элемент или дорожки с сигналом находятся. Изображение можно увеличивать или уменьшать до нужной степени детализации, плату можно зеркалить по горизонтали и вертикали.

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

007_BoardView_2.png

В общем полезная оказалась программа. Мне понравилась.

А теперь про нее знаете и Вы.

А микросхемы BIOS оказались расположены тоже доступно, под съемным модулем WiFi. Чтобы до них добраться, нужно снять нижнюю панель, прикрывающую жесткий диск и микросхемы памяти.

008_IMG_4188.JPG

009_IMG_3728.JPG

Их аж целых две. U36 - MXIC MX25L3206E M2I-12G и U38 - WINBOND 25x10BVNIG.


Попытка 5. Схема и режим Switchable — сигналы и резисторы на плате.


Анализируя схему ноутбука наткнулся на вот такие цепи.

010_Shema_R258_R259.png

Получается, что управлять подключением-отключением дискретной видеокарты можно коммутируя сигнал SGEN# через ограничительные резисторы R258 и R259 на линию питания +3V или на общий провод.

Так просто! Перепаял резистор на нужную линию и тем самым управляешь дискретной видеокартой как тебе нужно.

На плате данные элементы (подсвечены желтым и красным) располагаются так.

011_Plata_R258_R259_3.png

А вот эти цепи в самом ноутбуке.

012_IMG_3749.JPG

Как оказалось, я рано обрадовался.

На плате моего ноутбука сигнал SGEN# уже был подключен в режим не переключаемой встроенной графики (к цепи +3V, Non-Switchable, логический уровень 1).


Попытка 6. Программатор CH341A и попытки чтения микросхем BIOS.


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

Один из простейших для этого дела программаторов называется CH341А, его можно купить за пару сотен рублей на AliExpress или, чуть дороже, в отечественных магазинах радиоэлектроники. Я брал в tixer.ru, вот здесь.

Потому что быстро.

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

Прищепки у меня не было, заказал отдельно на Ali, жду когда приедет.

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

Так что по возможности и если будете такой приобретать — берите сразу с прищепкой на подключаемом с помощью разъема шлейфе проводов.

Тогда и паять не придется.

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

Стабильно работающей считается версия 1.18 программы, хотя в сети есть и более поздние версии.

013_CH341A.png

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

014_IMG_4079.JPG

Из личного опыта. Использовал версию программы 1.18. Почему-то при каждом новом чтении содержимого микросхемы MXIC MX25L3206E в буфер начитывались разные данные. В конце концов с данной микросхемы удалось несколько раз подряд прочитать одинаковую информацию. Сохранил ее на диске.

Содержимое микросхемы WINBOND 25x10BVNIG прочитать не получилось.

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


Попытка 7. Модификация настроек BIOS с использованием дизассемблера.


Что-же я собираюсь делать с прочитанным и сохраненным содержимым BIOS?

Идея в том, чтобы дизассемблировать данный код, найти в нем ячейку, в которую сохраняется настройка графического адаптера Integrated/Switchable (Графика встроенная или переключаемая), заменить значение этой ячейки на противоположное (грубо говоря с 0 на 1) и снова записать этот модифицированный BIOS назад в микросхему ноутбука.

Самое трудное — найти точное расположение данной ячейки.

Пока этого мне сделать не удалось.

Пользовался дизассемблерами IDA и WDASM, также понадобился шестнадцатеричный редактор, типа WinHEX.

Максимум, что нашел в коде — цепочку символов "Switchable graphics".

Почему же я уверен, что это возможно?

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

Мне пока не хватает его знаний, так что это все впереди.

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


Попытка 8. Переделка в UMA.


Ища информацию по данной проблеме на форумах я неоднократно сталкивался с аббревиатурой UMA. Что это такое, я тогда не знал, поэтому особо внимание на эти обсуждения не обращал. И, как оказалось зря.

UMA — это режим, в котором дискретная видеоподсистема ноутбука аппаратно отключена, и ноутбук работает только на встроенной графике.

Как раз то, что мне нужно!

Если бы я это знал раньше и просто набрал в поисковике "Переделка в UMA"...

Зато теперь про это знаете и Вы.

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

Своего ноута я там не нашел, но на одном из форумов видел рекомендацию: отпаять дроссель PL15 и передвинуть резистор с R160 на R159.

Вполне простое и экономичное решение.

Я поискал эти элементы на схеме своего ноутбука и вот что обнаружил.

015_Shema_PL15.png

И еще.

016_Shema_R159_R160.png

На плате эти элементы расположены так.

017_PL15_3.png

018_R159_R160_3.png

Для отпайки элементов желательно использовать паяльный фен, у меня его пока нет.

Пришлось обойтись обычным 40-Ваттным паяльником.

SMD-дроссель нагревал сразу по двум контактам, когда припой расплавился я просто сдвинул дроссель в сторону на плате зубочисткой.

С резистором было сложнее — при отпайке он просто затерялся в капле припоя на острие жала паяльника.

Раньше мне приходилось паять SMD-компоненты типоразмеров 1206 и 0805. А с такой мелочью, чуть побольше макового зернышка и поменьше кунжутного сталкиваться не доводилось.

Его и разглядеть-то на плате сложно, не только правильно припаять.

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

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

Для пайки жало 40-Ваттного паяльника слишком велико, но можно временно накрутить на его конец отрезок медного провода миллиметровой толщины и паять им.

Так как отпаиваемый элемент исчез в волнах припоя пришлось искать ему замену.

Резистор типоразмера 1206 не вложился между контактными площадками.

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

019_IMG_3783.JPG

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

Так и остался сигнал DGPU_PRSNT# подвешенным в воздухе.

В общем полностью переделка в UMA согласно рекомендациям не удалась.

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

021_IMG_3701_18.GIF

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

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

После сборки, на чистом автомате включил его.

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

Только настройки BIOS (дата, время и злополучное Graphics: Integrated/Switchable) пришлось завести-проставить заново.

Почему так получилось?

На сигнальный вход DGPU_PRSNT# посредством перепайки резистора необходимо было подать логическую 1.

Возможно в данном случае сработало правило, которое запомнил еще с института — для ТТЛ-логики на неподключенном входе всегда логическая 1.

А может просто повезло.


Попытка 9. На будущее. Восстановление полной функциональности.


Фактически сейчас мой ноутбук имеет ту же функциональность, что и была до поломки.

Ubuntu и Windows загружаются.

Программы, кроме новой Google Earth, исправно работают.

В Интернет выходит.

И очень хорошо, что NLC7 (это одна из разновидностей S.T.A.L.K.E.R.) по-прежнему тянет шустро.

И даже греется и шумит вентилятором значительно меньше - в процессе ремонта я, заодно, почистил систему охлаждения и поменял термопасту.

Так что на данном этапе ремонтные работы можно считать завершенными и сам ремонт все-таки успешным.

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

Тогда имеет смысл восстановить и работу ныне сгоревшей дискретной мощной видеокарты.

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

Либо, что несколько дороже, поменяв целиком материнскую плату на новую, аналогичную, исправную.

Вроде есть еще в мире запасы этих новых уже устаревших плат, только нужно поискать.

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

В общем, все в наших руках.

И мы, как говорил обитатель Вороньей Слободки, некто Никита Пряхин, как пожелаем, так и сделаем.

Главное — уметь желать и не бояться пробовать.


10.05.2019
С уважением, Ваш @mp42b.






Sort:  

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by mp42b from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Ого, вы подробно расписали) А я думала, почему ребята из https://goodservice.by/ так долго чинят мой ноут, а они еще быстро справились оказывается!

Congratulations @mp42b! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

You can upvote this notification to help all Steem users. Learn how here!