Configure pins with snd_hda

clinty

Member


Messages: 69

Hi guys.

I installed FreeBSD-9.0-RELEASE, but I try to configure my sound card pins. However, only the line out (green pin) seems to work. I want to have two lines out (green and black pin) on the rear, a headphone pin on the front (green) and a mic pin (pink) on the front.

I tried several things with device.hints(5) and I read snd_hda(4) but no success.

Here some informations...

uname -a
Code:
FreeBSD kong 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

cat /dev/sndstat
Code:
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA ATI R6xx HDMI PCM #0 HDMI> (play)
pcm1: <HDA Realtek ALC889 PCM #0 Analog> (play/rec) default
pcm2: <HDA Realtek ALC889 PCM #1 Analog> (play/rec)
pcm3: <HDA Realtek ALC889 PCM #2 Digital> (play)
pcm4: <HDA Realtek ALC889 PCM #3 Digital> (play)

dmesg
Code:
hdac1:  nid 17 0x99430140 as  4 seq  0     SPDIF-out Fixed jack  3 loc 25 color Unknown misc 1
hdac1:  nid 18 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1
hdac1:  nid 20 0x01014410 as  1 seq  0      Line-out  Jack jack  1 loc  1 color   Green misc 4
hdac1:  nid 21 0x01011412 as  1 seq  2      Line-out  Jack jack  1 loc  1 color   Black misc 4
hdac1:  nid 22 0x01016411 as  1 seq  1      Line-out  Jack jack  1 loc  1 color  Orange misc 4
hdac1:  nid 23 0x01012414 as  1 seq  4      Line-out  Jack jack  1 loc  1 color    Grey misc 4
hdac1:  nid 24 0x01a19c50 as  5 seq  0           Mic  Jack jack  1 loc  1 color    Pink misc 12
hdac1:  nid 25 0x02a19c60 as  6 seq  0           Mic  Jack jack  1 loc  2 color    Pink misc 12
hdac1:  nid 26 0x0181345f as  5 seq 15       Line-in  Jack jack  1 loc  1 color    Blue misc 4
hdac1:  nid 27 0x02214c20 as  2 seq  0    Headphones  Jack jack  1 loc  2 color   Green misc 12
hdac1:  nid 28 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1
hdac1: Patching widget caps nid=29 0x00400000 -> 0x00700000
hdac1:  nid 30 0x014b6130 as  3 seq  0     SPDIF-out  Jack jack 11 loc  1 color  Orange misc 1
hdac1:  nid 31 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1
hdac1: Patched pins configuration:
hdac1:  nid 17 0x99430140 as  4 seq  0     SPDIF-out Fixed jack  3 loc 25 color Unknown misc 1
hdac1:  nid 18 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac1:  nid 20 0x01014410 as  1 seq  0      Line-out  Jack jack  1 loc  1 color   Green misc 4
hdac1:  nid 21 0x01011412 as  1 seq  2      Line-out  Jack jack  1 loc  1 color   Black misc 4
hdac1:  nid 22 0x01016411 as  1 seq  1      Line-out  Jack jack  1 loc  1 color  Orange misc 4
hdac1:  nid 23 0x01012414 as  1 seq  4      Line-out  Jack jack  1 loc  1 color    Grey misc 4
hdac1:  nid 24 0x01a19c50 as  5 seq  0           Mic  Jack jack  1 loc  1 color    Pink misc 12
hdac1:  nid 25 0x02a19c60 as  6 seq  0           Mic  Jack jack  1 loc  2 color    Pink misc 12
hdac1:  nid 26 0x0181345f as  5 seq 15       Line-in  Jack jack  1 loc  1 color    Blue misc 4
hdac1:  nid 27 0x02214c20 as  2 seq  0    Headphones  Jack jack  1 loc  2 color   Green misc 12
hdac1:  nid 28 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac1:  nid 30 0x014b6130 as  3 seq  0     SPDIF-out  Jack jack 11 loc  1 color  Orange misc 1
hdac1:  nid 31 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac1: 6 associations found:
hdac1: Association 0 (1) out:
hdac1:  Pin nid=20 seq=0
hdac1:  Pin nid=22 seq=1
hdac1:  Pin nid=21 seq=2
hdac1:  Pin nid=23 seq=4
hdac1: Association 1 (2) out:
hdac1:  Pin nid=27 seq=0
hdac1: Association 2 (3) out:
hdac1:  Pin nid=30 seq=0
hdac1: Association 3 (4) out:
hdac1:  Pin nid=17 seq=0
hdac1: Association 4 (5) in:
hdac1:  Pin nid=24 seq=0
hdac1:  Pin nid=26 seq=15
hdac1: Association 5 (6) in:
hdac1:  Pin nid=25 seq=0
hdac1: Tracing association 0 (1)
hdac1:  Pin 20 traced to DAC 2
hdac1:  Pin 22 traced to DAC 3
hdac1:  Pin 21 traced to DAC 4
hdac1:  Pin 23 traced to DAC 5
hdac1: Association 0 (1) trace succeeded
hdac1: Tracing association 1 (2)
hdac1:  Pin 27 traced to DAC 37
hdac1: Association 1 (2) trace succeeded
hdac1: Tracing association 2 (3)
hdac1:  Pin 30 traced to DAC 6
hdac1: Association 2 (3) trace succeeded
hdac1: Tracing association 3 (4)
hdac1:  Pin 17 traced to DAC 16
hdac1: Association 3 (4) trace succeeded
hdac1: Tracing association 4 (5)
hdac1:  Pin 24 traced to ADC 7
hdac1:  Pin 26 traced to ADC 7
hdac1: Association 4 (5) trace succeeded
hdac1: Tracing association 5 (6)
hdac1:  Pin 25 traced to ADC 8
hdac1: Association 5 (6) trace succeeded
hdac1: Tracing input monitor
hdac1:  Tracing nid 11 to out
hdac1:  nid 11 is input monitor
hdac1:  Tracing nid 35 to out
hdac1: Tracing other input monitors
hdac1:  Tracing nid 24 to out
hdac1:  Tracing nid 25 to out
hdac1:  Tracing nid 26 to out

