Can't get spdif working with ALSA and FC6 on ECS L4S5MG/651+ motherboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have tried just about everything that I can think of in order to get the SPDIF port on my motherboard to work.  I am putting together a MythTV box and so I would like digital audio with AC3 passthrough to work for surround sound from DVD's and HDTV content.  The spdif output works fine under Windows (I have a dual boot setup), and so I am highly confident that the hardware is working.  I currently have the spdif output hooked into the spdif coax input of a Sony Dream System.

The analog sound is working fine under linux, and so I believe that the sound card is being detected properly.  The audio device on my motherboard is a SiS7012 chipset which is supposed to be supported by the intel8x0 ALSA driver, and as far as I can tell it is configured correctly in the kernel and modprobe.conf, but I am not an expert in drivers and kernel level stuff so I don't know.

The thing that is most puzzling to me is that when I run aslamixer, I don't see an IEC958 device or a spdif device.  This makes me wonder if for some reason the ALSA driver doesn't recognize the spdif port on the motherboard (BTW the motherboard just has a spdif header on it and I built a backplate for the case with a spdif coax plug on it.)  When I first loaded Windows it didn't recognize the spdif port either.  I had to get a more up to date driver from SiS before I could get the spdif port working.

I have included as much information as I can think of below in hopes that someone here can figure out what I am missing.

Thanks,
Rob

Here is a list of some of the things that I have tried:

