Не работает звук, как всегда. Intel HD Audio | Gentoo
Доброго времени суток, господа. Решив в очередной раз окунуться в никс мир я по старой памяти накатил Gentoo 17.0, но как всегда есть проблема со звуком, если раньше по молодости лет я сидел сутками и решал проблемы методом гугла, сейчас же, то ли я стал туговат на мозги, то ли проблема действительно странная, кароче не получается ничего, прошу помощи, итак , для начала спек: Gygabyte EP43-DS3, Core2Quad 2.3 GHz, NVIDIA 560 Ti, 8GB RAM и всякие другие штуки не столь важные для дела
HDMI на видеокарте меня не интересует
Еще есть такая приблуда
В alsamixer девайсов нет, микшер pulseaudio тоже не показывает хардварных девайсов, никакие модули относящиеся к аудио не подтягиваются.
Вопрос: куда еще потыкать что бы эта дрянь хотя бы определилась системой? Точнее обе дряни и встроенная звуковуха и наушники.
alsactl init что-нибудь выдает?
Очень много программ привязались к Puls sudio и по этом чтобы был звук тебе надо либо поставить саму Пульсу, либо поставить переходник с Пульсы на Алсу.
Я вот к примеру пользуюсь переходником.
как всегда есть проблема со звуком
Чем ядро собирал? make modules_install не забыл? В eselect kernel выбрано что нужно?
Дата регистрации: 06.11.2018 23:03:42 Последнее посещение: 06.11.2018 23:04:04
Ощущается постановка и толстота.
Ну и альтимейт солюшен: возьми kernel и initramfs от последнего Debian’а 😀
для Intel Corporation 82801JI (ICH10 Family) HD Audio Controller нужен только snd_hda_intel.
или грузить его надо сразу.
Ты вообще читал оригинальное сообщение? У человека не загружается драйвер. Или, по-твоему, пульса с железом через святой дух общается?
ERROR: could not insert ‘snd_hda_codec_generic’: Unknown symbol in module, or unknown parameter
Ничего, что у тебя там модуль лежит поломанный? Судя по всему ты вычистил лишние символы из ядрышка на этапе сборки, задав соответствующий параметр в конфиге, чего делать не следует. Бери конфиг из Debian/Ubuntu/Fedora, собирай ядро с ним, а потом своё на базе этого конфига уже пили. Можешь и defconfig взять, но там «есть нюанс».
выложи весь конфиг на pastebin и скинь сюда
ты видать не помнишь генту, он не собрал бы пульсозависимую прогу без предварительной сборки пульсы.
could not insert ‘snd_hda_codec_generic’: Unknown symbol in module
Эта ошибка значит что ты загружаешь в ядро модуль от другого ядра.
Скорее всего, у тебя есть отдельны /boot и ты собрал одну версию ядра уже несколько раз. И первый раз у тебя был смонтирован /boot и ты установил образ ядра в смонтированный /boot, а потом собрал ещё раз ядро уже без смонтированного /boot.
В итоге ты сейчас грузишься с ядром, которое ты собрал первый раз, а модули в /lib/modules у тебя лежат уже от второй сборки ядра.
Ну либо ты попросту после второй пересборки ядра сделал только установку модулей, без установки образа ядра.
Так что удостоверься, что ты загружаешь последнее собранное ядро.
Ядро почисть и собери понову. У тебя, видать, что то старое с новым попуталось
По идее и в дебиане прога должна была за собой притащить всё нужное, ну может задав вопрос о выборе, но тем не менее мне пришлось гадать почему нет звука.
Атак анонимус выше написал правильно, я вообще не понял что у него проблема ядром, а не приложениями.
GA-EP43-DS3: Audio Realtek ALC888 codec High Definition Audio
Что-то мне кажется там HD Realtek
Ненужное подчисть, SoC SND выключи вообще, должно работать.
Итак, первичный ответ
Далее, ядро собираю генкернелом, командой
Каталога /usr/src/linux/boot у меня нет вообще, поискать не смог (:
Сейчас сбегаю в магазин и попробую убрать весь сок и собрать только с дженерик драйвером, на этой конфигурации 5 лет назад гента крутилась без проблем и звук работал чуть ли не из коробки, единственное что коробки у генты нет. Ну и видяха была другая, но это же не может влиять сейчас.
Ты ksyms зачем вырезал из ядра в менюконфиге?
Я ничего не вырезал, наверное. Не на этом уровне воспоминаний что сейчас.
Итак пересобрал ядро, конфиг в кратце
ksyms включил, в dmesg тоже самое
Сейчас попробую загрузится с флешки и посмотреть что говорит лайвсд, по результатам отпишу. Однако, 5 лет конфигурация компа не менялась кроме видеокарты и перехода на ССД, значит что-то менялось либо в драйверах либо в ядре.
Ну ладно настроим звук, потом будем с клавой разбираться, тут еще веселее ситуация. Всем спасибо за советы, надеюсь что-то прокатит.
А ты хоть знаешь зачем они нужны? Хинт: не нужны, если ты не собираешься отлаживать ядро.
Каталога /usr/src/linux/boot у меня нет вообще, поискать не смог (:
Написал же, что путь примерный, писал по памяти.
Вот правильные пути:
Неужели так сложно посмотреть что находится в /usr/src/linux и найти?
То что у тебя сейчас не работает звук — проблема лишь в том, что ты загрузил одно ядро, а модули в /lib/modules/версия_ядра/ уже от другого ядра.
Просто удостоверься, что дата и время сборки в выводах приведённых в этом сообщении командах совпадают — в этом случае модули будут загружаться и если ты правильно сконфигурировал ядро, то звук у тебя заработает.
Выкинь genkernel, ну либо используй его лишь для сборки initramfs, если он тебе нужен.
К тому же в genkernel, если ты его не настраивал ядро и модули собираются в один поток.
Либо настраивай, что бы сборка шла нормально, а лучше собирай ядро руками:
Да, знаю. Для тогО, чтобы не возникало таких проблем, как у ТС. В его случае собрать конфиг работающий от федоры и сравнивать. Собака порылась совсем не в тех опциях, которые он показывает. А искать конкретную опцию лично мне лениво — времени будет нужно потратить ооочень много. С учетом того, что линукса у меня под рукой только на серверах.
Или отключи. Или перед пересборкой ядра, предварительно сохранив .config, чисти make mrproper . Ядро не умеет дособираться, построив правильный список ненужных символов для очистки. Только полная пересборка.
Источник
Не работает звуковая карта
Добрый день. Не могу заставить работать звуковую карту.
Система:
uname -a
Linux gentoo 4.1.12-gentoo #1 SMP Thu Dec 3 04:06:02 MSK 2015 x86_64 Intel(R) Core(TM)2 CPU U7600 @ 1.20GHz GenuineIntel GNU/Linux
Железо:
lspci |grep Audio
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
inxi -F
Audio: Card Intel NM10/ICH7 Family High Definition Audio Controller driver: snd_hda_intel Sound: Advanced Linux Sound Architecture v: k4.1.12-gentoo
dmesg |grep codec
[ 0.506698] hdaudio hdaudioC0D0: Unable to bind the codec
cat /usr/src/linux/.config |grep CODEC
CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_ANALOG=m
CONFIG_SND_HDA_CODEC_SIGMATEL=m
CONFIG_SND_HDA_CODEC_VIA=m
CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_HDA_CODEC_CIRRUS=m
CONFIG_SND_HDA_CODEC_CONEXANT=m
CONFIG_SND_HDA_CODEC_CA0110=m
CONFIG_SND_HDA_CODEC_CA0132=m
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
modinfo snd_hda_intel
modinfo: ERROR: Module snd_hda_intel not found.
modinfo snd_hda_codec
modinfo: ERROR: Module snd_hda_codec not found.
Как победить звук? Заранее спасибо.
grep -i hda_intel /usr/src/linux/.config
CONFIG_SND_HDA_INTEL=y
Все сделано по wiki, все опции по ссылке включены.
aplay -l
**** List of PLAYBACK Hardware Devices ****
ls /dev/snd
by-path controlC0 hwC0D0 seq timer
cat /proc/asound/card*/codec* | grep Codec
Codec: SigmaTel ID 7690
cat /proc/asound/card*/codec* | grep ‘Vendor Id’
Vendor Id: 0x83847690
cat /proc/asound/card*/codec* | head -n 9
Codec: SigmaTel ID 7690
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x83847690
Subsystem Id: 0x10280201
Revision Id: 0x102201
No Modem Function Group found
Default PCM:
rates [0x7e0]: 44100 48000 88200 96000 176400 192000
Кодек явно не забиндился, хотя все ID для драйвера известны. Есть подозрение что сам драйвер собран статически — а вот кодеки модулями. По идее это не проблема — но обычно собирают все модулями (или все статически) и могут быть проблемы из за этого (если сам HDA драйвер пытается стартануть до того как модули с кодеками станут доступны на файловой системе).
Интерисует загружен ли модуль для сигмателовский кодека (да и вобще какие модули алзи загружены).
Также интересно виден ли сигмателовский модуль
Если snd-hda-codec-idt есть и находится но не загружен — попробуйте загрузить его руками
Да и возможно поможет полный выхлоп dmesg
Провел небольшой тест — если модуль с кодеком загружать после инициализации алзы — кодек не биндится.
Модуль не грузится:
lsmod
Module Size Used by
iwl4965 90373 0
iwlegacy 46297 1 iwl4965
и он не доступен:
modinfo snd-hda-codec-idt
modinfo: ERROR: Module snd-hda-codec-idt not found.
На загрузку руками не отвечает:
modprobe snd-hda-codec-idt
Как мне загружать кодек до алсы?
У вас какаято полная каша с модулями похоже.
И как вы собирали/конфигурировали ядро ? (genkernel? make menuconfig ?)
cat /usr/src/linux/.config |grep SND | grep -v ‘^#’
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VMASTER=y
CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCI=y
CONFIG_SND_HDA=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
CONFIG_SND_HDA_CODEC_CMEDIA=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_USB=y
CONFIG_SND_PCMCIA=y
По команде find /lib/modules | grep snd ответа не было.
uname -a
Linux gentoo 4.1.12-gentoo #1 SMP Thu Dec 3 04:06:02 MSK 2015 x86_64 Intel(R) Core(TM)2 CPU U7600 @ 1.20GHz GenuineIntel GNU/Linux
Попробуйте пересобрать все что относится к звуку модулями, есть подозрение что в альзе есть баг который ей не позволяет нормально биндить HDA кодеки при компиляции внутри ядра (причем там может быть жуткий рандом — у кого работает, у кого нет).
Вот мой конфиг (для примера):
Попробуйте если не поможет — постараюсь еще в исходниках алзы покопаться.
Пересобрал ядро. Теперь после modprobe snd-hda-codec-idt , получатеся следующее:
lsmod
Module Size Used by
snd_hda_codec_idt 45330 0
snd_hda_codec_generic 54023 1 snd_hda_codec_idt
Но, при загрузке в dmesg |grep snd до сих пор выходит
[ 0.495444] hdaudio hdaudioC0D0: Unable to bind the codec
Прописал в /etc/modprobe.d/snd-hda.conf строку snd-hda-codec-idt, но все равно модуль не грузится.
У другие части алзы тоже модулями собраны модулями ?
Пересобрал все модулями. По cat /usr/src/linux/.config |grep SND перечислены те же модули, что и у Вас, но теперь при modprobe snd-hda-intel
modprobe: ERROR: could not insert ‘snd_hda_intel’: Exec format error
Хотя, modinfo snd-hda-intel
filename: /lib/modules/4.1.12-gentoo/kernel/sound/pci/hda/snd-hda-intel.ko
description: Intel HDA driver
license: GPL
.
И тоже самое по modprobe snd-hda-codec-idt
filename: /lib/modules/4.1.12-gentoo/kernel/sound/pci/hda/snd-hda-codec-idt.ko
description: IDT/Sigmatel HD-audio codec
license: GPL
alias: snd-hda-codec-id:111d*
alias: snd-hda-codec-id:8384*
depends: snd-hda-core,snd-hda-codec-generic,snd-hda-codec,snd
intree: Y
vermagic: 4.1.12-gentoo SMP mod_unload
Повторюсь, alsa пересобрана модулями
Возможно ядро и модули собрано с различным конфигом ядра. Попробуйте все пересобрать
Источник