Категория > Новости > Запретный апгрейд. Взламываем UEFI ноутбука Lenovo, чтобы поменять адаптер Wi-Fi - «Новости»
Запретный апгрейд. Взламываем UEFI ноутбука Lenovo, чтобы поменять адаптер Wi-Fi - «Новости»15-04-2023, 00:00. Автор: Всеволод |
AUR, благо проводной адаптер на ноутбуке завелся. Памятуя о проблемах с родной вайфайкой Lenovo G710, я решил выбрать заведомо беспроблемный адаптер Intel Wireless 7260, для которого в ядре Linux есть драйвера. Также я заранее учел, что в Lenovo G710 и ASUS X553MA разные разъемы PCI Express для подключения адаптеров и что со сменой адаптера в Asus придется поменять еще и антенну. Смена антенны необходима из‑за разных разъемов на родном и новом адаптерах. Кроме того, в X553MA установлена лишь одна антенна main (экономия, однако), а новый адаптер предусматривает подключение двух антенн, основной и вспомогательной. Благо стоят они недорого и устанавливаются элементарно. Вот так это добро выглядит. Адаптер Wi-Fi для Lenovo G710Адаптер Wi-Fi для ASUS X553MAНовая антенна для ASUS X553MA Пришло время все это дело установить и подключить. Первым на очереди был ASUS X553MA, и с ним, к моему удивлению, все прошло гладко: адаптер встал, заработал, и система его сразу же подхватила, пришлось только имя адаптера в юните Вайтлист и вендорлокА вот с Lenovo G710 получилось гораздо веселее: там в биосе есть вендорлок. При начальной загрузке UEFI определяет установленный адаптер и ищет его в white list, зашитом производителем. Стоит ли говорить, что Intel Wireless 7260 там не оказалось и ноутбук встретил меня радостным сообщением. Error В принципе, я к этому был готов еще на этапе планирования апгрейда, но успех с ASUS вселил в меня надежду, что замена адаптера может прокатить. Не прокатило… Поиск в гугле показал, что проблема в целом известная и лечится перепрошивкой биоса пропатченой версией, которую можно поискать в интернете. К несчастью, биоса для моей модели не нашлось, остался последний вариант: ковырять UEFI самостоятельно. В сети в целом есть ряд неплохих мануалов на тему обхода while list’а, например на Хабре (изображение экрана я взял оттуда, поскольку мое не сохранилось), и там нет ничего запредельно сложного. Надо распаковать UEFI, найти там участок с текстом ошибки, посмотреть, какая функция на него ссылается, и заменить один из условных переходов на другой условный переход — или на безусловный переход, тут есть некоторая вариативность. Смущали меня во всем этом две вещи: во‑первых, большинство мануалов заточены под виндовый софт, во‑вторых, с ассемблером я, мягко говоря, на «вы». Несколько углубившись в тему, я узнал про замечательную программу UEFITool и нашел пару примеров по работе с ней: часть1 и часть2. Это приблизило меня к решению проблемы, однако рекомендации во всех приведенных выше источниках носили скорее общий характер. И вот тут я наткнулся на отличную статью автора под ником p0358, описывающую в подробностях, как он ковырял UEFI своего Lenovo G510, решая ту же проблему, что и я. После ее прочтения становится понятно, как найти заветное место, в котором нужно заменить Те самые переменные в бинарнике Конечно, Lenovo G510 — это не G710, однако они ровесники и, считай, из одной линейки, поэтому я понадеялся, что их прошивки не должны заметно отличаться и пропатчить биос удастся малой кровью. Забегая вперед, скажу, что так все и получилось. warningМодификация UEFI ноутбука, как, впрочем, и ковыряние в его потрохах шаловливыми ручонками, легко могут окирпичить устройство. А при удачном стечении обстоятельств — физически вывести его из строя. Поэтому все нижеописанные манипуляции ты производишь на свой страх и риск. Правовой статус данных манипуляций тоже сомнительный. От теории к практикеПерейти обратно к новости |