# Configure pins with snd_hda



## clinty (Nov 25, 2012)

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

```
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

```
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

```
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

```
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 ?)


----------



## clinty (Nov 26, 2012)

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 (Nov 27, 2012)

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.


----------



## clinty (Nov 27, 2012)

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 (Nov 28, 2012)

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 (Nov 28, 2012)

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


----------



## clinty (Nov 28, 2012)

This is the last lines I tried:


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

Here's a new cat /etc/sndstat

```
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 (Nov 29, 2012)

Try:


```
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 
	
	



```
dev.hdac.0.polling=1
```
 in sysctl


----------



## clinty (Nov 29, 2012)

ChalkBored said:
			
		

> Try:
> 
> 
> ```
> ...



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

I also tried :

```
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@ (Nov 29, 2012)

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:

```
hint.hdac.1.cad2.nid27.config="as=1 seq=15"
hind.hdac.1.cad2.nid25.config="as=5 seq=1"
```


----------



## clinty (Nov 30, 2012)

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?


----------

