[mythtv-users] RE: Configuring SPDIF digital out.

Mat Kyne matkyne at hotmail.com
Tue Dec 13 00:47:59 EST 2005


I finally got it working.

Here is what I did to enable spdif output to my amp when I switched from a 
SB Live! 5.1 analog surround card to the on-board audio on my Asus 
motherboard.

The obvious first step was to remove the SB Live! Card from the PC. During 
the Power On Self Test (POST), I entered the BIOS settings and enabled the 
on-board audio. Saved the settings ant continued with the boot up.

KDE informed me that the default audio device was missing. I went to the 
Start menu --> System Settings --> Soundcard Detection. KDE found my 
Soundcard and played a test tune. The analog sound was coming out of my TV 
Speakers and nothing was coming out of my Receiver.

I opened up a terminal and typed alsamixer.  I was given an error message :

alsamixer: function snd_ctl_open failed for default: no such file or 
directory.

Googling for that error led me to believe that my modprob.conf file was to 
blame so. . .

# (any text editor) /etc/modprob.conf

-----Before------

alias eth0 sk98lin
options snd-emu10k1 index=0
remove snd-emu10k1 { /usr/sbin/alsactl store 0 >/dev/null 2>&
1 || : ; }; /sbin/modprobe -r --ignore-remove snd-emu10k1
alias char-major-81 cx8800
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd
alias ieee1394-controller ohci1394
# nvidia kernel module
alias char-major-195 nvidia-1_0-7174
alias nvidia nvidia-1_0-7174
options snd-intel8x0 index=1
remove snd-intel8x0 { /usr/sbin/alsactl store 1 >/dev/null 2>&1 || : ; }; 
/sbin/modprobe -r --ignore-remove snd-intel8x0
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
options snd-intel8x0 index=0
remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; 
/sbin/modprobe -r --ignore-remove snd-intel8x0

The intel8x0 is my on-board audio device, and the emu10k1 was my old card. I 
commented out the lines referencing my old sound card and made a few number 
changes in the file. This is my file after editing it.

-------After--------

alias eth0 sk98lin
#options snd-emu10k1 index=0
#remove snd-emu10k1 { /usr/sbin/alsactl store 0 >/dev/null 2>&
1 || : ; }; /sbin/modprobe -r --ignore-remove snd-emu10k1
alias char-major-81 cx8800
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd
alias ieee1394-controller ohci1394
# nvidia kernel module
alias char-major-195 nvidia-1_0-7174
alias nvidia nvidia-1_0-7174
#changed index=1 to index=0 and ... store 1 to store 0
options snd-intel8x0 index=0
remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; 
/sbin/modprobe -r --ignore-remove snd-intel8x0
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
options snd-intel8x0 index=0
remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; 
/sbin/modprobe -r --ignore-remove snd-intel8x0

I rebooted and still no dice. Same error message from alsamixer. I tried 
creating a .asoundrc file like like the example on the ALSA website.

$ vi /home/mythtv/.asoundrc

pcm.intel8x0 {
   type hw
   card 0
}

ctl.intel8x0 {
   type hw
   card 0
}

Still no digital sound. I attempt to run alsamixer and receive this error 
message:

alsamixer: relocation error: alsamixer: symbol 
snd_mixer_selem_get_playback_dB, version ALSA_0.9 not defined in file 
libasound.so.2 with link time reference

After a few Google’s, I find out what needs to be done.
It is time to update drivers and such. But first a little house cleaning.

# mv /usr/lib/libasound.so.2 moved.libasound.so.2
# mv /usr/lib/libasound.so.2.0.0 moved.libasound/so/2/0/0

--- I later went back and deleted them but you can’t be too careful ---

# yum install alsa-utils
# yum install alsa-lib
# yum install alsa-driver

I tried alsamixer again and it worked.
In alsamixer I un-muted IEC958, turned ICE958 Playback all the way down, set 
ICE958 Playback source to [AC-Link], un-muted External Amplifier, turned 
<PCM> and <Master> up to 90%. ESC to exit.

--- I don’t know if all of this was necessary, but it worked for me. ---

I started up mythfrontend, and navigated to Utilities/Setup -> Setup -> 
General. On the 3rd page I selected “Enable AC3 to SPDIF passthrough” and  
“Audio output device” was already on “/dev/dsp”.
Finish going through the menu’s in order to make the settings take effect.
After I verified that it worked, I spent a few minutes patting myself on the 
back, and then decided to save my settings.

#  /usr/sbin/alsactl store

--  That’s it. I hope someone can find this information useful. -Mat




More information about the mythtv-users mailing list