# S/PDIF output using snd_hda



## narcolepsy (Feb 7, 2012)

Hello folks, recently updated to FreeBSD9-RELEASE and have found that the default configuration of snd_hda (after choosing the correct default_unit) now does not give me any audio on my optical out.

Codec is a ALC888 RealTek and a verbose dmesg paste is as follows: (after I've tried changing the 
	
	



```
hint.hdac.1.cad0.nid30.config="as=1 seq=5"
```
 to try and make the spdif output use the same association as the standard outputs)


```
hdac1: Probing codec #0...
hdac1: HDA Codec #0: Realtek ALC888
hdac1:  HDA Codec ID: 0x10ec0888
hdac1:        Vendor: 0x10ec
hdac1:        Device: 0x0888
hdac1:      Revision: 0x00
hdac1:      Stepping: 0x01
hdac1: PCI Subvendor: 0x356a1462
hdac1:  Found audio FG nid=1 startnode=2 endnode=39 total=37
hdac1:
hdac1: Processing audio FG cad=0 nid=1...
hdac1: GPIO: 0x40000003 NumGPIO=3 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=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 0x01a19c40 as  4 seq  0           Mic  Jack jack  1 loc  1 color    Pink misc 12
hdac1:  nid 25 0x02a19c50 as  5 seq  0           Mic  Jack jack  1 loc  2 color    Pink misc 12
hdac1:  nid 26 0x0181344f as  4 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 0x593301f0 as 15 seq  0            CD  None jack  3 loc 25 color Unknown misc 1
hdac1: Patching widget caps nid=29 0x00400000 -> 0x00700000
hdac1:  nid 30 0x01454130 as  3 seq  0     SPDIF-out  Jack jack  5 loc  1 color   Green misc 1
hdac1: Patching pin config nid=30 0x01454130 -> 0x01454115
hdac1:  nid 31 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1
hdac1: Patched pins configuration:
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 0x01a19c40 as  4 seq  0           Mic  Jack jack  1 loc  1 color    Pink misc 12
hdac1:  nid 25 0x02a19c50 as  5 seq  0           Mic  Jack jack  1 loc  2 color    Pink misc 12
hdac1:  nid 26 0x0181344f as  4 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 0x593301f0 as 15 seq  0            CD  None jack  3 loc 25 color Unknown misc 1 [DISABLED]
hdac1:  nid 30 0x01454115 as  1 seq  5     SPDIF-out  Jack jack  5 loc  1 color   Green misc 1
hdac1:  nid 31 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac1: 4 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:  Pin nid=30 seq=5
hdac1: Association 1 (2) out:
hdac1:  Pin nid=27 seq=0
hdac1: Association 2 (4) in:
hdac1:  Pin nid=24 seq=0
hdac1:  Pin nid=26 seq=15
hdac1: Association 3 (5) 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:  Pin 30 traced to DAC 6
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 (4)
hdac1:  Pin 24 traced to ADC 8
hdac1:  Pin 26 traced to ADC 8
hdac1: Association 2 (4) trace succeeded
hdac1: Tracing association 3 (5)
hdac1:  Pin 25 traced to ADC 9
hdac1: Association 3 (5) trace succeeded
hdac1: Tracing input monitor
hdac1:  Tracing nid 11 to out
hdac1:  nid 11 is input monitor
hdac1:  Tracing nid 34 to out
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
hdac1: Tracing beeper
hdac1: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
hdac1:
```


----------



## mav@ (Feb 7, 2012)

narcolepsy said:
			
		

> Hello folks, recently updated to FreeBSD9-RELEASE and have found that the default configuration of snd_hda (after choosing the correct default_unit) now does not give me any audio on my optical out.



There is not enough information in your report. I know no reason why it should not work. Describe what you are doing and what receiving.



			
				narcolepsy said:
			
		

> Codec is a ALC888 RealTek and a verbose dmesg paste is as follows: (after I've tried changing the `# hint.hdac.1.cad0.nid30.config="as=1 seq=5"` to try and make the spdif output use the same association as the standard outputs)



By this action you've turned your 7.1 output into 10-channel. I have much doubts that it is reasonable.


----------



## narcolepsy (Feb 7, 2012)

OK, apologies if that was a bit sparse on information. I am simply trying to make any audio come out on my optical out. With the above configuration I did actually have audio coming out on the analogue line-out, but was expecting the output from there to be mirrored onto the optical out.

When I say nothing comes out, I see light come out of the optical out - so something is being driven, but no noise at all. You have me thinking that I have this hint all wrong.

If you require any more information please let me know.

M


----------



## mav@ (Feb 7, 2012)

If you _really_ want to mirror line-out on S/PDIF, try 
	
	



```
hint.hdac.1.cad0.nid30.config="as=1 seq=15 device=Headphones"
```
But probably you will have no AC3/DST pass-through in that configuration. Why do want this mirroring at all?


----------



## narcolepsy (Feb 7, 2012)

The short answer is that I don't. I simply wanted the S/PDIF to work at all. It seemed in its default configuration I wasn't getting any sound out. I've had to shutdown the box for a while, but if you require more info about the default config I'll post that later.

Cheers


----------



## narcolepsy (Feb 7, 2012)

OK. I hold my hand up and admit I was wrong. I wasn't quite grasping the fact that the first pcm was just the analogue jacks and that pcm6 was the digital interface. Thanks for the time. Clearly need to spend some time researching this. I am very interested in the ac3/hdmi passthrough however, are there docs for this?

Cheers,
M


----------



## mav@ (Feb 7, 2012)

SPDIF passthrough should just work if you enable it in your player.

Support for HDMI was added to 10-CURRENT recently. It was tested to work with NVIDIA and Intel video cards. It is not merged down yet, but I am going to do it in about a month.


----------



## nubfilter (Mar 21, 2012)

I'm interested in the HDMI out functionality as I would love to have my HTPCs running FreeBSD + XBMC. My server currently is FreeBSD9, but the HTPCs (Zotac ID41's) are Ubuntu 11.10 and they kind of drive me crazy.


----------



## mav@ (Mar 22, 2012)

Improved HDMI support was merged to 9-STABLE branch about a week ago. You may try to update your system and experiment. But you should know that HDMI audio output depends on video driver support. I've successfully tested it with latest NVIDIA binary driver. There are reports that it also works with latest Intel video driver from experimental KMS branch. For latest AMD cards it can be a problem now.


----------



## jstarcher (May 17, 2012)

I read somewhere that in 9-RELEASE for snd_hda HDMI you have to unload MSI if that makes sense?

See http://www.freebsd.org/cgi/man.cgi?query=snd_hda&sektion=4&apropos=0&manpath=FreeBSD+9.0-RELEASE


----------



## mav@ (May 18, 2012)

Yes, disabling MSI helps to get HDMI working in some cases. But on 9.0-RELEASE that will give only minimal stereo mode support.


----------

