SPDIF won't play PCM after playing AC3

Bug #25632 reported by Russell Phillips
90
This bug affects 7 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Won't Fix
Undecided
Unassigned
Nominated for Dapper by crazydave
Nominated for Gutsy by brian360
Nominated for Hardy by brian360
Nominated for Intrepid by brian360
Nominated for Jaunty by brian360
Nominated for Karmic by crazydave
linux (Ubuntu)
Invalid
Undecided
Unassigned
Nominated for Dapper by crazydave
Nominated for Gutsy by brian360
Nominated for Hardy by brian360
Nominated for Intrepid by brian360
Nominated for Jaunty by brian360
Nominated for Karmic by crazydave

Bug Description

If I use the 'AC3 passthrough' feature of a multimedia app (e.g. totem-xine),
the SPDIF output will stop working with PCM (forever) if the mixer attempts to
access SPDIF simultaneously. Once this happens, SPDIF can only be used with AC3,
and all PCM is only output by the analogue line-out. I did this using an SBLive!
Value card:

russell@neo:~$ lspci | grep audio
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)

Here's a test script:
1. Attach an amplifier through SPDIF, and attach something else (like
headphones) to the line-out of the sound card.
2. Play any PCM sound file. It will play through both outputs.
3. Open totem-xine, and enable the AC3 passthrough, then play a DVD with a Dolby
Digital or DTS soundtrack. The amplifier will indicate that an AC3 (Dolby
Digital or DTS) stream is being output by the SPDIF.
4. While the DVD is playing, open another application (such as XMMS) and play a
sound file. Seeing that it is techincally impossible to play a PCM sound file
through SPDIF while it's outputting in AC3, the mixer will fail to open the
SPDIF (expected) and just play the PCM through the analogue line-out while the
DVD continues to play through SPDIF.

-- up to this point, this is all expected output --

5. Stop the DVD. Close totem-xine, restart XMMS and try playing the PCM sound
again. The PCM will no longer play through SPDIF (only through analogue). <- NOT
GOOD!

It appears that if the mixer fails to open the SPDIF once, it will never try
again. Not after rebooting, not after reinstalling every audio package that
synaptic has to offer. The SPDIF will never play PCM again. It will continue to
work for AC3, but even then, if a DVD uses PCM it still won't work. The bug
occurs right across the board, whether you're using alsa, oss, esd or whatever.
Playing around with the mixer (volumes and switches) doesn't seem to help either.

I've been able to replicate this problem in both Breezy (5.10) and Hoary (5.04).

Could someone *please* look into this, as I find myself having to reinstall
Ubuntu each time I accidentally run into this scenario.

Tags: spdif
Revision history for this message
Bernard van der Velden (bernard-vyper) wrote :

I have exactly the same problem with my SB Live 5.1 (emu10k1) running Ubuntu Dapper.

Revision history for this message
Russell Phillips (ignissport) wrote :

I'm now running Dapper, but I haven't tried to reproduce this bug. I've been avoiding the AC3 passthrough like the plauge because I would need to reinstall Ubuntu if it breaks.

I think it's got something to do with the SPDIF unbinding itself from the mixer the mixer fails to open it.

Revision history for this message
Bernard van der Velden (bernard-vyper) wrote :

I think it has something to do with the routing of the pcm channels. When using the pass-through, the pcm signal is cut off and the digital out is used for AC3. When the AC3 stream is finished, the route for the pcm-sound to the digital out should be restored.
When its not (like in my case) I can hear pcm sound through the analog channels, but not the digital one. In my current situation I can only play pcm-sound through the analog out and only AC3 through my digital out.

It looks like we have almost the same card by the way :)
lspci | grep audio
0000:02:06.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)

It would really like to have pcm sound through my digital out again because I only have a digital amplifier.

Here is more info about the routing:
http://alsa.opensrc.org/index.php?page=emu10k1
maybe adding
options snd-emu10k1 extin="0x3fff" extout="0x7fff"
to /etc/modules.conf will work...

Revision history for this message
Carthik Sharma (carthik) wrote :

Confirmed by another user.

Thank you for reporting this bug.

Revision history for this message
Charles Lepple (clepple) wrote :

You can use the qlo10k1 program to view the signal routing on emu10k1-based cards. The catch is that you have to be sure the ld10k1 daemon has started, then change the socket path in qlo10k1 to /var/run/ld10k1/ld10k1.socket (in Settings / Card / Card Info), then choose the card from the Card menu. Finally, click the "routing" tab. You should be able to trace a path through the card from the FX bus PCM outputs to the SPDIF outputs.