I tried running alsaconf as suggested on several sites, but as far as I can tell it is not installed on my system (can't find it with a locate alsaconf), and it is not included in any of the FC6 rpms (including alsa-utils).  I guess I could compile ALSA from scratch, but I don't want to go to the trouble unless there aren't any other good options left.

I have tried to follow all of the advice on the following web pages:
http://alsa.opensrc.org/DigitalOut
http://www.mythtv.org/wiki/index.php/Configuring_Digital_Sound
http://www.mythtv.org/wiki/index.php/Configuring_Digital_Sound_with_AC3_and_SPDIF

And when I try to run "aplay -D" I get the following errors:

# aplay -D spdif /usr/share/sounds/KDE_Startup.wav
aplay: main:550: audio open error: Device or resource busy

# aplay -D hw:0,0 /usr/share/sounds/KDE_Startup.wav
aplay: main:550: audio open error: Device or resource busy

# aplay -D hw:spdif /usr/share/sounds/KDE_Startup.wav
ALSA lib pcm_hw.c:1357:(_snd_pcm_hw_open) Invalid value for card
aplay: main:550: audio open error: No such device

# aplay -D plug:spdif /usr/share/sounds/KDE_Startup.wav
aplay: main:550: audio open error: Device or resource busy

# aplay -D ALSA:spdif /usr/share/sounds/KDE_Startup.wav
ALSA lib pcm.c:2143:(snd_pcm_open_noupdate) Unknown PCM ALSA:spdif
aplay: main:550: audio open error: No such file or directory

If I don't use the -D (or I use default) everything works as it should (except I only get stereo output from the line out/headphone jack):

# aplay -D default /usr/share/sounds/KDE_Startup.wav
Playing WAVE '/usr/share/sounds/KDE_Startup.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono

# aplay /usr/share/sounds/KDE_Startup.wav
Playing WAVE '/usr/share/sounds/KDE_Startup.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono

If I use the ~/.asoundrc from http://www.mythtv.org/wiki/index.php/Configuring_Digital_Sound, I get the following error:

$ aplay -D default /usr/share/sounds/KDE_Startup.wav
ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to open slave
aplay: main:550: audio open error: Permission denied

And if I use the /etc/asound.conf from http://www.mythtv.org/wiki/index.php/Configuring_Digital_Sound_with_AC3_and_SPDIF I get this error:

# aplay /usr/share/sounds/KDE_Startup.wav
aplay: main:550: audio open error: Device or resource busy

Here is the result of aplay -l and aplay -L:

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SI7012 [SiS SI7012], device 0: Intel ICH [SiS SI7012]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
# aplay -L
PCM list:
hw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name ' defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name ' defaults.pcm.subdevice'
                }
        }
        type hw
        card $CARD
        device $DEV
        subdevice $SUBDEV
}
plughw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card '
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device '
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name ' defaults.pcm.subdevice'
                }
        }
        type plug
        slave.pcm {
                type hw
                card $CARD
                device $DEV
                subdevice $SUBDEV
        }
}
plug {
        @args.0 SLAVE
        @args.SLAVE {
                type string
        }
        type plug
        slave.pcm $SLAVE
}
shm {
        @args.0 SOCKET
        @ args.1 PCM
        @args.SOCKET {
                type string
        }
        @args.PCM {
                type string
        }
        type shm
        server $SOCKET
        pcm $PCM
}
tee {
        @args.0 SLAVE
        @args.1 FILE
        @args.2 FORMAT
        @args.SLAVE {
                type string
        }
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm $SLAVE
        file $FILE
        format $FORMAT
}
file {
        @ args.0 FILE
        @args.1 FORMAT
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm null
        file $FILE
        format $FORMAT
}
null {
        type null
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe ' cards.pcm.center_lfe'
side 'cards.pcm.side'
surround40 'cards.pcm.surround40'
surround41 'cards.pcm.surround41'
surround50 'cards.pcm.surround50'
surround51 'cards.pcm.surround51 '
surround71 'cards.pcm.surround71'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
modem 'cards.pcm.modem'
phoneline 'cards.pcm.phoneline'
default 'cards.pcm.default '
dmix 'cards.pcm.dmix'
dsnoop 'cards.pcm.dsnoop'


And finally here is the output from the aadebug.sh script from the ALSA wiki:


ALSA Audio Debug v0.1.0 - Fri Mar  2 08:42:43 MST 2007
http://alsa.opensrc.org/aadebug
http://www.gnu.org/licenses/gpl.txt

Kernel ----------------------------------------------------
Linux yoda.localdomain 2.6.19-1.2911.fc6 #1 SMP Sat Feb 10 15:51:47 EST 2007 i686 i686 i386 GNU/Linux

Loaded Modules --------------------------------------------
snd_intel8x0           34332  4
snd_ac97_codec        101540  1 snd_intel8x0
snd_ac97_bus            6593  1 snd_ac97_codec
snd_seq_dummy           7428  0
snd_seq_oss            36736  0
snd_seq_midi_event     11136  1 snd_seq_oss
snd_seq                54000  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_pcm_oss            44288  0
snd_mixer_oss          19584  1 snd_pcm_oss
snd_pcm                78468  4 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer              23812  3 snd_seq,snd_pcm
snd_page_alloc         12168  2 snd_intel8x0,snd_pcm
snd_mpu401             11560  0
snd_mpu401_uart        12032  1 snd_mpu401
snd_rawmidi            25856  1 snd_mpu401_uart
snd_seq_device         11788  4 snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidi
snd                    53892  19 snd_intel8x0,snd_ac97_codec,snd_seq_dummy,snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401,snd_mpu401_uart,snd_rawmidi,snd_seq_device

Modprobe Conf ---------------------------------------------
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
alias snd-card-1 snd-mpu401
options snd-card-1 index=1
options snd-mpu401 index=1
remove snd-mpu401 { /usr/sbin/alsactl store 1 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-mpu401

Proc Asound -----------------------------------------------
Advanced Linux Sound Architecture Driver Version 1.0.14rc2.
Compiled on Feb 14 2007 for kernel 2.6.19-1.2911.fc6 (SMP).
 0 [SI7012         ]: ICH - SiS SI7012
                      SiS SI7012 with CMI9738 at irq 22
 1 [UART           ]: MPU-401 UART - MPU-401 UART
                      MPU-401 UART at 0x330, irq 10
  0: [ 0]   : control
  1:        : sequencer
 16: [ 0- 0]: digital audio playback
 24: [ 0- 0]: digital audio capture
 25: [ 0- 1]: digital audio capture
 32: [ 1]   : control
 33:        : timer
 40: [ 1- 0]: raw midi
cat: /proc/asound/hwdep: No such file or directory
00-01: Intel ICH - MIC ADC : SiS SI7012 - MIC ADC : capture 1
00-00: Intel ICH : SiS SI7012 : playback 1 : capture 1
Client info
  cur  clients : 3
  peak clients : 3
  max  clients : 192

Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 15:0
Client  14 : "Midi Through" [Kernel]
  Port   0 : "Midi Through Port-0" (RWe-)
Client  15 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
Client  20 : "MPU-401 UART" [Kernel]
  Port   0 : "MPU-401 UART MIDI" (RWeX)

Dev Snd ---------------------------------------------------
controlC0  controlC1  midi1  midiC1D0  pcmC0D0c  pcmC0D0p  pcmC0D1c  seq  timer

CPU -------------------------------------------------------
model name      : Intel(R) Pentium(R) 4 CPU 2.53GHz
cpu MHz         : 2523.189

RAM -------------------------------------------------------
MemTotal:       514728 kB
SwapTotal:     1052248 kB

Hardware --------------------------------------------------
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 651 Host (rev 02)
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:0b.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

And here is the output of lspci. (BTW, just in case you are wondering yes there is a Bt878 video capture card in the computer, but I haven't bothered testing it out yet since I have a HDHomerun ( http://www.silicondust.com) that I am using for video capture.)

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 651 Host (rev 02)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS962 [MuTIOL Media IO] (rev 14)
00:02.3 FireWire (IEEE 1394): Silicon Integrated Systems [SiS] FireWire Controller
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC'97 Sound Controller (rev a0)
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
00:03.3 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:0a.0 Communication controller: Agere Systems LT WinModem (rev 02)
00:0b.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3)

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux