<<< Начало этой истории можно прочитать здесь.
Попытка 6. Программатор CH341A и попытки чтения микросхем BIOS.
Так как предыдущая попытка с коммутацией сигнала SGEN# через ограничительные резисторы R258 и R259 не удалась, то пришлось вернуться к идее чтения содержимого микросхем BIOS с помощью программатора с последующим анализом данных, их модификацией и обратной записью.
Один из простейших для этого дела программаторов называется CH341А, его можно купить за пару сотен рублей на AliExpress или, чуть дороже, в отечественных магазинах радиоэлектроники. Я брал в TIXER.RU, вот здесь.
Потому что быстро.
Подключается к рабочему компьютеру через USB-порт, а к программируемым микросхемам памяти с помощью пайки или с помощью контактной прищепки.
Прищепки у меня тогда не было, заказывал отдельно на AliExpress.
А пока ждал пока приедет - пришлось припаиваться к микросхемам BIOS цветными проводками. Это не очень удобно.
Так что по возможности и если будете такой приобретать — берите сразу с прищепкой на подключаемом с помощью разъема шлейфе проводов.
Тогда и паять не придется.
Перед началом работы на компьютере необходимо установить пакет драйверов и программу для чтения-записи данных.
Стабильно работающей считается версия 1.18 программы, хотя в сети есть и более поздние версии.
Описание работы с данным программатором также легко найти в Сети, особо останавливаться на этом не буду, при необходимости смотрите, например здесь, здесь, здесь или здесь.
Из личного опыта.
Использовал версию программы 1.18.
Почему-то при каждом новом чтении содержимого микросхемы MXIC MX25L3206E в буфер начитывались разные данные. В конце концов с данной микросхемы удалось несколько раз подряд прочитать одинаковую информацию. Сохранил ее на диске.
Содержимое микросхемы WINBOND 25x10BVNIG прочитать не получилось.
Чтобы понапрасну не рисковать, до приезда с Ali запасных микросхем памяти BIOS и контактной беспаечной прищепки, опыты с программатором я тогда отложил и перешел к следующим попыткам.
Попытка 7 (фантастическая). Модификация настроек BIOS с использованием дизассемблера.
Что-же я собирался делать с прочитанным и сохраненным содержимым BIOS?
Идея была в том, чтобы дизассемблировать данный код, найти в нем ячейку, в которую сохраняется настройка графического адаптера Integrated/Switchable (Графика встроенная или переключаемая), заменить значение этой ячейки на противоположное (грубо говоря с 0 на 1) и снова записать этот модифицированный BIOS назад в микросхему ноутбука.
Самое трудное — найти точное расположение данной ячейки.
Пока этого мне сделать не удалось.
Возможно потому, что сами ячейки, значения, которых нужно поменять, находятся в чипе BIOS, который считать у меня не получилось.
Пользовался дизассемблерами IDA и WDASM, также понадобился шестнадцатеричный редактор, типа WinHEX.
Максимум, что нашел в коде — цепочку символов "Switchable graphics".
А вообще эта идея звучит несколько фантастично, согласен.
Почему же я уверен, что это возможно?
Вот на этом форуме человек делает то же самое — только он включает расширенные настройки BIOS, отключает одни и подключает другие настройки по запросу пользователей.
Мне пока не хватает его знаний, так что возможно это все впереди.
Кстати, если ноутбук работает, прибегать к реверс-инженерии и дизассемблированию с анализом кода для определения нужной ячейки памяти не потребуется. Достаточно считать содержимое BIOS программатором пару раз, при разных выставленных значениях данной настройки. Потом можно программно сравнить между собой считанные файлы, определив ячейки с отличающимися значениями. Так можно определить адреса ячеек для любой нужной настройки.
Попытка 8. Переделка в UMA.
Ища информацию по данной проблеме на форумах я неоднократно сталкивался с аббревиатурой UMA. Что это такое, я тогда не знал, поэтому особого внимания на эти обсуждения не обращал. И, как оказалось зря.
UMA — это режим, в котором дискретная видеоподсистема ноутбука аппаратно отключена, и ноутбук работает только на встроенной графике.
Как раз то, что мне нужно!
Если бы я это знал раньше и просто набрал в поисковике "Переделка в UMA"...
Зато теперь про это знаете и вы.
И по данному запросу информации в Сети вполне достаточно. Например здесь наглядно показано, что и как нужно делать для разных моделей ноутбуков.
Своего ноутбука я там не нашел, но на одном из форумов видел рекомендацию: отпаять дроссель PL15 и передвинуть резистор с R160 на R159.
Вполне простое и экономичное решение.
Я поискал эти элементы на схеме своего ноутбука и вот что обнаружил.
И еще.
На плате эти элементы расположены так.
Дроссель - выделен красным.
Нужные резисторы - выделены красным и желтым цветами.
Для отпайки элементов желательно использовать паяльный фен, у меня тогда его не было.
Пришлось обойтись обычным 40-Ваттным паяльником.
SMD-дроссель нагревал сразу по двум контактам, когда припой расплавился я сдвинул дроссель в сторону на плате зубочисткой.
С резистором было сложнее — при отпайке он просто затерялся в капле припоя на острие жала паяльника.
Раньше мне приходилось паять SMD-компоненты типоразмеров 1206 и 0805. А с такой мелочью, чуть побольше макового зернышка и поменьше кунжутного сталкиваться не доводилось.
Его и разглядеть-то на плате сложно, не только правильно припаять.
Причем даже с помощью сильной линзы увидеть происходящее на плате весьма затруднительно.
Нашел способ — фотографировать участок платы при сильном увеличении в макрорежиме на фотоаппарат на штативе, затем скачивать снятое на компьютер и снова увеличивать фотографию для просмотра. Способ хороший, но трудоемкий.
Для пайки жало 40-Ваттного паяльника слишком велико, но можно временно накрутить на его конец отрезок медного провода миллиметровой толщины и паять им.
Так как отпаиваемый элемент исчез в волнах припоя пришлось искать ему замену.
Резистор типоразмера 1206 не вложился между контактными площадками.
Обычный проволочный резистор поначалу удалось припаять, но потом, случайно задев, сковырнул его с платы вместе с контактными площадками и токоведущими дорожками. Они тоненькие, как волосок.
Поискал продолжение этих дорожек, но подпаивать к ним ничего не стал, опасаясь натворить больших бед.
Так и остался сигнал DGPU_PRSNT# подвешенным в воздухе.
В общем полностью переделка в UMA согласно рекомендациям не удалась.
А так выглядят внутренности ноутбука в полпятого утра, когда все возможные способы уже испробованы, глаза слипаются, мыслей не осталось и надежды на успех уже почти нет.
В уме я уже мысленно прикидывал во сколько обойдется следующая попытка с заменой материнской платы целиком и где ее можно найти.
Собрал ноутбук, так как спустя несколько дней-недель-месяцев, пока будет ехать новая плата, трудно будет вспомнить, куда и что подключать.
После сборки, на чистом автомате включил его.
И очень сильно был удивлен — ноутбук пискнул, по экрану побежали строчки диагностики, затем начального загрузчика, и как ни в чем не бывало, ноутбук спокойно загрузился.
Только настройки BIOS (дата, время и злополучное Graphics: Integrated/Switchable) пришлось завести-проставить заново.
Почему так получилось?
На сигнальный вход DGPU_PRSNT# посредством перепайки резистора необходимо было подать логическую 1.
Возможно в данном случае сработало правило, которое запомнил еще с института — для ТТЛ-логики на неподключенном входе всегда логическая 1.
А может просто повезло.
Попытка 9. На будущее. Восстановление полной функциональности.
Фактически сейчас мой ноутбук имеет почти ту же функциональность, что и была до поломки.
Ubuntu и Windows загружаются.
Программы (кроме новой Google Earth) исправно работают.
В Интернет выходит.
И очень хорошо, что NLC7 (это одна из разновидностей S.T.A.L.K.E.R.) по-прежнему тянет шустро.
И даже греется и шумит вентилятором значительно меньше - в процессе ремонта я, заодно, почистил систему охлаждения и поменял термопасту.
Так что на данном этапе ремонтные работы можно считать завершенными и сам ремонт все-таки успешным.
Быть может, спустя некоторое время, мне захочется большей производительности.
Тогда имеет смысл восстановить и работу ныне сгоревшей дискретной мощной видеокарты.
Либо заменив сам чип, на что я, не имея навыков, даже при наличии паяльного фена, вряд ли решусь.
Либо, что несколько дороже, поменяв целиком материнскую плату на новую, аналогичную, исправную.
Вроде есть еще в мире запасы этих новых уже устаревших плат, только нужно поискать.
Это обойдется примерно в пять-семь раз дешевле, чем покупать новый ноутбук.
В общем, все в наших руках.
И мы, как говорил обитатель Вороньей Слободки, некто Никита Пряхин, как пожелаем, так и сделаем.
Главное — уметь желать и не бояться пробовать.
С уважением, Ваш @mp42b.
Ранее данный пост с некоторыми изменениями был опубликован в моем блоге на платформе ГОЛОС: Как несколькими нажатиями на кнопки быстро доломать ноутбук, и как долго его потом восстанавливать.