# snd_hda PIN configuration



## peterlaursen (Oct 9, 2011)

Hi everyone,

I have some slight trouble with my HDA codec configuration:
1) My earphones are located at pcm0
2) My speakers are at pcm1

When I plug in the headphones, the speakers mute. I manually have to set hw.snd.default_unit to 0 in order to get output from my headphones.
This is quite annoying.
I have read the snd_hda(4) man page and have discovered the pin configuration. After ours of experimentation, I still cannot figure it out.
I hope somebody will be able to provide assistance. The end result should be as follows:
1) Speakers on PCM0 so that they were the default unit.
2) When I plug in headphones, mute the speakers and send the audio to the headphones.
3) When I unplug headphones, the audio returns to speakers.

Here is some dmesg output

```
hdac0: <Intel PCH High Definition Audio Controller> mem0xf2620000-0xf2623fff irq 17 at device 27.0 on pci0
hdac0: HDA Driver Revision: 20100226_0142
hdac0: [ITHREAD]
hdac0: HDA Codec #0: Conexant (Unknown)
hdac0: HDA Codec #3: Intel G45 HDMI
pcm0: <HDA Conexant (Unknown) PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Conexant (Unknown) PCM #1 Analog> at cad 0 nid 1 on hdac0
pcm2: <HDA Intel G45 HDMI PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
pcm3: <HDA Intel G45 HDMI PCM #1 DisplayPort> at cad 3 nid 1 on hdac0
hdac0: Dumping AFG cad=0 nid=1 pins:
hdac0:  nid 25 0x042110f0 as 15 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0
hdac0:        Caps:    OUT HP           Sense: 0xffffffff
hdac0:  nid 26 0x61a190f0 as 15 seq  0           Mic  None jack  1 loc 33 color    Pink misc 0 [DISABLED]
hdac0:        Caps: IN             VREF Sense: 0x7fffffff
hdac0:  nid 27 0x04a110f0 as 15 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0
hdac0:        Caps: IN OUT    EAPD VREF Sense: 0x7fffffff
hdac0:  nid 28 0x612140f0 as 15 seq  0    Headphones  None jack  1 loc 33 color   Green misc 0 [DISABLED]
hdac0:        Caps:    OUT              Sense: 0x7fffffff
hdac0:  nid 29 0x40f001f0 as 15 seq  0         Other  None jack  0 loc  0 color Unknown misc 1 [DISABLED]
hdac0:        Caps: IN OUT    EAPD      Sense: 0x7fffffff
hdac0:  nid 30 0x40f001f0 as 15 seq  0         Other  None jack  0 loc  0 color Unknown misc 1 [DISABLED]
hdac0:        Caps: IN                  Sense: 0x7fffffff
hdac0:  nid 31 0x901701f0 as 15 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1
hdac0:        Caps:    OUT             
hdac0:  nid 32 0x40f001f0 as 15 seq  0         Other  None jack  0 loc  0 color Unknown misc 1 [DISABLED]
hdac0:        Caps:    OUT             
hdac0:  nid 34 0x40f001f0 as 15 seq  0         Other  None jack  0 loc  0 color Unknown misc 1 [DISABLED]
hdac0:        Caps:    OUT             
hdac0:  nid 35 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1
hdac0:        Caps: IN                 
hdac0: NumGPIO=4 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
hdac0: GPIO: data=0x00000000 enable=0x00000000 direction=0x00000000
hdac0:       wake=0x00000000  unsol=0x00000000    sticky=0x00000000
hdac0: Dumping AFG cad=3 nid=1 pins:
hdac0:  nid 4 0x18560010 as  1 seq  0   Digital-out  Jack jack  6 loc 24 color Unknown misc 0
hdac0:        Caps:    OUT              Sense: 0x00000000
hdac0:  nid 5 0x18560020 as  2 seq  0   Digital-out  Jack jack  6 loc 24 color Unknown misc 0
hdac0:        Caps:    OUT              Sense: 0x00000000
hdac0:  nid 6 0x18560030 as  3 seq  0   Digital-out  Jack 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
```

Using FreeBSD 8.2-I386

All the best,

Peter.


----------



## mav@ (Oct 13, 2011)

Try this:

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


----------



## peterlaursen (Oct 14, 2011)

Thanks, it worked like a charm.

What gave away that it was those nids you had to change?


----------

