LINUX.ORG.RU

Gentoo alsa не работает

 , , ,


0

2

Добрый день, не работает звук, судя по всему не подгружается модуль. Возможно при сборке ядра не то указал для этого устройства.

lspci -k | grep -iA5 audio
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
	DeviceName: Onboard - Sound
	Subsystem: Micro-Star International Co., Ltd. [MSI] Cannon Lake PCH cAVS
	Kernel driver in use: snd_hda_intel
dmesg | grep -i hda
[    0.212175] pci 0000:01:00.0: Enabling HDA controller
[    0.570335] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    1.661604] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops 0xffffffffb36a7ec0)
[    1.683260] hdaudio hdaudioC0D0: Unable to bind the codec
[    1.683341] hdaudio hdaudioC0D2: Unable to bind the codec
aplay -l
aplay: device_list:274: no soundcards found...

в lsmod snd_hda_intel нет, пробовал modprobe, не подгрузил

cat /usr/src/linux/.config | grep -i snd | grep -v '#'
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCI=y
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_USB=y
CONFIG_SND_PCMCIA=y
CONFIG_SND_X86=y

Возможно при сборке ядра не то указал для этого устройства.

Подгружается.

	DeviceName: Onboard - Sound
	Subsystem: Micro-Star International Co., Ltd. [MSI] Cannon Lake PCH cAVS
	Kernel driver in use: snd_hda_intel

Но он тебе чёрным по белому пишет в чём проблема:

[    1.683260] hdaudio hdaudioC0D0: Unable to bind the codec
[    1.683341] hdaudio hdaudioC0D2: Unable to bind the codec

Ты при сборке ядра не включил поддержку ни одного из кодеков.

Так что пересобирай ядро и включай в драйвере HDA Intel кодеки.

Чтобы узнать какой кодек нужен загружаешься с любого LiveCD и выполняешь команду:

grep -i code /proc/asound/card*/codec#*
infomeh ★★
()
Последнее исправление: infomeh (всего исправлений: 2)
Ответ на: комментарий от infomeh

Прочел, возможно я ничего не понял, но они включены. В ядре стоят:

[*] Build Realtek HD-audio codec support
[*] Build Silicon Labs 3054 HD-modem codec support
[*] Enable generic HD-audio codec parser

Но cat /proc/asound/cards пишет no soundcards. В /proc/asound/card0 пусто. В /etc/asound.conf ~/.asoundrc не лез их вообще нет. Папки /proc/asound/modules нет, на стационарнике есть и там

0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
ReiB0T
() автор топика
Ответ на: комментарий от ReiB0T

Сколько раз ты собирал ядро, которое сейчас у тебя загружено?

Кодеки были включены у тебя сразу же при первой сборке ядра?

Покажи вывод

file /usr/src/linux/arch/x86/boot/bzImage 
uname -a

Сейчас у тебя в драйвере hda intel нет нужного кодека.

Покажи вывод также ранее указанной команды на системе, загруженной с LiveCD.

Там где работает звук.

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

Кодеки включены c первой сборки

file /usr/src/linux/arch/x86/boot/bzImage 
/usr/src/linux/arch/x86/boot/bzImage: Linux kernel x86 boot executable bzImage, version 5.10.10-gentoo (root@gl63-8rc) #9 SMP Sat Jan 30 08:19:02 +07 2021, RO-rootFS, swap_dev 0xB, Normal VGA
uname -a
Linux gl63-8rc 5.10.10-gentoo #2 SMP Thu Jan 28 21:46:01 +07 2021 x86_64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz GenuineIntel GNU/Linux
ReiB0T
() автор топика
Последнее исправление: ReiB0T (всего исправлений: 1)
Ответ на: комментарий от ReiB0T

А теперь сравни:

#9 SMP Sat Jan 30 08:19:02 +07 2021

Это время сборки ядра в /usr/src/linux и от него же у тебя установлены модули в /lib/modules/5.10.10-gentoo/

