Все еще не нашел решение для надежной работы карты Soundblaster на Kubuntu (Ubuntu 24.04).

Вопрос или проблема

Долгое время я пытался понять, почему моя звуковая карта иногда загружается правильно при загрузке, иногда нет, а иногда отключается при использовании системы. Это звуковая карта (из команды lspci):

07:00.0 Audio device: Creative Labs CA0132 Sound Core3D 
[Sound Blaster Recon3D / Z-Series / Sound BlasterX AE-5 Plus] (rev 01)

Это ошибки, которые я периодически вижу, когда она не загружается (команда dmesg):

[    9.161022] snd_hda_intel 0000:07:00.0: azx_get_response timeout, switching to polling mode: last cmd=0x11970500
[   10.165000] snd_hda_intel 0000:07:00.0: azx_get_response timeout, switching to single_cmd mode: last cmd=0x11970500
[   13.677598] azx_single_send_cmd: 377 callbacks suppressed
[   13.679434] snd_hda_codec_realtek hdaudioC2D1: autoconfig for ALC899: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
[   13.679445] snd_hda_codec_realtek hdaudioC2D1:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   13.679449] snd_hda_codec_realtek hdaudioC2D1:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   13.679452] snd_hda_codec_realtek hdaudioC2D1:    mono: mono_out=0x0
[   13.679454] snd_hda_codec_realtek hdaudioC2D1:    inputs:
[   13.679458] snd_hda_codec_realtek hdaudioC2D1:      Front Mic=0x19
[   13.679460] snd_hda_codec_realtek hdaudioC2D1:      Rear Mic=0x18
[   13.679463] snd_hda_codec_realtek hdaudioC2D1:      Line=0x1a
[   13.682129] [drm] amdgpu kernel modesetting enabled.
[   13.682410] amdgpu: Virtual CRAT table created for CPU
[   13.682492] amdgpu: Topology: Add CPU node
[   13.683233] [drm] initializing kernel modesetting (POLARIS12 0x1002:0x6981 0x1002:0x0B0D 0x10).
[   13.683280] [drm] register mmio base: 0xF8000000
[   13.683282] [drm] register mmio size: 262144
[   13.683435] [drm] add ip block number 0 <vi_common>
[   13.683439] [drm] add ip block number 1 <gmc_v8_0>
[   13.683441] [drm] add ip block number 2 <tonga_ih>
[   13.683443] [drm] add ip block number 3 <gfx_v8_0>
[   13.683445] [drm] add ip block number 4 <sdma_v3_0>
[   13.683447] [drm] add ip block number 5 <powerplay>
[   13.683449] [drm] add ip block number 6 <dm>
[   13.683451] [drm] add ip block number 7 <uvd_v6_0>
[   13.683453] [drm] add ip block number 8 <vce_v3_0>
[   13.684011] amdgpu 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
[   13.688261] snd_hda_codec_realtek hdaudioC2D1: rates == 0 (nid=0x7, val=0x0, ovrd=1)
[   13.688273] snd_hda_codec_realtek hdaudioC2D1: fail to setup default for PCM ALC899 Analog
[   13.688283] snd_hda_codec_realtek: probe of hdaudioC2D1 failed with error -5
[   13.813537] amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM
[   13.813584] amdgpu: ATOM BIOS: 113-D0155100-101
[   13.816399] snd_hda_codec_realtek hdaudioC2D1: autoconfig for ALC899: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
[   13.816405] snd_hda_codec_realtek hdaudioC2D1:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   13.816409] snd_hda_codec_realtek hdaudioC2D1:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   13.816412] snd_hda_codec_realtek hdaudioC2D1:    mono: mono_out=0x0
[   13.816415] snd_hda_codec_realtek hdaudioC2D1:    inputs:
[   13.816418] snd_hda_codec_realtek hdaudioC2D1:      Front Mic=0x19
[   13.816420] snd_hda_codec_realtek hdaudioC2D1:      Rear Mic=0x18
[   13.816423] snd_hda_codec_realtek hdaudioC2D1:      Line=0x1a
[   13.822126] snd_hda_codec_realtek hdaudioC2D1: rates == 0 (nid=0x7, val=0x0, ovrd=1)
[   13.822142] snd_hda_codec_realtek hdaudioC2D1: fail to setup default for PCM ALC899 Analog
[   13.822152] snd_hda_codec_realtek: probe of hdaudioC2D1 failed with error -5
[   13.822758] [drm] UVD is enabled in VM mode
[   13.822761] [drm] UVD ENC is enabled in VM mode
[   13.822764] [drm] VCE enabled in VM mode
[   13.822890] amdgpu 0000:01:00.0: vgaarb: deactivate vga console
[   13.822897] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
[   13.822903] amdgpu 0000:01:00.0: amdgpu: PCIE atomic ops is not supported
[   13.822912] [drm] GPU posting now...
[   14.183326] snd_hda_codec_generic hdaudioC2D1: autoconfig for Generic: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
[   14.183335] snd_hda_codec_generic hdaudioC2D1:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   14.183339] snd_hda_codec_generic hdaudioC2D1:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   14.183342] snd_hda_codec_generic hdaudioC2D1:    mono: mono_out=0x0
[   14.183345] snd_hda_codec_generic hdaudioC2D1:    inputs:
[   14.183347] snd_hda_codec_generic hdaudioC2D1:      Front Mic=0x19
[   14.183350] snd_hda_codec_generic hdaudioC2D1:      Rear Mic=0x18
[   14.183353] snd_hda_codec_generic hdaudioC2D1:      Line=0x1a
[   14.187534] snd_hda_codec_generic hdaudioC2D1: rates == 0 (nid=0x7, val=0x0, ovrd=1)
[   14.187545] snd_hda_codec_generic hdaudioC2D1: fail to setup default for PCM Generic Analog
[   14.187552] snd_hda_codec_generic: probe of hdaudioC2D1 failed with error -5
[   14.187563] snd_hda_intel 0000:07:00.0: Cannot probe codecs, giving up

