How do I install new Intel HDA sound drivers?
In certain cases I might have an older kernel or release of Ubuntu where my sound driver might be too old or buggy, how can I get updated sound drivers for my built in Intel Audio chip?
4 Answers 4
- Go to this page
- Under the «Source label», check which DKMS package that is corresponding to your current distribution series (Maverick, Natty, Oneiric etc) and click the leftmost arrow to expand that section.
- Under the new section «Package files», click the file ending with «.deb», download and install it:
- You can either do this by selecting «open with», which will take you to the Ubuntu Software Center, where you can click «Install», or
- Save the file to disk, open a terminal window, change to the right directory and execute «sudo dpkg -i «
- Reboot.
These instructions will only work if there is a corresponding daily build. That is, installing on 16.04.2 is not possible using 16.04.1, so make certain that the distribution name and version both match.
For a long time I used the method of Jorge Castro, but found it not worked from some time. The next command fix it perfectly:
sudo apt install linux-modules-extra-`uname -r`
I had the same issue and I was able to fix it using «HDAJackRetask» from «alsa-tools-gui». Enter the following command in the terminal:
sudo apt install alsa-tools-gui
Then open HDAJackRetask by entering hdajackretask in terminal or using the applications menu.
Select the proper hardware from the drop down menu on top (Conexant CX20641 in my case) and override the «Green Line Out, Rear side» (or any other connection you’re using) from «Line out» to «Internal speaker».
In my case the «Apply now» button resulted in a «resource busy» error, but using the «Install boot override» I was able to reload the override configuration automatically during the boot process.
For me, on Ubuntu 20.0.04, inxi -A was showing no audio driver:
$ inxi -A Audio: Device-1: Intel C610/X99 series HD Audio driver: N/A
The hdajackretask command would segfault upon trying to run, and installing linux-modules-extra-* did nothing to help. The solution was this answer:
sudo nano /etc/default/grub
Find GRUB_CMDLINE_LINUX_DEFAULT and add snd_hda_intel.dmic_detect=0 to the end of it.
It will look something like this:
GRUB_CMDLINE_LINUX_DEFAULT=»loglevel=3 snd_hda_intel.dmic_detect=0″
Rebuild grub menu sudo grub-mkconfig -o /boot/grub/grub.cfg and reboot.
That caused the driver to show up, and all audio to work. No more «Dummy Output».
$ inxi -A Audio: Device-1: Intel C610/X99 series HD Audio driver: snd_hda_intel
Опции для драйвера snd-hda-intel
HD-audio — это новый стандарт встроенного аудиокомпонента на современных ПК после AC97. Хотя Linux уже давно поддерживает HD-audio, с новыми машинами часто возникают проблемы. Часть проблемы — сломанный BIOS, остальное — реализация драйвера. В этом документе объясняются краткие методы устранения неполадок и отладки оборудования HD-audio.
Компонент HD-audio состоит из двух частей: микросхемы контроллера и микросхем кодека на шине HD-audio. Linux предоставляет один драйвер для всех контроллеров, snd-hda-intel. Хотя в названии драйвера содержится слово известного производителя оборудования, оно относится не только к нему, а ко всем микросхемам контроллеров, в том числе и других компаний. Поскольку предполагается, что контроллеры HD-аудио совместимы, в большинстве случаев должен работать один драйвер snd-hda. Но, что неудивительно, существуют известные ошибки и проблемы, характерные для каждого типа контроллера. В драйвере snd-hda-intel есть несколько способов их исправить, они описаны ниже.
У контроллера может быть несколько кодеков. Обычно у вас есть один аудиокодек и, возможно, один модемный кодек. Теоретически может быть несколько аудиокодеков, например для аналоговых и цифровых выходов, и драйвер может работать неправильно из-за конфликта элементов микшера. Это должно быть исправлено в будущем, если такое оборудование действительно существует.
Драйвер snd-hda-intel имеет несколько различных парсеров кодеков в зависимости от кодека. В качестве запасного варианта у него есть общий синтаксический анализатор, но до сих пор эта функциональность довольно ограничена. Вместо общего синтаксического анализатора обычно используется синтаксический анализатор кодека (закодированный в patch_*.c) для реализаций, зависящих от кодека.
Опции модели для кодека HD-Audio
Наиболее частая проблема с драйвером HD-audio — это неподдерживаемые функции кодека или несоответствующая конфигурация устройства. Большая часть кода, специфичного для кодеков, имеет несколько предустановленных моделей, чтобы либо переопределить настройку BIOS, либо предоставить более полные функции.
Драйвер проверяет идентификатор SSID PCI и просматривает таблицу статической конфигурации, пока не будет найдена соответствующая запись. Если у вас новый компьютер, вы можете увидеть сообщение, подобное приведённому ниже:
hda_codec: ALC880: BIOS auto-probing.
Между тем, в более ранних версиях вы бы увидели такое сообщение:
hda_codec: Unknown model for ALC880, trying auto-probe from BIOS.
Для просмотра записей системного журнала связанных с snd-hda-intel используйте команду:
journalctl -b | grep hda_codec
Даже если вы видите такое сообщение, не надо паниковать. Прежде всего, это информационное сообщение, без предупреждения и без ошибки. Это означает, что PCI SSID вашего устройства не указан в списке известных предустановленных моделей (белом списке). Но это не значит, что драйвер сломан. Многие драйверы кодеков предоставляют механизм автоматической настройки на основе настроек BIOS.
Аудиокодек HD обычно имеет виджеты «контактов», а BIOS устанавливает конфигурацию каждого контакта по умолчанию, которая указывает местоположение, тип подключения, цвет разъёма и т. д. Драйвер HD-аудио может угадать правильное соединение, исходя из этих значений конфигурации по умолчанию. Однако некоторые коды поддержки кодеков, такие как patch_analog.c, не поддерживают автоматическое зондирование. И BIOS часто, да, довольно часто ломается. Он устанавливает неправильные значения и портит поведение драйвера.
Модель пресетов (недавно названная «исправлением») предназначена в основном для преодоления такой ситуации. Когда соответствующая модель пресета найдена в белом списке, драйвер предполагает статическую конфигурацию этой предустановки с правильной установкой контактов и т. д. Таким образом, если у вас есть более новая машина с немного другим SSID PCI (или SSID кодека) от существующий, у вас может быть хороший шанс повторно использовать ту же модель. Вы можете передать параметр модели, чтобы указать предустановленную модель вместо поиска SSID PCI (и кодека).
Доступные значения параметров модели зависят от микросхемы кодека. Проверьте свою микросхему кодека в файле proc кодека.
cat /proc/asound/card*/codec* | grep Codec Codec: Realtek ALC295 Codec: Intel Kabylake HDMI
Он покажет название производителя/продукта вашего чипа кодека. Затем смотрите файл HD-Audio Codec-Specific Models, раздел HD-audio driver. Вы можете найти список кодеков и вариантов моделей, принадлежащих каждому кодеку. Например, для чипа кодека Realtek ALC262 укажите model=ultra для устройств, совместимых с Samsung Q1 Ultra.
Сделайте резервную копию файла, если он уже существует:
sudo cp /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.bak
Для исправления достаточно добавить строку в файл /etc/modprobe.d/alsa-base.conf:
sudo gedit /etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=МОДЕЛЬ
Вместо слово МОДЕЛЬ нужно вписать значение, которое вы найдёте для модели вашего ноутбука на странице HD-Audio Codec-Specific Models.
Причём там не обязательно будет точное название модели — просто найдите то, что ближе всего к ней. Например, модель моего ноутбука ASUS GL703GE, самое похожее, что я смог найти, это «asus-g73jw», тогда строка, которую я добавил в файл /etc/modprobe.d/alsa-base.conf, следующая:
options snd-hda-intel model=asus-g73jw
Сохраните этот файл и перезагрузитесь — после этого проблема должна исчезнуть.
Вместо перезагрузки вы можете перезапустить модуль драйвера — это особенно удобно, если вы хотите попробовать несколько значений.
sudo modprobe -r snd-hda-intel sudo modprobe snd-hda-intel
Таким образом, первое, что вы можете сделать для любого совершенно нового, неподдерживаемого и неработающего оборудования для HD-аудио, — это проверить HD-аудиокодек и несколько различных значений параметров модели. Если вам повезёт, некоторые из них могут хорошо подойти к вашему устройству.
Есть несколько специальных значений опций модели:
- когда передаётся «nofixup», специфичные для устройства исправления в анализаторе кодеков пропускаются.
- когда передаётся «generic» синтаксический анализатор кодека пропускается, и используется только общий синтаксический анализатор.
Вывод на динамик и наушники
Одна из наиболее частых (и очевидных) ошибок с HD-аудио — это бесшумный вывод звука через встроенный динамик или разъем для наушников или их обоих. В общем, сначала стоит попробовать выход на наушники. Для выхода динамика часто требуются дополнительные элементы управления, такие как биты внешнего усилителя. Таким образом, выход на наушники имеет немного больше шансов.
Перед отправкой отчёта об ошибке ещё раз проверьте, правильно ли настроен микшер. Последняя версия драйвера snd-hda-intel обеспечивает в основном «Master» регулятор громкости, а также «Front» (где Front указывает передние каналы). Кроме того, могут быть отдельные элементы управления «Наушники» и «Динамик».
То же самое и для выхода на динамик. На некоторых кодеках может быть переключатель «Внешний усилитель». Включите это, если есть.
Ещё одна проблема, связанная с этим, — это автоматическое отключение звука на динамиках при подключении наушников. Эта функция реализована в большинстве случаев, но не для каждой предустановленной модели или кода поддержки кодеков.
В любом случае попробуйте другой вариант модели, если у вас есть такая проблема. Некоторые другие модели могут подходить лучше и предоставлять вам больше возможностей для соответствия.
Нет звука с HDA Intel PCH
Мне не удается заставить звук работать на моем Ubuntu 12.10. Вывод моего alsa-info.sh находится здесь.
Буду признателен за любую помощь, чтобы решить эту проблему!
2 ответа
Что бы это ни стоило, я только что решил проблему отсутствия звука на моей HDA-карте Intel PCH: я запустил «alsamixer» в терминале и включил звук в столбце «Line» (клавишей M).
- Я также позаботился о том, чтобы включить звук колонок Master, Headphone, Front, Surround, Center и LFE, но только когда я включил звук Line, звук вышел.
- В строке «Чип» в alsamixer указано «Realtek ALC887-VD».
- Звуковое программное обеспечение никогда не жаловалось на звуковое устройство.
- Моя система — Ubuntu 12.04. Динамики подключены к зеленому разъему на задней панели ПК.
- Я проверил динамики с другим компьютером.
У меня была такая же проблема на моем ноутбуке Asus K55A, и я исправил ее, выполнив следующие действия:
sudo nano /etc/modprobe.d/alsa-base.conf
в конце скрипта добавьте эту строку:
параметры snd-hda-intel модель =pch position_fix=1
Ctrl + X для выхода
Когда вы пытаетесь выйти, он попросит вас сохранить, введите «Y«, затем «Enter«
Затем он спросит вас, какое имя файла вы хотите сохранить как, не меняйте его! Просто нажмите «Enter«
Перезагрузите машину, и вы должны быть готовы к работе!