February 28th, 2010

харёк

Домашний сервер на атоме: Часть 3 (звук 5.1)

Дошли руки до шлифовки сервера... Звуковуха прекрасно работает из коробки в режиме 2.0 с микрофоном и линейным входом, но вот как переключить mic и line на выхлоп для 5.1 было загадкой, хотя по спекам она это умеет. Итак:

diffor@diffor-server:~$ lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

diffor@diffor-server:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]


Почему-то звуковуха упорно не хотела выдавать 5.1 и сильно ругалась даже на:
speaker-test -c 6 -D surround51 -t wav
К сожалению логов не сохранилось. После некоторого гугления и шаманства с ~/.asound.rc, которое никак не помогало, нашёл решение проблемы:

diffor@diffor-server:~$ cat /etc/modprobe.d/alsa-base.conf | grep snd-hda-intel
options snd-hda-intel power_save=10 power_save_controller=N model=3stack-6ch

В общем нужно было передать модулю ядра модель звуковухи (подчёркнуто) и в alsamixer'е появится переключатель между 2ch и 6ch. Переключаем через alsamixer store от рута, чтобы состояние восстанавливалось после запуска. Радуемся =)

З.Ы. Модель можно подобрать исходя из чипа тут:
http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt

Upd. В 10.04 такой строчки в конфиге не оказалось, нужно её просто добавить.