mixer
Code:
Mixer vol      is currently set to  75:75
Mixer pcm      is currently set to  75:75
Mixer speaker  is currently set to  75:75
Mixer line     is currently set to  75:75
Mixer mic      is currently set to   0:0
Mixer mix      is currently set to   0:0
Mixer rec      is currently set to  75:75
Mixer igain    is currently set to   0:0
Mixer ogain    is currently set to  50:50
Recording source: mic

Do you have any ideas? I tried many things, I read many posts on this forum, but I can't configure my sound card... :-/

Thanks for your help.


Best regards,


(is there any solutions to configure associations and devices without rebooting ?)
 
OP
clinty

clinty

Member


Messages: 69

Searching some informations with a similar problem, I found my own topic on Google, huhu. I see snd_hda was updated. Do you think I have to upgrade my RELEASE-9.0 to RELENG_9 ?
 

zspider

Aspiring Daemon

Reaction score: 112
Messages: 584

Wish I could help but I'm still trying to figure out my own pinout woes, this is on a Realtek ALC270. I did try upgrading to 9-STABLE but it made no difference, its still broken.

No one answered my post either, its kinda frustrating. I don't know what else to do. Don't be surprised if this is the only answer you get.
 
OP
clinty

clinty

Member


Messages: 69

Thanks for your response !

I still hope some help or advices, because I'm sure it's possible to configure my pins with device.hints. It's written in manual pages. The problem is configuring the pins...
 

zspider

Aspiring Daemon

Reaction score: 112
Messages: 584

Supposedly Realtek hasn't been ensuring that CODEC is putting out accurate information, so the pinouts could be totally wrong, and the only way is to guess, if following the output does not work.x( .
 

zspider

Aspiring Daemon

Reaction score: 112
Messages: 584

What does your current hints file look like?, maybe I can make something of it.
 
OP
clinty

clinty

Member


Messages: 69

This is the last lines I tried:

Code:
hint.hdac.1.cad0.nid20.config="as=1"
hint.hdac.1.cad0.nid21.config="as=2"

Here's a new cat /etc/sndstat
Code:
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA ATI R6xx HDMI PCM #0 HDMI> at cad 0 nid 1 on hdac0  (1p:1v/0r:0v)
pcm1: <HDA Realtek ALC889 PCM #0 Analog> at cad 2 nid 1 on hdac1  (1p:1v/1r:1v)
pcm2: <HDA Realtek ALC889 PCM #1 Analog> at cad 2 nid 1 on hdac1  (1p:1v/1r:1v) default
pcm3: <HDA Realtek ALC889 PCM #2 Digital> at cad 2 nid 1 on hdac1  (1p:1v/0r:0v)
pcm4: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1  (1p:1v/0r:0v)
 

ChalkBored

Active Member

Reaction score: 34
Messages: 135

Try:

Code:
hint.hdac.1.cad0.nid27.config="as=1 seq=15"
hind.hdac.1.cad0.nid25.config="as=5 seq=15"

It will cause the front pins to override the rear ones when something's plugged in.

You may have to set
Code:
dev.hdac.0.polling=1
in sysctl
 
OP
clinty

clinty

Member


Messages: 69

ChalkBored said:
Try:

Code:
hint.hdac.1.cad0.nid27.config="as=1 seq=15"
hind.hdac.1.cad0.nid25.config="as=5 seq=15"

It will cause the front pins to override the rear ones when something's plugged in.

You may have to set
Code:
dev.hdac.0.polling=1
in sysctl

I tried that, but no success. Only my line out (green) works. I do not have any sound on other pins.

I also tried :
Code:
hint.hdac.1.cad0.nid21.config="as=1 seq=0"
hint.hdac.1.cad0.nid27.config="as=1 seq=15"
hind.hdac.1.cad0.nid25.config="as=5 seq=0"
Same problem, no sound on others pins.

Thanks for your help !

I upgrade to 9.1-RC3, but same problem. I think I have to stay on Linux with my workstation... :-/
 

mav@

Aspiring Daemon
Developer

Reaction score: 219
Messages: 704

May be I misunderstood your question, but that is impossible to duplicate signal to three outputs staying within HDA/UAA functionality. You can only manage one copy of output signal per device. You can manage redirection between rear 7.1 out and front headphones and switching between rear and front inputs. That should work with such hints:
Code:
hint.hdac.1.cad2.nid27.config="as=1 seq=15"
hind.hdac.1.cad2.nid25.config="as=5 seq=1"
 
OP
clinty

clinty

Member


Messages: 69

Thanks for your response mav@.

I alreay tried those hints, but my front pins do not work (green and pink). However, it's not an 'important problem'.

The important question was, and I hope you will understand it: how use two line out ? I explain my problem: today, my workstation uses Windows and Linux. My sound card uses two line out, because the sound is redirected to my speakers (Logitech) and to my Hifi system (via a Jack->RCA). On Windows, I can configure all my pins, and set up a new line out. This feature don't exist on FreeBSD with snd_hda? Maybe one day?
 
Top