Revision history for this message
Bernard van der Velden (bernard-vyper) wrote :

Ok, installed ld10k1 and qlo10k1 (both v. 1.0.10-1ubuntu1). The socket exists and after entering the socket in qlo10k1 I can select my soundcard ("Default card"). On the routing-tab I have no in or outputs on the white editing area, it's even empty when I zoom out.

Looks like there are no routings at all...

Altough I can use the FX and OUT buttons and put FX-outs and card-outputs with green rectangles from my card onto the editing area, I can't figure out how to connect them...

Any idea's? Searching Google didn't help...

Revision history for this message
Charles Lepple (clepple) wrote : Re: [Bug 25632] Re: SPDIF won't play PCM after playing AC3

On 5/23/06, Bernard van der Velden <email address hidden> wrote:
> Looks like there are no routings at all...

Do you see any patches listed either in the other tab, or with "lo10k1
--debug=N"? (I forget the value of N that you need; I'm not near my
Ubuntu box at the moment.) Also, check that
/proc/asound/Audigy/fx8010_acode (adjust as needed) is not completely
empty - this seems to be where some of the mixer gains and summations
are calculated.

I seem to remember having to reboot once after installing ld10k1 for
it to properly read in the emu10k1 configuration.

Revision history for this message
Bernard van der Velden (bernard-vyper) wrote :

When I use the ld10k1 init-script /usr/share/ld10k1/init_live I do get *a lot* of in- and outputs :)

The optical outputs are not used in the setup. I've tried to connect some elements to the optical outputs, but I'm not sure wich one to take... Trying some random didn't help.

Revision history for this message
Bernard van der Velden (bernard-vyper) wrote :

I managed to find a workaround:

- I uninstalled ld10k1 and qlo10k1
- sudo mv /etc/init.d/alsa-utils /etc/init.d/alsa-utils.GONE
- shutdown and turn on the PC
*** the default values for alsa should be loaded now ***
- sudo mv /etc/init.d/alsa-utils.GONE /etc/init.d/alsa-utils
- use your mixer to restore your volume

The digital out produces PCM output again. It would be nice if alsa could detect it when the DSP of the emu10k1 gets screwed-up.

Revision history for this message
Jaba (jpylvanainen) wrote :

I have the same problem.

I hadn't noticed that before, only if xine crashes with ac3 sound.

Before I could get PCM sound from digital out using "alsactl restore".

It seems that when I tested few seconds the mixer can still produce PCM through digital out after watching movie with AC3 sound.

I'm using feisty.

Revision history for this message
caylus (adrien-dessemond) wrote :

The same bug also appear in Ubuntu Gutsy (Beta 1 but others Alpha releases should be affected as well). The good news is that the workaround posted by Bernard van der Velden works in Gutsy :-)
I can live with that, just annoying to reboot the computer after playing an AC-3 stream...

Revision history for this message
Tomas Cernaj (tomas-cernaj) wrote :

Confirmed in Gutsy with Intel 82801G (ICH7 Family) integrated sound card (module snd_hda_intel).

I normally use GNOME with the volume applet active. PCM sound is available on analog and optical output. After playing an AC3 stream the PCM sound only plays on analog output, unless I explicitly specify spdif as output device, such as "speaker-test -D spdif -c 2". This behavior persists between reboots.

To get it to work again I have to stop all applications using sound and then unload and reload the snd_hda_intel module by hand as long as the computer has not rebooted.

As far as I can tell the /etc/init.d/alsa-utils script somehow interferes with the settings... After a reboot a part of the /var/lib/alsa/asound.state file was changed as follows:
Before DVD playback:
        control.33 {
                comment.access 'read write'
                comment.type IEC958
                comment.count 1
                iface MIXER
                name 'IEC958 Playback Default'
                value '040000000000000000000000000000000000000000000000000000000
        }
After reboot:
        control.33 {
                comment.access 'read write'
                comment.type IEC958
                comment.count 1
                iface MIXER
                name 'IEC958 Playback Default'
                value '068200020000000000000000000000000000000000000000000000000
        }

Hope this helps; this bug gets annoying somehow... ;-)

Revision history for this message
ptitmain (ptitmain) wrote :

Bug confirmed on Hardy Heron...

I found a workaround for this issue: create a file .asoundrc in your homedirectory containing:

pcm.!default {
   type plug
   slave {
        pcm "spdif"
        rate 48000
        format S16_LE
    }
}

It initiates a route for PCM into spdif plugin (I guess). Then, both test with speaker-test should work:

speaker-test -D spdif -c 2
speaker-test -c 2

