Многие владельцы ноутбуков с аудиосистемой Bang & Olufsen сталкиваются с проблемами в Linux: встроенные динамики не работают, наушники не переключаются автоматически, микрофон не распознается.
Эта статья покажет, как исправить эти проблемы с помощью автоматического скрипта sof_fix_audio_auto.sh, который настраивает SOF HDA DSP, подключает динамики, наушники и микрофон, и делает это автоматически при каждой загрузке системы.
Цель
- Исправить проблемы со звуком на ноутбуках с Bang & Olufsen и Intel SOF HDA DSP.
- Включить встроенные динамики, наушники и микрофон.
- Настроить автоматическую загрузку при старте системы.
1. Установка необходимых инструментов
Открой терминал и установи пакеты:
sudo apt update
sudo apt install alsa-tools alsa-tools-gui
alsa-toolsсодержитhda-verb, необходимый для переназначения пинов.alsa-tools-guiне обязателен, но полезен для визуальной диагностики.
2. Скачивание скрипта
Скачай скрипт sof_fix_audio_auto.sh в /usr/local/bin/:
cd /usr/local/bin/
sudo wget https://lewickiy.ru/downloads/sof_fix_audio.sh
3. Сделать скрипт исполняемым
sudo chmod +x sof_fix_audio_auto.sh
4. Первый запуск скрипта
sudo ./sof_fix_audio_auto.sh
Скрипт выполнит настройку всех пинов (динамики, наушники, микрофон) и автоматически создаст systemd-сервис для автозагрузки.
Пример вывода:
Используем карта 0 (SOF HDA DSP)
Пин 0x17 → 0x40
Пин 0x21 → 0x40
Настройка SOF HDA DSP завершена
Создаём systemd-сервис для автозагрузки
Сервис создан и включен в автозагрузку
5. Проверка работы звука
5.1 Динамики
speaker-test -c2 -twav -Dhw:0,0
Слушай звук с левой и правой стороны. Для остановки теста — Ctrl+C.
5.2 Наушники
speaker-test -c2 -twav -Dhw:0,31
Вставь наушники и проверь, что звук идёт через них.
5.3 Микрофон
arecord -f cd -d 5 test_mic.wav
aplay test_mic.wav
Должен воспроизводиться звук с микрофона.
6. Проверка автозагрузки
Проверяем статус сервиса:
systemctl status sof_fix_audio.service
Статус active (exited) означает, что настройки применяются при каждой загрузке.
7. Перезагрузка для проверки
sudo reboot
После загрузки все настройки применятся автоматически. Проверь динамики, наушники и микрофон, как в пункте 5.
Результат
- Встроенные динамики работают.
- Наушники распознаются автоматически.
- Микрофон активен.
- Настройки сохраняются после перезагрузки.
- Нет необходимости вручную использовать
hdajackretask.
Возможные проблемы и решения
Скрипт не запускается / hda-verb не найден
sudo apt update
sudo apt install alsa-tools
Карта SOF HDA DSP не найдена
aplay -l
Должна быть карта вида sof-hda-dsp. Если нет — обновите ядро и драйверы:
sudo apt update
sudo apt upgrade
sudo apt install linux-sound-base linux-modules-extra-$(uname -r)
Нет звука после запуска скрипта
Проверь устройство вывода:
speaker-test -c2 -twav -Dhw:0,0
Если звук есть через hw, но нет через PulseAudio/PipeWire — выбери устройство в системных настройках.
Наушники не переключаются автоматически
Скрипт не отслеживает джек в реальном времени. Можно использовать PulseAudio/ALSA автосвич:
sudo apt install alsa-utils
alsactl init
Микрофон не работает
Проверь pavucontrol или alsamixer. Node микрофона может отличаться — измените Node ID в скрипте при необходимости.
Сервис systemd не запускается
sudo systemctl daemon-reload
sudo systemctl enable sof_fix_audio.service
sudo systemctl start sof_fix_audio.service
После любых изменений перезагружай систему для корректного применения настроек.