Иногда (но не всегда) я могу запустить pulseaudio -k, затем sudo alsa force-reload, затем pulseaudio -D, чтобы снова заставить её работать, но часто нужно продолжать перезагрузку, пока звук снова не заработает.

Вот шаги, которые я предпринял:

Первая попытка:

options snd-hda-intel probe_mask=2
options snd-hda-intel index=1
options snd-hda-intel index=2

Вторая попытка – Нет успеха:

options snd-hda-intel probe_mask=0x107
options snd-hda-codec-hdmi index=-2
options snd-hda-intel index=0

Третья попытка – Нет успеха:

options snd-hda-intel probe_mask=0x101
#options snd-hda-codec-hdmi index=-2
options snd-hda-intel index=0

Возможно, попробую это следующим шагом:

Четвертая попытка – Нет успеха:

options snd-hda-codec-hdmi index=-2
options snd-hda-intel position_fix=1
sudo nano /etc/rc.local
#!/bin/sh -e
rmmod snd_hda_intel
modprobe snd_hda_intel position_fix=1
exit 0
sudo chmod +x /etc/rc.local

Пятая попытка:

https://askubuntu.com/questions/78780/how-can-i-disable-an-audio-hdmi-device
#Избегание конфликта с Sound Blaster Recon3D
sudo nano /etc/modprobe.d/blacklist.conf
blacklist snd_hda_codec_hdmi

Шестая попытка (наконец-то звук снова заработал после этого – 31.07.24) – Нет успеха:

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=off"
sudo update-grub
#ПРЕДУПРЕЖДЕНИЕ - ЭТО ЛОМАЕТ КЛАВИАТУРУ/МЫШЬ ПРИ ЗАГРУЗКЕ

Седьмая попытка – Нет успеха (работала с перебоями некоторое время):

options snd-usb-audio index=-2
options snd-hda-codec-hdmi index=-2
options snd-hda-intel probe_mask=0x103

Восьмая попытка – Работает после перезагрузки (но в конечном итоге перестала работать):

#options snd-hda-intel probe_mask=0x103
sudo tee /etc/modprobe.d/1220-fix.conf <<<'options snd-hda-intel probe_mask=1'

Девятая попытка – 25.01.25 – Работает после нескольких перезагрузок (но в конечном итоге перестала работать)

defaults.ctl.card 2
defaults.pcm.card 2
sudo nano /usr/share/alsa/alsa.conf

Ответ или решение

Чтобы решить проблему с вашей звуковой картой Sound Blaster на Kubuntu (Ubuntu 24.04), следует учитывать несколько ключевых аспектов: конфликт драйверов, неверная конфигурация и потенциальные проблемы оборудования или совместимости с ядром Linux.

Теория

  1. Поддержка драйверов: К Ubuntu, как и к другим дистрибутивам Linux, иногда предъявляются требования к специфичным драйверам для правильной работы аппаратных средств. Карты Sound Blaster могут быть особенно требовательны из-за использования фирменных технологий Creative Labs.

  2. Управление модулями ядра: Модули ядра (например, snd-hda-intel) ответственны за взаимодействие с вашим аудиоустройством. Неправильная конфигурация, как, например, неверно установленные маски обнаружения устройств (probe_mask) или неправильные индексы, может привести к ошибкам при загрузке и использовать неправильный драйвер для устройства.

  3. Конфликты устройств: Часто проблемы возникают из-за конфликтов между несколькими аудиоустройствами, такими как HDMI-аудио от видеокарт, которое может быть приоритетнее встроенного или дискретного звукового оборудования, приводя к неоднозначному поведению ОС при выборе устройства для вывода звука.

Примеры

Ваши тесты показывают серию попыток решения проблемы с помощью измененных конфигураций и настроек загрузки, таких как:

  • Конфигурации модулей ядра: переменные, такие как probe_mask и index, были изменены в попытке правильно назначить устройство;
  • Черные списки модуля: попытка исключить HDMI-аудио из конфликта с вашей основной звуковой картой;
  • Изменения в системных файлах: правка /etc/default/grub и вызов update-grub показали, что вы пытались отключить поддержку IOMMU, что может повлиять на инициализацию устройств.

Применение

  1. Проверка аппаратного обеспечения: Убедитесь, что ваша звуковая карта полностью исправна. Если возможно, протестируйте её на другой системе.

  2. Обновление драйверов и системы: Убедитесь, что у вас установлены все последние обновления системы. Конкретно для аудиоустройств Creative Labs, использование обновлений прошивки может быть полезным.

  3. Изоляция конфликта игроков для ядра:

    • Временно отключите встроенные или HDMI аудио устройства из BIOS/UEFI, если таковые имеются. Это поможет сузить круг поиска и выявить, не влияют ли они на загрузку вашей карты.
    • Вернитесь к файлу /etc/modprobe.d/blacklist.conf и убедитесь, что все ненужные аудио модули (включая HDMI) остаются в черном списке.
  4. Тонкая настройка модулей ядра:

    • Осмотрите ваше текущее dmesg для свежих уловок или ошибок, которые могут указывать на плохую инициализацию.
    • Примените фиксированные индексы и маски для snd-hda-intel, постепенно перепробуя различные комбинации, основываясь на реакциях системы.
    • Используйте пробные комбинации position_fix и model параметров, так как иногда специфичные модели карт требуют уникальных настроек.
  5. Логирование и анализ системных сообщений: Регулярное изучение логов системы на наличие новых сообщений об ошибках после каждой настройки позволит вам сузить круг поиска. Зафиксируйте особые случаи, как успешные, так и нет, чтобы получить представление о том, какие изменения могут дать наилучшие результаты.

  6. Консультации с сообществом: Рассмотрите возможность получения помощи от сообществ, таких как форума Ubuntu, где пользователи с аналогичными проблемами могли бы предложить решения на основе их собственного опыта.

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

Оцените материал
Добавить комментарий

Капча загружается...