These is no really a solution, because the bug is still there but a workaround that works for me.

Revision history for this message
Bob Sully (rcs-malibyte) wrote :

I can also confirm this bug in Hardy Heron. FWIW, it's also an issue in Mandriva 2008, so it's an ALSA bug not specific to Ubuntu.

It seems to be a real show-stopper with the intel8x0 driver; I have another box with a newer Asus mobo (uses the hda_intel driver) also running Myth, which I was finally able to get SPDIF working with (granted, with a a different "cheat" in .asoundrc).

Unfortunately, neither the .asoundrc above or the one from my other machine worked on this box (Abit AN8-32X) - at least when using the defaults in MythTV and Amarok. I haven't yet had the time to try these yet with all of the other options ("ALSA:plug:hw0,2", etc.).

This definitely occurs when switching from a PCM source to a Dolby Digital 5.1 source; if I try to play another PCM source, I can't unless I open up a terminal and issue this:

iecset audio 1

and the sound returns. Even if I then do:

iecset audio 0

it will still work....for a while. I often lose the sound completely, however - be it 2/3 of the way through a movie or after one or two songs - requiring the above command(s) from a terminal. This is a royal pain. I even got to the point of writing a little script to do this and ran it as a cron job every minute - but that was not acceptable either, because if it runs while sound is playing, I get a 1-2 second silent "gap".

This bug was reported two and a half years ago...'bout time it was squashed, don't you think?!?!?!

Daniel T Chen (crimsun)
Changed in alsa-driver:
importance: Medium → Undecided
status: Confirmed → New
Daniel T Chen (crimsun)
Changed in linux:
assignee: nobody → ubuntu-audio
status: New → Confirmed
Revision history for this message
Oswald1 (ossi-lehtinen) wrote :

Got the same prob with a ALC882.

The .asoundrc suggested by Jean-Francois gives me sound from the digital output as well, but it is a workaround. Nasty to have something like this lurking in there, when the audio stuff in ubuntu is confusing enough as it is.

I'm also a bit surprised that it's such an old bug. Also appears like not a hugely complicated problem for someone who knows anything about this stuff and so on. Please fix it, anyone!

Revision history for this message
Grizzly (sven-witterstein) wrote :

On intrepid. I have a lot of trouble with audio and video also.
I have 3 desktops and one notebook, all amd64 platforms.

Situation with nvidia/alc861/nforce6:
On hardy, USB mouse/keyboard combo would not work. Fuddling with xorg didn't improve it.
 Audio would work o.k. after manuall "sudo apt-get install module-assistant" and "m-a a-i alsa"
