Пост

Ноутбук Lenovo l14-gen2 (intel) решение проблем со звуком и сетью.

Чиним wifi и звук на ноутбуке Lenovo l14-gen2 (intel).

Ноутбук Lenovo l14-gen2 (intel) решение проблем со звуком и сетью.

Салют, $USER!
Эй, кстати, наш Telegram уже ждёт именно тебя. Забегай!

Предисловие.

В общем, наверное, как и любой другой системный администратор, я однажды озадачился выбором ноутбука. Знал точно, что хочу Lenovo ThinkPad и нужен был 13-дюймовый, чтобы легче было носить в рюкзаке. Искал T-серию, но в городе, в котором живу, её попросту не было, а здесь и сейчас была только серия L второго поколения на процессоре Intel. А ноутбук был нужен ну вот прям, очень сильно. Тогда ещё работал в офисе, часто надо было подключаться из дома, и проще было в офисе работать на своём, что решало главную проблему синхронизации данных. Но сейчас не об этом.

Вот я в магазине забираю ноутбук. Дорога домой, распаковка и начало установки Linux, тут-то и вылезли проблемы: нет звука, но на самом деле для меня это не беда, есть Bluetooth и наушники.

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

Подкинул USB Wi-Fi свисток, подключил сеть, о чудо, SSH работает прекрасно! И так я прожил с USB-свистком около 8 месяцев, времени не было заниматься данным вопросом.

Почему же он еще так долго жил без звука и с USB Wi-Fi свистком? С появлением у меня MacBook вся работа перешла на него, а этот ноутбук использовался в серверной и у клиентов для подключения к оборудованию.

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

Чиним SSH.

С первого, что я начал, это с SSH. После часа гугления и чтения документации по NetworkManager наткнулся на управление питанием адаптера, и решил попробовать. Внесу маленькую ремарку: Wi-Fi определялся как 2.5, так и 5, и при этом хорошо работал Bluetooth. То есть дело было не в драйвере, что ещё подтверждалось тем, что на других сериях с аналогичным модулем и драйвером работало хорошо.

Начнём с энергосбережения Wi-Fi модуля, вообще там есть 3 режима:

  • 3 – максимальное энергосбережение (по умолчанию во многих дистрибутивах)
  • 2 – сбалансированный режим
  • 1 – отключено (максимальная производительность) Попробуем изменить с максимального на сбалансированный.

выполняем:

1
sudo sed -i 's/3/2/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

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

Ограничения

  • В данный момент Wi-Fi модуль работает в сбалансированном режиме, что может уменьшить автономность ноутбука от батареи.

Ну, если вдруг нужна автономность, то…

1
sudo sed -i 's/2/3/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf && sudo reboot

Пробуем завести звук.

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

1
lspci -nnk | grep -A 2 Audio

Вижу что sof-audio-pci-intel-tgl

SOF (Sound Open Firmware) — открытая кроссплатформенная прошивка и инфраструктура для управления аудио DSP (Digital Signal Processor) в современных процессорах.

В современных дистрибутивах по умолчанию включён именно SOF. План:

  • Отключить SOF
  • Через GRUB загрузить более старую версию драйвера.

  • Запрещает загрузку драйверов SOF (Sound Open Firmware) - нового драйвера для современных аудиокодеков Intel

Файл в /etc/modprobe.d/ автоматически применяется при загрузке системы

1
2
3
4
echo "blacklist snd_sof_pci_intel_tgl" | sudo tee /etc/modprobe.d/blacklist-sof.conf
echo "blacklist snd_sof_intel_hda_common" | sudo tee -a /etc/modprobe.d/blacklist-sof.conf
echo "blacklist snd_sof_intel_hda" | sudo tee -a /etc/modprobe.d/blacklist-sof.conf
echo "blacklist snd_sof" | sudo tee -a /etc/modprobe.d/blacklist-sof.conf

После чего, вносим дополнение в GRUB

1
2
3
nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_intel_dspcfg.dsp_driver=1"

Что это делает: snd_intel_dspcfg.dsp_driver=1 - принудительно выбирает старый драйвер HDA вместо нового SOF

  • Значение 1 означает: использовать legacy HDA драйвер
  • Значение 2 (по умолчанию): использовать новый SOF драйвер
  • Значение 3: автоопределение

После чего изменений:

1
2
 update-grub
 reboot

Загрузжаемся и проверяем.

1
cat /proc/cmdline | grep dsp_driver

Должно быть.

1
snd_intel_dspcfg.dsp_driver=1

Ну и после чего проверяем звук. У меня все заработало.

Авторский пост защищен лицензией CC BY 4.0 .

Популярные теги