Can't get spdif working with ALSA and FC6 on ECS L4S5MG/651+ motherboard
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 to work for surround sound from DVD's and HDTV content. Everything works fine under Windows (I have a dual boot setup), and so I am highly confident that the hardware is working. 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, engineman Here is a short 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..._Digital_Sound http://www.mythtv.org/wiki/index.php..._AC3_and_SPDIF And when I try to run aplay -D I get the following errors: Code:
# aplay -D spdif /usr/share/sounds/KDE_Startup.wav Code:
# aplay -D default /usr/share/sounds/KDE_Startup.wav Code:
$ aplay -D default /usr/share/sounds/KDE_Startup.wav And if I use the /etc/asound.conf from http://www.mythtv.org/wiki/index.php..._AC3_and_SPDIF I get this error: Code:
# aplay /usr/share/sounds/KDE_Startup.wav Code:
# aplay -l And finally here is the output from the aadebug.sh script from the ALSA wiki: Code:
ALSA Audio Debug v0.1.0 - Fri Mar 2 08:42:43 MST 2007 Code:
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 651 Host (rev 02) |
Does anyone have any ideas or should I post this to the alsa-users mailing list instead?
Thanks, engineman |
I posted a message to the alsa-users mailing list, about a week ago but I still haven't got a response. Does anyone here have any ideas about stuff that I can try to get my SPDIF working?
|
spdif
Hi,
spdif can be tricky. I do not have your chipset. I have CMI8738. The spdif is working well & I use it to make CDs from DAT recordings of music concerts (professionally engaged by the organisers). I am not quite sure what version of alsa you have. I am currently using 1.0.13 and my kernel is 2.6.17.4 with some very slight modifications for usb that are not really relevant to this subject. The first thing I notice from your aplay -l is the lack of IEC958. This is what mine looks like (with no extra hardware attached): **** List of PLAYBACK Hardware Devices **** card 0: CMI8738MC6 [C-Media PCI CMI8738-MC6], device 0: CMI8738-MC6 [C-Media PCI DAC/ADC] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: CMI8738MC6 [C-Media PCI CMI8738-MC6], device 1: CMI8738-MC6 [C-Media PCI 2nd DAC] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: CMI8738MC6 [C-Media PCI CMI8738-MC6], device 2: CMI8738-MC6 [C-Media PCI IEC958] Subdevices: 1/1 Subdevice #0: subdevice #0 The vital bit here is device 2, which is what I use for the SPDIF. The output of your aplay -l doesn't show it, so I think there is nothing you can do with mixers etc. until that device is enabled. An interesting point is that I also have an Extigy USB device which can handle SPDIF data, but which will not give me direct access to that data. Sadly I can only get at the data coming out of the mixer itself, after it has been transformed by the device. So although I can record from SPDIF with the mixer, the bytes I put on the hard drive do not correspond exactly with the bytes that were recorded in the first place. So with recordings of concerts done with DAT I use the motherboard CMI8738 which does the trick exactly - i.e. gives me wav files that correspond precisely with what I recorded. That way no extra noise is allowed to creep in. Anyway, back to your problem. It occurs to me that you need to be sure that you have the latest version of Alsa. I upgraded mine just yesterday, and alsaconf was placed in /usr/sbin. Mind you I used --prefix=/usr when I configured it. It may be that yours is in /usr/local/sbin. If it just isn't there then there is something odd about your installation. I would download the sources, rebuild and install them. You should not need the drivers, because FC6 is pretty recent, and should include them with the kernel. However you do need to be sure that your alsa libraries and utils are recent and complete. Other areas of interest are your kernel config and your bios. I just looked at the configuration of my kernel, and didn't notice anything spdif specific. As long as you have the right driver installed for your sound chipset it should work. It might be worth checking the kernel config just to be sure that you do. The other point is that there might possibly be something in the BIOS configuration which is spdif specific. So, for example, maybe there is something that enables the soundport, but doesn't enable the spdif i/o. It might be worth checking the bios config (be _very_ careful here - don't change any other bios configuration parameters otherwise you might find that you cannot reboot, in which case you would probably have to resort to the cmos clear jumper on the motherboard). If you have the motherboard manual it should document the BIOS configuration, and maybe you should check that first for anything to do with the spdif port. If it is disabled via the BIOS, then there is nothing alsa or anything else can do to get it going, you would have to enable it first. Oh - here is a horrid suggestion. I can dual-boot XP. Basically I do that via a second hard drive and the ability of the BIOS to direct the boot sequence through the master boot record of any of the installed hard drives. The point is, of course, to check whether or not you can see the spdif port in Windows. If you can see it then its not a bios problem. If you cannot then either its a bios problem or the port just isn't available anyway. Good luck. |
Thanks for for the reply greenleaf. I have already verified that the S/PDIF ports works under Windows and so I don't think that it is a BIOS issue. I looked into the source code for the AC'97 codec, and I am fairly confident now that SPDIF is currently not supported under ALSA for CMI9738 chips. The CMI9739 does support it and I am now working with one of the ALSA developers on creating a patch that should solve this problem.
|
Hi
please let me know when there's a patch available. I too have been trying for a while to get the spdif output of Sis7012 working... without sucess. =/ |
Sorry, but AFAIK there will not be a patch anytime soon. I worked on it for a little while, but the problem is that there is really not any documentation on the SiS7012 chip available. I have tried contacting SiS without receiving a reply. Without the documentation it will take someone reverse engineering the SiS7012 and frankly I don't have the time to do that right now. For now I am just using stereo output for my needs.
|
wow, someone else with similar problems as me.
In my case I am getting the 958 reported out of aplay as device 2, but cannot get spidf working. First I tried it on a mb that's nforce2. Works kick azz in windoz and the audio is great 5.1. Hardware works for sure. I was never able to get spidf working under FC6 / myth. Granted I'm somewhat of a newbie so maybe that doesn't mean much. For other reasons I've just switched all the hardware over to another motherboard, no audio and I am using an old Audigy with a bracket mounted coax spidf port (ribbon cabled to the header pins on the card.) In windows, it'll only output on L&R channels. Put it into 5.1 mode and it pukes. In Linux, it'll play outpout on spidf, but it's so quiet it's like it's not working at all. Yes, I have unmuted and maxed out the levels of the 958 in alsamixer. Here's the out put from aplay -L Code:
[root@Kalypso ~]# aplay -L Code:
[root@Kalypso ~]# rpm -q alsa-driver alsa-utils alsa-firmware Which seems to indicate that ALSA's not installed, but if I try it says: Code:
[root@Kalypso ~]# yum -y install alsa-driver alsa-utils alsa-firmware Code:
[root@Kalypso ~]# lspci -v but I don't have alsaconf either, which I've read I need to execute to get things running. I've edited the modprobe.conf and ~/.asoundrc with several other people's known working configs w/ success. Currently running wilsonet's basic setup and it works fine on analog. Bottom line, never able to get the spidf optical port on the nforce2 mb to work at all in FC6, not able to get the Audigy's working either, theory that the little addon card may be bad so I'm getting another. Beyond that, i"m stumped. |
All times are GMT -5. The time now is 05:40 PM. |