LINUX.ORG.RU

Matebook D14 (2022, intel) — не видит звуковую карту

 , ,


0

1

Устройство: HUAWEI Matebook D14 (2022, intel) (NbD-WDi9), ОС: elementary OS 7, based on Ubuntu 22.04.2 LTS, Ядро: 6.2.7-060207-generic (обновил с 5.19, не помогло)

Не работают звук и микрофон (судя по всему, распространённая проблема matebook-ов)

В системных настройках написано Нет устройств вывода, утилита реалтека видит только Фиктивный выход.

alsamixer выдаёт ошибки:

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: Нет такого файла или каталога
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога
ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога
ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: Нет такого файла или каталога
ALSA lib control.c:1528:(snd_ctl_open_noupdate) Invalid CTL default
Не удаётся открыть микшер: Нет такого файла или каталога

В выводе systemd тоже ошибки:

...
[    3.523447] sof-audio-pci-intel-tgl 0000:00:1f.3: Direct firmware load for intel/sof-tplg/sof-tgl-es8336-dmic2ch-ssp0.tplg failed with error -2
[    3.523451] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg request firmware intel/sof-tplg/sof-tgl-es8336-dmic2ch-ssp0.tplg failed err: -2
[    3.523452] sof-audio-pci-intel-tgl 0000:00:1f.3: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
[    3.523453] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -2
[    3.523454] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -2
[    3.523461] sof-essx8336 sof-essx8336: ASoC: failed to instantiate card -2
[    3.523513] sof-essx8336 sof-essx8336: snd_soc_register_card failed: -2
[    3.523514] sof-essx8336: probe of sof-essx8336 failed with error -2
...

Среди системных устройств этих нет:

cat /proc/asound/cards
--- no soundcards ---

Пробовал решения из этого треда (кроме сборки ядра – я так понимаю, это версия для более старых моделей и мне не подходит?), ничего не помогло. К тому же, в отличии от проблемы ОПа того треда, звука у меня нет даже в наушниках. Может кто-нибудь помочь?

UPD – по просьбе ниже, прикладываю lspci с рабочим звуком:

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller [8086:a0c8] (rev 20)
	Subsystem: QUANTA Computer Inc Tiger Lake-LP Smart Sound Technology Audio Controller [152d:1301]
	Kernel driver in use: sof-audio-pci-intel-tgl
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
00:1f.4 SMBus [0c05]: Intel Corporation Tiger Lake-LP SMBus Controller [8086:a0a3] (rev 20)
	Subsystem: QUANTA Computer Inc Tiger Lake-LP SMBus Controller [152d:1301]
	Kernel driver in use: i801_smbus


Последнее исправление: Dimez (всего исправлений: 3)

Ответ на: комментарий от etwrq

Нет, такого файла нет, есть просто sof-tgl-es8336.tplg.

Команда ниже находит вот это:

/lib/firmware/intel/sof-tplg/sof-apl-es8336.tplg
/lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
/lib/firmware/intel/sof-tplg/sof-glk-es8336.tplg
/lib/modules/5.19.0-35-generic/kernel/sound/soc/intel/boards/snd-soc-sof_es8336.ko
/lib/modules/6.2.7-060207-generic/kernel/sound/soc/intel/boards/snd-soc-sof_es8336.ko
/lib/modules/6.2.7-060207-generic/kernel/sound/soc/amd/snd-soc-acp-es8336-mach.ko
dooood
() автор топика
Ответ на: комментарий от dooood

в пакете версии 2.0-1ubuntu4.1 этого файла нет

скачай http://cz.archive.ubuntu.com/ubuntu/pool/main/f/firmware-sof/firmware-sof-signed_2.2.4-1_all.deb архиватором достань нужный тебе файл, скопируй его куда надо и перезагрузись, проверь dmesg

d00fy ★★★
()
Ответ на: комментарий от d00fy

Получилось продвинуться на шаг вперёд – действительно, ошибок в systemd больше нет, и все системные утилиты определяют звуковой выход корректно (Tiger Lake-LP Smart Sound Technology Audio Controller, определяет системные динамики и наушники)… но самого звука все равно нет!

dooood
() автор топика
Ответ на: комментарий от dooood

на твоём ядре (5.15.0.х) звука и не будет
по ссылке, что тебе дал krasnh, предлагают ставить другое ядро, но я бы делать этого не стал

так что варианта у тебя ровно два
сидеть и ждать, пока в ядре допилят поддержку звуковухи до нужного уровня, и оно к тебе по обновлениям приедет в систему
сходить к кому-нибудь в гости с этим ноутбуком, у кого есть внешняя usb-звуковуха, попробовать её в деле и уже потом купить что-то похожее в магазине, если понравится

d00fy ★★★
()

перечитал стартовый пост - оказывается, ядро у тебя свежее

посмотри вывод
grep 'SND_SOC_AMD_ACP3x\|SND_SOC_AMD_ACP3x_ES8336_MACH\|SND_SOC_ACPI\|SND_SOC_ES8316' /boot/config-$(uname -r)
и
modinfo snd_soc_es8316 snd_acp3x_pcm_dma snd_acp3x_i2s snd_pci_acp3x snd_soc_acp3x_es8336_mach > /dev/null

d00fy ★★★
()
Ответ на: комментарий от d00fy

Оказалось всё проще – в микшере почему-то был отключен DAC, после включения долгожданный звук появился!!

Очень криво, правда – встроенные динамики определяются как Headphones, и играют громко, только если в слот наушников что-нибудь подключено (иначе играют очень тихо). Ну и проблема с «щёлканием», но это вроде бы из-за энергосбережения и должно решаться несложно

dooood
() автор топика
Ответ на: комментарий от dooood

потому что это начальная поддержка звуковухи, со временем всё станет нормально (snd-hda-intel тоже не сразу стал нормальным)

не забудь пометить тему решённой

d00fy ★★★
()
Последнее исправление: d00fy (всего исправлений: 1)
Ответ на: комментарий от d00fy

Ну, это гораздо лучше, чем ничего :)

Последний вопрос – можно ли как-то «заблокировать»/переопределить уровень Headphone на 56%? Хочу сделать на время, пока не появилась полноценной поддержки карты, наушниками все равно не пользуюсь

Добавил вот такую команду в автозагрузку: amixer set Headphone 56% Но он все равно откатывается в 0 после блокировки, выхода из сна и др.

dooood
() автор топика
Ответ на: комментарий от dooood

вряд ли
поэтому просто создай себе на раб столе файл headphone56.sh , сделай его исполняемым и пропиши туда вызов amixer с нужными тебе параметрами
потом будешь просто мышкой кликать на него после блокировки, выходна из сна и тд и тп

d00fy ★★★
()
Ответ на: комментарий от dooood

У меня другой линукс, другое DE. И в «местной» автозагрузке есть trigger (список впечатляющий) по умолчанию большинство автозагрузок на «логин» завязаны.

Значит сам сделаешь.

master_0K
()

Matebook D14 (2022, intel)

ОС: elementary OS 7, based on Ubuntu 22.04.2 LTS

Имхо, на новое* железо надо ставить дистры с rolling release. Иначе так и будет подтягиваться старое ПО, как было озвучено выше, за всем не уследишь.

*Надеюсь, этот ноут попадает под определение нового. )

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Ну условный Arch я побаиваюсь на реальное железо ставить, там всё-таки нужно довольно хорошо в линуксе разбираться. На Ubuntu-based дистры, говорят, легче найти гайды, ориентированные на новичков. Хотя, интересно будет когда-нибудь попробовать, конечно..

Ладно, всем спасибо, отмечаю тему как решённую.

dooood
() автор топика
Ответ на: комментарий от dooood

Руками делается примерно так.

Пишешь команду amixer set Headphone 56% в скрипт a56.sh (имя просто для примера). Сохраняешь как /usr/local/a56.sh и делаешь исполняемым.

Дальше создаешь файл set56.desktop (имя для примера) следующего* содержания:

[Desktop Entry]
Type=Application
Exec=/usr/local/a56.sh

Для своего пользователя его нужно размещать в ~/.config/autostart/. Для всех в /etc/xdg/autostart/ (но там владелец root).

Это всё примерно, т.к. я двух одинаковых у себя не увидел. Возможно, где-то в Freedesktop есть полная спецификация.

master_0K
()

чуть не забыл,
добавь в конец стартового поста вывод команды lspci -nnk | grep -iA4 audio
(лишние строки удали, заглавие дай «вывод lspci c рабочим звуком»)

d00fy ★★★
()

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

# исправление звука при первом входе в профиль
amixer set Headphone 56%

# исправление звука при каждой разблокировке экрана
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
    while read x; do
        case "$x" in
            *"boolean false"*) amixer set Headphone 56%;;
        esac
    done

Добавил в автозагрузку, теперь звук всегда громкий :)

dooood
() автор топика
Ответ на: комментарий от zipton

Ну смотри,

  1. у тебя такое же железо, как и у ТС
  2. у тебя система такая же, как и у ТС (Ubuntu 22.04.2 LTS)
  3. ты обновил ядро, как и ТС до 6.2.8

Он решил проблему советами из темы, в чем проблема повторить его путь?

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от zipton

Посмотри, что пишет dmesg | grep firm.

Если тоже firmware load for intel/sof-tplg/sof-tgl-es8336-dmic2ch-ssp0.tplg failed with error -2, то повторяем действия ТС:

  • установка пакета firmware-sof-signed
  • проверка версии и при необходимости скачивание крайней 2.2.4-1. Подкинуть нужный файл в нужное место ручками (странно, разве нельзя пакетным менеджером?)
  • опять поверяем dmesg | grep firm
  • если ошибок нет, перезапускаемся (хз, может и не надо и колонки сразу зазвучат :))

Если все еще нет звука, смотрим как у ТС:

Оказалось всё проще – в микшере почему-то был отключен DAC, после включения долгожданный звук появился!!

krasnh ★★★★
()
Ответ на: комментарий от zipton

Я, выше, руководствуюсь этим:

как вы это сделали ?У меня аналогичный ноут и я ни как не могу завести на нём звук

Но возможно там другая начинка? Это же китайский ноут?

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

:~$ sudo dmesg | grep firm [ 1.901800] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12) [ 34.634068] iwlwifi 0000:00:14.3: loaded firmware version 72.daa05125.0 QuZ-a0-hr-b0-72.ucode op_mode iwlmvm [ 34.860424] Bluetooth: hci0: Minimum firmware build 1 week 10 2014 [ 34.866593] Bluetooth: hci0: Found device firmware: intel/ibt-19-0-4.sfi [ 36.567716] Bluetooth: hci0: Waiting for firmware download to complete

Ни каких ошибок нет,но звуковуху он вообще не видит по моему .

zipton
()
Ответ на: комментарий от krasnh

Уже установлен пакет firmware-sof-signed самой новой версии (2.0-1ubuntu4.1). Следующие пакеты устанавливались автоматически и больше не требуются: libegl1-mesa linux-hwe-5.19-headers-5.19.0-32 Для их удаления используйте «sudo apt autoremove».

zipton
()