After dist-upgrade to intrepid: passthrough works in kaffeine/vlc but not in mythtv. No matter if with/wo vsync on, video tearing is noticable. Will try the .asoundrc, because my normal pcm spdif out seems gone too.
Neither nvidia drivers nor alsa will install manually :-(
alsamixer shows either only one bar for pulse or with -c0 option shows not all jacks correctly

Situation with "brand new" phenom/ati hd3200/sb700 board with ALC889: switching between dig 2.0 and 5.1 works like a charm, but video teared and needs a lot of fusing in the xorg.conf. Chip is not correctly detected, alsamixer shows wrong jacks and no 2ch/6ch switch option

Situation with older notebook, that has neither spdif and only 2.0: no probs never ever, alsamixer shows jacks ok

On old pentiumIII notebook: perfect 2.0

On nvidia board with alc 865 (?) at least neither 861 nor 889: all good, spdif for lack of bracket never tried.

My conclusion: as always, linux works best on elder hardware. unfortunately, i gave the old stuff all away to people without computer at all. I remember gutsy etc. used to run fine on e.g. some duron1400-platform. I know the realtek stuff sucks, but on the other hand: I don't need a "real" soundcard, when I don't record myself and only output digital to digital amp, so I hope alsa will improve to make it easier to chose.
If one of the alsa developers stumbles over how the audio config in vista looks for the amd700/800 chipset with rt889-audio, where everything can be simply combined even into dts..
No of course, in linux must be without patented bullshit, but it's a USABILITY example...)

Please include better diagnostic tools - the "audio" in "System" in ubuntu should provide a way to catch all relevant stuff in one click to see what's missing!

Revision history for this message
Tomas Cernaj (tomas-cernaj) wrote :

OK, just to sort things... maybe the above reports concern different issues.

My problem: I want to have PCM audio on line/headphone jacks and spdif optical simultaneously, just the way it worked before with ubuntu and as it works right now when I boot into windows xp.

But after playing a DVD with AC3 passthrough it stopped working, and I can't seem to fix it even with the steps I described in my previous post. Neither do a reboot (with deactivated alsactl restore) nor the iecset utility work... Still, as reported before, selecting spdif as output device explicitly does give me PCM output on optical, but not on the analog jacks.

I'm using a Samsung Q35 laptop, Ubuntu 8.04, snd_hda_intel driver (3stack), Analog Devices AD1986A chip. Output of /proc/asound/Intel/codec#0 is attached.

Revision history for this message
blaster999 (blaster999) wrote :

I happen to have the same problem with my Audigy 2 ZS. Started to happen on kubuntu 8.0.4, now the same issues are in 8.10. I will try the workarounds found here.

Revision history for this message
Anders Häggström (hagge) wrote :

I can confirm this annoying issue on Interpid (Mythbuntu 8.10) and would be very glad if anyone could help me solve this.

I can play AC3 (and DTS) surround just fine on my digital output using MPlayer, but I can not play PCM on my digital output (which I could in the beginning until something happend that I don't know). My analog output can play PCM.

lspci tells this:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)

If you need more logs or output from me, just tell me what to do.
Regards
Anders

Revision history for this message
Anders Häggström (hagge) wrote :

Now I have found part of a solution.

When I run the following commands for about 20 seconds each, I get back the PCM signal and during the speakertest, I can hear the test sound. When I stop the test sound the PCM signal is still left (as it should) but I can not play any other sterio sounds (like ogg-files for example) thru the PCM signal. If I switch to analog output, I hear the sterio sound, so the mediaplayer is obviously working.
If I play AC3 or DTS, it works and when I stop the AC3/DTS signal the PCM signal swaps back, just as it should (except that it is dead silent).

$ speaker-test -c2 --device cards.pcm.iec958 --rate 44100
$ speaker-test -c2 --device cards.pcm.iec958 --rate 48000

I hope this helps someone! I still need help solving my problem, why my PCM signal is silent.

Revision history for this message
Tomas Cernaj (tomas-cernaj) wrote :

The problem I've had was fixed in Intrepid; as far as I can tell it had to do with a changed default behavior of ALSA (hda-intel) to set the sound format of PCM output to float instead of integer, and this is what caused the spdif output to remain silent.

The Intrepid version of ALSA includes a mixer switch named "IEC958 Default PCM" which can be activated to set the default format to integer.

Revision history for this message
Milentije (mile-iz-back) wrote :

Bug confirmed in Intrepid and "IEC958 Default PCM" didn`t work.

I managed to bring back sound on PCM with .asoundrc workaround.

Revision history for this message
kede (kede) wrote :

I confirm this for intrepid.
After playing a ac3 video using vlc spdif seams to be switched off.

Revision history for this message
Hebert (hebert-bernardo) wrote :

I confirm this for Jaunty.

After a crash playing AC3 audio using VLC spdif and that's really annoying.

This bug has come a long way and it seems will be present on Jaunty too.

Revision history for this message
Bill Williamson (bill-bbqninja) wrote :

I've been running Ubuntu + mythtv on the box I'm currently using for > 2 years. The ONLY time this has happened to me is when playing the Region 4 (Australia) Scrubs Season 5 dvds. They seem to have a lot of errors.

This is with an nforce motherboard which uses HDA_INTEL

00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)

The ONLY way I can fix it is via the ac3dec quirk, and unfortunatly ac3dec was (accidentally?) removed for Intrepid.

Daniel T Chen (crimsun)
Changed in alsa-driver:
status: New → Won't Fix
Revision history for this message
Hebert (hebert-bernardo) wrote :

Well, I have very bad news. It can a isolated case, I know, but at this. I doubt it.

The .asoundrc doesn't seems to work anymore with the latest version of PulseAudio on Jaunty.

pulseaudio:
  Instalado: 0.9.14-0ubuntu3
  Candidato: 0.9.14-0ubuntu3
  Tabela de versão:
 *** 0.9.14-0ubuntu3 0
        500 http://archive.ubuntu.com jaunty/main Packages
        100 /var/lib/dpkg/status

Using the .asoundrc workaround, only firefox can actually produces any sound. But, it doesn't appears on 'gnome sound preferences', bypassing PulseAudio management like used to.

All other apps, that appears on 'gnome sound preferences' *who actually are using PulseAudio* doesn't output any kind of sound.

(No Digital Data)

Very frustrating indeed.

At this rate, I guess it will be wiser to not use S/PDIF at all on Ubuntu.

This bug should have the highest priority.

Does anyone here knows any new workaround to this?

Thanks for reading

Revision history for this message
Roel (r-schiphorst) wrote :

I had the same problems as described by Anders Häggström & kede.

So, with the speaker-test command I could hear sound and it was silent for other programs.

For me, the bug was solved by restarting the pulse audio server. I was planning to isolate the solution, because I tried several things. However, even after a reboot, the bug did not appear again :-D. So probably, these commands are the solution (for me at least):

$ speaker-test -c2 --device cards.pcm.iec958 --rate 44100
$ killall -9 pulseaudio
$ pulse-session

I'm running Ubuntu 8.10, 32 bits on a Asus M2A-VM motherboard with 690G chipset and a Realtek ALC883 audio chip.

Revision history for this message
mdalacu (mdalacu) wrote :

The .asoundrc workaround really works on Intrepid ! :-).
Note: The system needs a restart for the patch to work.
Thanks Jean-Francois Lalande !

Revision history for this message
Hebert (hebert-bernardo) wrote :

Here we go again!

Three years and felling strong!

Another copy of Jaunty. An unfortunate crash, and "No Digital Data" again on my Z-5500

I already posted this earlier last month.

The .asoundrc does not work on Jaunty Jackalope.

Is there anyone who knows how to workaround this bug on Jaunty?

To future jaunty users.

Be ready for problems with Jaunty with this.

Revision history for this message
findus (findusdaniel) wrote :

I use ubuntu 8.10 with xbmc and this bug is destroying everything... going back to mediaportal on xp...

Revision history for this message
racerraul (racerraul) wrote :

I found out that running IECSET in a terminal window will give you the status of your PCM data stream.
here is my results, pay close attention to the Data results...

Mode: consumer
Data: audio
Rate: 48000 Hz
Copyright: permitted
Emphasis: none
Category: PCM coder
Original: original
Clock: 1000 ppm

If after running IECSET yours says Data: Non Audio,
run iecset audio on to get all your PCM sources to play via SPDIF.

In my case, after playing a DVD the only audio available through SPDIF was DVD's. I figured out that since my amp no longer switched to PCM when playing music and other 2 channel sources that there was something changed in the digital data stream.

After running iecset audio on, all my 2 channel sources play through SPDIF again and the amp now switches to PCM when I do.

Hope this helps some of you... I'm running Intrepid Ibex.

Revision history for this message
hotani (hotani) wrote :

racerraul: Thanks. Running "iecset audio on" fixed it on mine. Nice to have sound again!

Revision history for this message
Russell Phillips (ignissport) wrote :

OP here. I blew the dust of this card recently and found I still have the same problem... but I've found a fix which appears reasonably robust.

1. run 'aplay -L' to get the name of the iec958 device (my EMU10K1 is 'pcm iec958:Live"). You'll see something like this:

iec958:CARD=Live,DEV=0
    SBLive! Value [CT4832], Multichannel Capture/PT Playback
    IEC958 (S/PDIF) Digital Audio Output

2. create the file '/etc/asound.conf' and write the following to it (substitute your iec958 device):
#----------------
pcm.!default rate_convert

pcm_slave.sl2 {
    pcm iec958:Live
    rate 48000
}

pcm.rate_convert {
    type rate
    slave sl2
}
#---------------

This forces ALL output to SPDIF by default, and also resamples everything to 48KHz. This particular card won't to 96KHz, so this is required for a 96KHz source to play (but downsampled to 48KHz).

I guess the fix is similar to what Jean-Francois Lalande said. Results may vary.

I think it can be done in one line without all of the resampling stuff, but it doesn't seem to play when the input and output rates differ.

I also suspect (as above) the file which makes this bug persistent between reboots is asound.state. It's changing something in it when the mixer/AC3 clash, and it doesn't change itself back.

Revision history for this message
Hebert (hebert-bernardo) wrote :

I have news also. Good news I guess.

I've been testing the latest fedora rawhide and as far as I can tell: this bug won't be an issue on Karmic Koala.

Apparently using the latest PulseAudio 0.9.15 + Alsa 1.0.19 PCM won't close if the system crashes or reboot.

For the sake of testing I've pressed the reset button many times while using VLC pĺaying sound through SPDIF and PCM playback remained intact

I'm already looking forward to the karmic koala's development cycle.

Revision history for this message
squalou (squalou) wrote :

I have the same probleme with jaunty
After playing a DTS video using vlc with A/52 over S/PDIF option enabled spdif seams to be switched off.

But y can correct this with this command :

-------------------->>> iecset audio true

Then you can activate your IEC958 with alsa mixer.

Revision history for this message
Grizzly (sven-witterstein) wrote :

I have audio problem withh all of my machines - asus 2007 "pundit" and barebone p1-ah2, ausus 2007 "nvidia business platform" amd board with Analog Devices AD1986A and also with my phenom board from gigabyte. sometimes the atom-based netbook also makes problems. The whole sound thing in ubuntu is too complex with all the different tools and apps.

However, I would like to thantk squalu for reminding me, because watch for

iecset:

Mode: consumer
Data: non-audio <- here we go
Rate: 48000 Hz
Copyright: permitted
Emphasis: none
Category: PCM coder
Original: original
Clock: 1000 ppm

iecset audio true -> all good again.

I will never figure out why now pcm and ac3 will play fine in kaffeine, but in mythtv-frontend even if AC3 passtrough is configured, it dies afte 3 secs, so when watching mythtv-recorded stuff directly, it will have to do with pcm (which worked, such as if id hat a "pop iecstate " and "push iecstate" function or something...

Revision history for this message
buntufan004 (jameshoehn2009) wrote :

jaunty user. I recently became a big fan of boxee former xbmc user. I've always had trouble with audio in ubuntu. However jaunty seems alot better. I havn't had any analog problems at all.

in boxee i just make sure that i stop any non dts aac video before starting a dts video. then when it's not using the audio device i will start my dts video.. A bit annoying but now that I unsterstand what makes it crash it makes it manageable.
spdif audio always works for me. The only problem is when i run digital with dts and aac, switching back and forth between analog and digital videos. I noticed that boxee will automatically switch from digital to analog when i play an analog source. So i can leave it in digital. i just make sure i don't start analog vid clip while playing dts aac.

Sometimes rebooting works, sometimes it does not.

however, i have found 2 helpful tips for the less experienced linux users out there like myself, or just a means of dealing with this

1. don't start a dts or aac digital video while another program is playing something in analog or vice versa.
    i.e. just stop the one before you start the other. For me I use boxee. So just stoping my videos first before starting a new works fine.. no crashes. I actually mean stop the video in boxee, then start the new video in boxee. I don't know mythtv but maybe doing this could avoid an anoying crash.

2. if you do have a crash you forget or have no idea why it crashed leaving you with no dts , digital spdif do this:

open up alsa mixer, turn off IEC959 "disable it". then enable it again.

This works for me. I have re-created the crash several time, and have done this one step and for me dts comes right back. I have been struggling with this for awhile, but these two things make it bearable.

This thread came up numerous times during my many hours and hours of searching. So I hope this helps someone. I was just happy to be able to 1, know how to avoid the crash, and 2 know how to fix it.

Changed in linux (Ubuntu):
assignee: Ubuntu Audio Team (ubuntu-audio) → nobody
Revision history for this message
Ari (ari-reads) wrote :

Thanks squalou!!! my spdif suddenly stopped working; no playing with switches nor rebooting would fix it.
This command did the trick:

iecset audio true

still wondering what happened. XBMC user.

Revision history for this message
Jack Taliban (giacomoflavi) wrote :

Same problem here!
This is my solution:

sudo /etc/init.d/alsa-utils stop
sudo rm /var/lib/alsa/asound.state
sudo /etc/init.d/alsa-utils start

Revision history for this message
Jack Taliban (giacomoflavi) wrote :

PS. And then turn on "IE958" in alsa mixer.

Revision history for this message
Phil (pmagnone) wrote :

I added this to the "One Hundred Paper Cuts" project. We've been struggling with this bug for almost 4 years now! Even if it is an Alsa bug, there has to be some sort of fix that the Ubuntu guys could implement. Having to manually enter commands or run scripts every time you switch audio sources is not something a new user wants to do (especially if it's an IR controlled HTPC).

Revision history for this message
David Siegel (djsiegel-deactivatedaccount) wrote :

Please do not add bugs to hundredpapercuts simply because they are longstanding. Do you really believe this is one of the top one hundred small usability issues affecting the majority of Ubuntu users?

This bug does not affect the default Ubuntu experience of a significant percentage of users, so it is not a paper cut.

Changed in hundredpapercuts:
status: New → Invalid
Revision history for this message
Phil (pmagnone) wrote :

I see that you don't think it is important, which I can understand. Perhaps not too many people are using SPDIF (I have no idea of the number/percent).

But I do think it is a big usability bug for the people who try to use SPDIF. It was not added just because it was longstanding; you go from perfectly functional sound to NO sound whatsoever with no sort of explanation or error given in the GUI. It's definitely a usability bug, but I agree that there are probably more important bugs out there though. My thought is that it's a usability bug, and if it's submitted and enough people agree it's important enough, it will be fixed. If they don't think it's important enough, it will stay low priority.

Revision history for this message
Peter Antoniac (pan1nx) wrote :

So, this is fixed in karmic?

Revision history for this message
Phil (pmagnone) wrote :

Peter,

According to Hebert, it appears it was fixed. It seems like this bug was something of a side effect of a larger problem of how sound was handled in the first place. Considering Karmic is still really early in its development, I'd still give it a while before you go trying it out on your main/production system. Hopefully it doesn't regress back to the way it is in Jaunty now before release. Here's hoping that doesn't happen.

But if it's just the Pulseaudio and Alsa packages, you could just try updating those packages and see what your results are. If this problem is on a more important machine, that might be the safer route so you can still roll back your changes. If anyone tries that out, let us know the results.

Revision history for this message
Hebert (hebert-bernardo) wrote :

@Peter Antoniac, @Phil.

Yes, it is close.

(THIS PARTICULAR BUG)

At least until further notice.

I'm using Karmic Koala, and like every development version, it crashes often. A couple ot these crashes, occurred while I was watching movies on VLC (SPDIF output) and the PCM sound don't close at all.

I even, for the sake of testing, reset my desktop - before writing these lines - while playing sound over spdif, just to make sure.

I don't recommend using it on a production machine.

Wait until Karmic Koala hits Alpha 5 at least, things are about to be edgy for now own.

This is a screenshot of the new advanced pulse audio control

http://i43.tinypic.com/2573e52.png (don't try to set to output digital. it won't work yet)

See, this is the _REAL ISSUE_ here.

A proper SPDIF environment setup is also crucial to the increase deployment of GNU/Linux on the Desktop.

This must be a high priority!

Ubuntu as the major GNU/Linux distro should put more effort behind it.

There is a Google Summer of Code Project trying to implement passthrough on FFMPEG

http://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_Of_Code_2009#S.2FPDIF_muxer

I hope they make it.

I, for one, dream still with gstreamer proper SPDIF support.

Just working out of the box.

Thanks for reading.

Revision history for this message
Phil (pmagnone) wrote :

Hebert,

Thanks for the update; that sounds like great news!

Any idea if getting consistent SPDIF sound will *require* pulseaudio though? My main MythTV box is the one that uses SPDIF, and pulseaudio can occasionally result in audio sync issues with Myth. I rarely experienced it, but I removed pulseaudio anyway just because it's unnecessary for my usage. If Karmic still plays nicely with SPDIF without Pulseaudio, I'll finally be rid of this bug that's been plaguing me for 3+ years, ever since I started using MythTV!

Revision history for this message
Hebert (hebert-bernardo) wrote :

@phil

I really can't tell you that for sure.

What I _can_ tell you is that PulseAudio, is even more integrated with Karmic Koala. As you may already imagine it could translate into more problems.

But, that is just a guess.

I have never completely removed PulseAudio. I know all the hassle we had to endure this last year or so. But, honestly, I think PA efforts - exposing ALSA problems - is starting to pay off.

I never had A/V sync issues using VLC. The only thing that happens is a slightly absence of sound (less than a second) when I return from pause. For me that's acceptable.

Kamic's today has the VLC 1.0.0~rc2-1ubuntu1 version. Fedora 11 has the rc3 version.

VLC 1.0 is coming out.

If possible, try it out on MythTV (backend or something)

XINE was always too buggy for me. (bad subtitles rendering)

Revision history for this message
blaster999 (blaster999) wrote :

I think that the fix (just like the bug itself) has nothing to do with PulseAudio. I've experienced it on my Kubuntu box, and Kubuntu doesn't even pre-install PulseAudio. As for the integration, I believe it's integrated into the Gnome DE, which is not required to run MythTV, so removing PulseAudio shouldn't be an issue.

Of course, I may be wrong.

Revision history for this message
quotaholic (quotaholic) wrote :

Personally I have been waiting for a long time this bug to clear up. Until this bug clears I can not use ubuntu. This is the one usability factor that is a deal breaker for me. I just did an alternative text install setting up boxee media center on an automatic login up and to no avail alsamixer is unable to pipe audio to my sound system. IE958 1 & 2 (coax and optical) are shown as being off and can not be toggled within alsa mixer.

By the reports here I need to install mmmmm 2 gigs more worth of software just to get audio? This is on a limited size ssd drive set up for small footprint and speed.

Is this a bug in alsa or is this a bug in ubuntu?

Either way is was a poor decision to include this version of whatever it is that is causing this. As a matter of fact any time I have ever used ubuntu I have had to do days worth of searching and meddling just to get audio working the way it should be. In all cases I had to remove pulse audio and use advanced mplayer configs to do it.

If anyone who reads this felt valient, stop putting buggy audio drivers in your distros and develop a curses based unified interface that, unlike alsamixer, actually works. If one interface had options for passing ac3 and dts tracks through ie958 and then again playing 2 channel through ie958 as well then all of these bug reports would be nullified, no? From that point it wouldnt matter the application.

I am honestly scratching my head wondering why this bug is so old. This is likely one of the larger reasons ubuntu continues to loose popularity among folks who have used linux for a while.

Revision history for this message
Nick B (declension) wrote :

@racerraul - genius! That iecset did the trick - thanks. Still doesn't cure the problem though: this is a real showstopper for anyone trying to use Ubuntu as a media box. No point using analog audioo nowadays, and if you can't play AC3 and PCM.. well, see above - I can't help agreeing. Perhaps we should be posting to the ALSA guys, this is clearly not a pulseaudio issue.

Revision history for this message
Anders L (alarson) wrote :

Got this exact bug today on up-to date karmic and "iecset audio on" fixed the problem. quite a big WTF!?

running kubuntu-desktop and not running pulseaudio

Vish (vish)
affects: hundredpapercuts → null
Revision history for this message
wleesee (wayneleesee) wrote :

Been battling this issue every night for the last month... the suggested fix of 'iecset audio true' worked "intermittedly" - when it didn't I was forced to create yet another install of Ubuntu Jaunty.

Discovered something VERY interesting that may save other pple some time - curious to know other pples opinion as I am relatively new to using SPDIF audio.

this is what I did
1) Upgraded the latest kernel to 2.6.31-020631, as I found SPDIF less prone to requiring the iecset audio true command (I suspect the issue is with the Linux Kernel more so then ALSA).
2) Upgraded ALSA to .21
3) Once I got mythtv working happily using SPDIF audio from the local hard drive I quickly made my computer a diskless install (copied all operating system files onto a NFS mount (PXE image) onto my home server). The diskless install worked beautifully so I disconnected my local hard drive and decided to use this as a backup for when SPDIF would cease working again.
4) Low and behold SPDIF stopped working 2 days later (despite my attempts at using iecset audio true). Luckily (I thought) I had a fully tested working backup on the local hard drive... so I reconfigured the bios to boot from the local hard drive install, expecting things to work straight away. The computer started up as expected BUT a MASSIVE WTF => SPDIF audio STILL DID NOT WORK => from my prestine backup.
5) In my frustration, I turned my stereo amplifier off and the computer off for 1 hr and tried again later => Whola => SPDIF audio returned.

Will continue testing.. but I'm completely confused by this. Any thoughts??

BTW: I'm running a single core Zotac Ion motherboard (NVidia ION chipset) and the latest trunk version of mythTV.

Wayne

Revision history for this message
wleesee (wayneleesee) wrote :

Correction, when the SPDIF audio plays up, I do not touch my computer but simply turn the amplifier off then back on => then sound returns again....

Is this my amplifier hardware playing up... or does Linux somehow loose it's audio sync (for lack of a better word) with the amp???

Trying to borrow a mates Amp in the coming weeks to confirm if the error is indeed linux... or my Amp.

Revision history for this message
Jaakan Shorter (jaakanshorter) wrote :
Download full text (3.3 KiB)

I tried turning off and back on my pre/pro+amp ( Yamaha DSP-A1 ) that didn't work for me nor did rebooting my computer.

Since PCM via spdif should get send at a fixed clock rate, I think the computer side might go out of of sync since when it brakes. Just running "speaker-test -D spdif -c 2" fixes it for me more than once. My guess is that that command restarts the clock spdif is using or reinitialises it.

Mythbuntu x64 9.04
ASUS P5N-D LGA 775 NVIDIA nForce 750i SLI ATX Intel Motherboard
lspci
00:00.0 Host bridge: nVidia Corporation C55 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a2)
00:00.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.7 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:03.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:06.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
00:0a.2 RAM memory: nVidia Corporation MCP51 Memory Controller 0 (rev a3)
00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)
00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
01:00.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:00.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:01.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:02.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:03.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
03:00.0 VGA compatible controller: nVidia Corporation GeForce 8400 GS (rev a1)
07:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI Video and A...

Read more...

Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Please file new bugs if you are experiencing similar issues. I have closed this bug due to the extremely unlikely event the issue still being encountered here is anything like the issue reported in 2005.

~JFo

Changed in linux (Ubuntu):
status: Confirmed → Invalid
Curtis Hovey (sinzui)
no longer affects: null
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.