Настройка звука NVidia MCP51 High Definition Audio во FreeBSD


Хотя многие звуковые карты и определяются автоматически иногда этого не происходит и в таких случаях надо немного поработать руками, итак приведу пример собственного опыта


Имеется система
$ uname -mr
6.2-STABLE-200708 amd64

Я использовал комплект бинарных модулей:


http://people.FreeBSD.org/~ariff/
http://people.freebsd.org/~ariff/BINARY_MODULES/sndkld_releng6_i386_lowlatency.tar.gz - для i386
http://people.freebsd.org/~ariff/BINARY_MODULES/sndkld_releng6_amd64_lowlatency.tar.gz - для amd64


плюс:


http://people.freebsd.org/~ariff/BINARY_MODULES/README - обязательно прочитать, описано как установить
http://people.freebsd.org/~ariff/BINARY_MODULES/soundcard.h - понадобиться
http://people.freebsd.org/~ariff/BINARY_MODULES/sndtunables.txt
http://people.freebsd.org/~ariff/BINARY_MODULES/snd_man4.tar.gz - ну в man'ах много полезного


Вот вольный перевод README


0) Загружаем нужный архив для вашей версии FreeBSD
1) Удаляем всю поддержку звуковой подсистеммы из ядра, и выгружаем\ все звуковые модули (используя kldunload)\ пересобирите ядро после удаления всех sound/snd_* опций.


2) Распаковываем архив в директорию содержашую модули ядра:
# tar -zxf sndkld_relengX_ARCH_bla.tar.gz -C /boot/kernel/


3) # kldxref /boot/kernel/


4) Fetch soundcard.h (from this directory), and put it into /usr/include/sys
replacing old soundcard.h there. This step is not mandatory unless you
wish to recompile any sound apps and enjoying quite few changes.


5) Всё. Теперь перезагружаем все ваши звуковые модули, или перезагружаем систему.

Загружаем звуковой модуль в ядро:
# kldunload snd_hda.ko

Смотрим что все получилось:
#kldstat
Id Refs Address Size Name
1 9 0xffffffff80100000 993110 kernel
2 1 0xffffffff80a94000 1b2a0 snd_hda.ko
3 2 0xffffffff80ab0000 6bcc0 sound.ko

Теперь должен быть слышен звук. С помошью следующих команд, можно посмотреть как определилась ваша карта (их вывод не плохобу привести если у вас что то пошло не так):
$ pciconf -lv
$ dmesg | grep 'pcm'

$ dmesg | grep 'pcm'
pcm0: <NVidia MCP51 High Definition Audio Controller> mem 0xfe024000-0xfe027fff irq 21 at device 16.1 on pci0
pcm0: hdac_widget_connection_parse: nid=18 WARNING: zero cnid entnum=4 j=2 index=0 entries=8 found=2 res=0x21002211
pcm0: <HDA Codec: Analog Devices AD1986A>
pcm0: <HDA Driver Revision: 20070710_0047>


$ pciconf -lv
pcm0@pci0:16:1: class=0x040300 card=0x81cb1043 chip=0x026c10de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = multimedia


Эти и другие способы нетрудно найти на форуме, например в следуюших темах:
http://bsdportal.ru/viewtopic.php?t=14408
http://bsdportal.ru/viewtopic.php?t=12456
http://bsdportal.ru/viewtopic.php?t=13202
Так же рекомендую посмотреть http://wiki.bsdportal.ru/doc:mplayer_snd_audio_video Собственно это материал был составлен на основании данного форума, просто удивительно почему эта тема появляется с завидным постоянством.

http://wiki.bsdportal.ru/faq:hard_audio

Обновлено: 12.03.2015