Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Памятуя о проблемах с родной вайфайкой Lenovo G710, я решил выбрать заведомо беспроблемный адаптер Intel Wireless 7260, для которого в ядре Linux есть драйвера. Также я заранее учел, что в Lenovo G710 и ASUS X553MA разные разъемы PCI Express для подключения адаптеров и что со сменой адаптера в Asus придется поменять еще и антенну. Смена антенны необходима из‑за разных разъемов на родном и новом адаптерах. Кроме того, в X553MA установлена лишь одна антенна main (экономия, однако), а новый адаптер предусматривает подключение двух антенн, основной и вспомогательной. Благо стоят они недорого и устанавливаются элементарно. Вот так это добро выглядит.
Пришло время все это дело установить и подключить. Первым на очереди был ASUS X553MA, и с ним, к моему удивлению, все прошло гладко: адаптер встал, заработал, и система его сразу же подхватила, пришлось только имя адаптера в юните wpa_supplicant
и dhcpcd
поменять.
А вот с Lenovo G710 получилось гораздо веселее: там в биосе есть вендорлок. При начальной загрузке UEFI определяет установленный адаптер и ищет его в white list, зашитом производителем. Стоит ли говорить, что Intel Wireless 7260 там не оказалось и ноутбук встретил меня радостным сообщением.
В принципе, я к этому был готов еще на этапе планирования апгрейда, но успех с ASUS вселил в меня надежду, что замена адаптера может прокатить. Не прокатило…
Поиск в гугле показал, что проблема в целом известная и лечится перепрошивкой биоса пропатченой версией, которую можно поискать в интернете. К несчастью, биоса для моей модели не нашлось, остался последний вариант: ковырять UEFI самостоятельно.
В сети в целом есть ряд неплохих мануалов на тему обхода while list’а, например на Хабре (изображение экрана я взял оттуда, поскольку мое не сохранилось), и там нет ничего запредельно сложного. Надо распаковать UEFI, найти там участок с текстом ошибки, посмотреть, какая функция на него ссылается, и заменить один из условных переходов на другой условный переход — или на безусловный переход, тут есть некоторая вариативность. Смущали меня во всем этом две вещи: во‑первых, большинство мануалов заточены под виндовый софт, во‑вторых, с ассемблером я, мягко говоря, на «вы».
Несколько углубившись в тему, я узнал про замечательную программу UEFITool и нашел пару примеров по работе с ней: часть1 и часть2. Это приблизило меня к решению проблемы, однако рекомендации во всех приведенных выше источниках носили скорее общий характер. И вот тут я наткнулся на отличную статью автора под ником p0358, описывающую в подробностях, как он ковырял UEFI своего Lenovo G510, решая ту же проблему, что и я.
После ее прочтения становится понятно, как найти заветное место, в котором нужно заменить jz
на jmp
, чтобы обойти white list. От себя могу добавить, что приседания автора с использованием двух версий UEFITool излишни, вполне можно обойтись и актуальной версией. Кроме того, в настоящее время бесплатная версия декомпилятора IDA Free умеет работать с UEFI-бинарниками, так что без IDA Pro тоже можно обойтись. Но главная фича этой статьи заключается в том, что автор обнаружил в коде UEFI Lenovo G510 переменные, которые отключают white list вовсе, и это очень упрощает все мероприятие.
Конечно, Lenovo G510 — это не G710, однако они ровесники и, считай, из одной линейки, поэтому я понадеялся, что их прошивки не должны заметно отличаться и пропатчить биос удастся малой кровью. Забегая вперед, скажу, что так все и получилось.
Модификация UEFI ноутбука, как, впрочем, и ковыряние в его потрохах шаловливыми ручонками, легко могут окирпичить устройство. А при удачном стечении обстоятельств — физически вывести его из строя. Поэтому все нижеописанные манипуляции ты производишь на свой страх и риск. Правовой статус данных манипуляций тоже сомнительный.
|
|