Thu Jan 28 21:46:01

А вот время сборки ЗАГРУЖЕННОГО ядра.

Разницу видишь?

Ты сейчас загружаешь образ ядра, который ты собирал 28 января в 21:46:01.

И в нём у тебя наверное кодек не включен.

Если /boot у тебя на отдельной файловой системе, то перед установкой ядра монтируй его.

Точнее перед установкой образа собранного ядра и модулей монтируй /boot.

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

Где вывод grep? Ты запутался и не понимаешь что тебя прошу показать?

Мне нужен вывод grep, смотри команду выше.

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

Странно видеть свежую тему по ядру. Видимо, нельзя загрузиться с liveCD Ubuntu, примонтировать свой диск, записать в него конфиг, перезагрузиться, поместить новый конфиг в папку /usr/src/linux, сделать команды make oldconfig, make menuconfig. Или не делать последнюю команду, а просто руками заменить все «=m» на «=y» в .config, собрать, при UEFI положить в /boot/EFI/boot и назвать bootx64.efi (boot в fat32). Сделать волшебную команду make modules_install,,,

Троллинг по ядру не приносит корма, ИМХО. Будет ещё что-то, а воспринимать уже сложно.

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

Даже если бы автор темы это сделал, то у него бы ничего не получилось. Он забывает смонтировать /boot и в итоге загрузится со старым ядром, а не собранным.

И в Gentoo завезли бинарные ядра.

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

Он забывает смонтировать /boot

Аминь. Но автор темы троллит, так как эта тема не первая.

white_bull
()
Ответ на: комментарий от infomeh

я запутался. Да и на генту пробую перейти дня 3-4. вывод grep, я выше писал

grep -i code /proc/asound/card*/codec#*
/proc/asound/card0/codec#0:Codec: Realtek ALC892
/proc/asound/card0/codec#2:Codec: Intel Kabylake HDMI
ReiB0T
() автор топика
Ответ на: комментарий от white_bull

Я загружался с LiveCD gentoo, смысл этого zcat /proc/config.gz? Там по умолчанию куча всего лишнего включено, у меня нет amd железок которые он подключает. Либо так методом тыка понимать что подключать, либо методом тыка понимаьб что отключать?

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

Нет, boot монтируется, возможно я неправильно пересобираю ядро.

cd /usr/src/linux
make menuconfig
make && make modules_install && make install
genkernel --install --config=.config initramfs
ReiB0T
() автор топика
Ответ на: комментарий от ReiB0T

Я не знаю что у тебя монтируется.

Но ты просмотрел вывод команд, в котором показаны дата сборки загруженного ядра и дата сборки ядра в дереве исходных кодов?

Видишь, что они отличаются?

Если ты загружаешь ядро без загрузчика сразу через EFI, то удостоверься, что ты скопировал образ ядра в директорию с EFI.

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

Проанализируй команды что ты делаешь, руководства которым ты следуешь.

Следуй руководствам не бездумно.

Если система у тебя запускается с помощью загрузчика grub, то тебе нужно удостовериться, что образ ядра который будет грузиться загрузчиком соответствует образу ядра, которое ты последним собирал.

Если система грузится в EFI режиме и ядро собрано с EFI Stub, т.е. ядро запускается само, без загрузчика, то удостоверься что в EFI разделе ты положил новый образ ядра.

Как посмотреть дату и время сборки загруженного ядра я написал. Как посмотреть дату сборки образа ядра в дереве исходных кодов я тоже написал.

Время сборки ядра на EFI разделе или в /boot можешь так же посмотреть с помощью утилиты file.

В общем, включай голову.

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

Я понял, не знаю как вы поняли, но действительно ошибка была в etc/fstab и раздел не монтировался, но почему то работал. Спасибо за помощь и за терпение.

ReiB0T
() автор топика
Последнее исправление: ReiB0T (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.