Отправляет email-рассылки с помощью сервиса Sendsay

FreeBSD: полезные заметки

  Все выпуски  

FreeBSD: полезные заметки. Настройка звука во FreeBSD 9.0


Всем доброго времени суток!

Особую сложность для пользователей FreeBSD, использующих её в качестве настольной ОС, является настройка звука. В этих целях существует приличной длины ман. Новичку разобраться в нём очень тяжело (особенно с проблемами, которые в нём не описаны). Расскажу, как я справился с проблемой звучания звука в наушниках при одновременном погашении звука в динамиках. По умолчанию звук идёт только из встроенных динамиков. Подключение наушников ничего не меняет. Демонстрационное средство - ноутбук Sony Vaio.

Для начала покурим собственную конфигурацию системы:

$ sudo sysctl dev.hdac.0.pindump=1 && dmesg

dev.hdac.0.pindump: 0 -> 0
hdac0: Dumping AFG cad=0 nid=1 pins:
hdac0: nid 4 0x585600f0 as 15 seq 0 Digital-out None jack 6 loc 24 color Unknown misc 0 [DISABLED]
hdac0: Caps: OUT Sense: 0x00000000
hdac0: nid 5 0x185600f0 as 15 seq 0 Digital-out Jack jack 6 loc 24 color Unknown misc 0
hdac0: Caps: OUT Sense: 0x00000000
hdac0: nid 6 0x585600f0 as 15 seq 0 Digital-out None jack 6 loc 24 color Unknown misc 0 [DISABLED]
hdac0: Caps: OUT Sense: 0x00000000
hdac0: nid 7 0x585600f0 as 15 seq 0 Digital-out None jack 6 loc 24 color Unknown misc 0 [DISABLED]
hdac0: Caps: OUT Sense: 0x00000000
hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0

Признаться, ничего интересного в нём нет. По количеству отключённых выходов похоже на мою встроенную видеокамеру. С ней каши не сваришь.

$ sudo sysctl dev.hdac.1.pindump=1 && dmesg
dev.hdac.1.pindump: 0 -> 0
hdac1: Dumping AFG cad=0 nid=1 pins:
hdac1: nid 25 0x03211040 as 4 seq 0 Headphones Jack jack 1 loc 3 color Black misc 0
hdac1: Caps: OUT HP Sense: 0x7fffffff
hdac1: nid 26 0x400001f0 as 15 seq 0 Line-out None jack 0 loc 0 color Unknown misc 1 [DISABLED]
hdac1: Caps: IN VREF Sense: 0x7fffffff
hdac1: nid 27 0x03a15030 as 3 seq 0 Mic Jack jack 1 loc 3 color Red misc 0
hdac1: Caps: IN OUT EAPD VREF Sense: 0x7fffffff
hdac1: nid 28 0x400001f0 as 15 seq 0 Line-out None jack 0 loc 0 color Unknown misc 1 [DISABLED]
hdac1: Caps: OUT Sense: 0x7fffffff
hdac1: nid 29 0x400001f0 as 15 seq 0 Line-out None jack 0 loc 0 color Unknown misc 1 [DISABLED]
hdac1: Caps: IN OUT EAPD Sense: 0xffffffff
hdac1: nid 30 0x400001f0 as 15 seq 0 Line-out None jack 0 loc 0 color Unknown misc 1 [DISABLED]
hdac1: Caps: IN Sense: 0xffffffff
hdac1: nid 31 0x90170110 as 1 seq 0 Speaker Fixed jack 7 loc 16 color Unknown misc 1
hdac1: Caps: OUT
hdac1: nid 32 0x400001f0 as 15 seq 0 Line-out None jack 0 loc 0 color Unknown misc 1 [DISABLED]
hdac1: Caps: OUT
hdac1: nid 34 0x400001f0 as 15 seq 0 Line-out None jack 0 loc 0 color Unknown misc 1 [DISABLED]
hdac1: Caps: OUT
hdac1: nid 35 0x90a70150 as 5 seq 0 Mic Fixed jack 7 loc 16 color Unknown misc 1
hdac1: Caps: IN
hdac1: NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
hdac1: GPIO: data=0x00000000 enable=0x00000000 direction=0x00000000hdac1: wake=0x00000000 unsol=0x00000000 sticky=0x00000000

А вот это уже интересней. Попробуем разобраться, что к чему.

hdac1: nid 25 Headphones color Black

Выход на мои реальные наушники (разъём чёрного цвета) - так и есть, это чёрный разъём на боковой панели.

hdac1: nid 27 Mic color Red

Выход на мой микрофон (разъём красного цвета) - так и есть, это красный разъём на боковой панели.

hdac1: nid 31 Speaker color Unknown

Выход на мои внутренние колонки, цвет неизвестен, потому как внутри ноутбука.

hdac1: nid 35 Mic color Unknown

Это какой-то внутренний микрофон, интереса для меня пока не представляет.

Итак, меняем значения. nid25 было присвоено as=4, а nid31 - as1. Меняем местами в /boot/loader.conf.

hint.hdac.1.cad0.nid31.config="as=4 seq=0 device=Headphones"
hint.hdac.1.cad0.nid25.config="as=1 seq=0"

Но это проблему не решает. Теперь по умолчанию работают только наушники (или динамики, подключённые к этому разъёму), а встроенные динамики молчат. Пришло время познать seq:

hint.hdac.1.cad0.nid31.config="as=1 seq=0"
hint.hdac.1.cad0.nid25.config="as=1 seq=15"

Ура, всё работает! Сделаем ещё доброе дело и для микрофона (с ним та же проблема):

hint.hdac.1.cad0.nid31.config="as=1 seq=0"
hint.hdac.1.cad0.nid25.config="as=1 seq=15"
hint.hdac.1.cad0.nid27.config="as=3 seq=0 device=Mic conn=Fixed"
hint.hdac.1.cad0.nid35.config="as=3 seq=15"

Ах да, и не забываем при решении проблемы проверять громкость звука:

$ mixer
Mixer vol is currently set to 100:100
Mixer pcm is currently set to 100:100
Mixer speaker is currently set to 100:100
Mixer mic is currently set to 80:80
Mixer rec is currently set to 100:100
Mixer monitor is currently set to 100:100
Recording source: mic

Ура! Всё работает!


В избранное