Re: [alsa-devel] PROBLEM: snd_intel_hda audio regression in 2.6.36-rc5
At Wed, 22 Sep 2010 17:28:15 +0300, Aki Parviainen wrote:
On Wed, Sep 22, 2010 at 12:31 PM, Takashi Iwai tiwai@suse.de wrote:
At Tue, 21 Sep 2010 20:32:54 +0300, Aki Parviainen wrote:
I've noticed an audio related problem in 2.6.36-rc5: when using
2.6.36-rc5 kernel
I don't get normal two channel PCM audio at all on my machine, however
multichannel audio
works just fine.
What does this mean exactly? Could you show your test method?
Thank you for your answer and sorry for being unclear! This means that whenever I try to output regular stereo audio from files or DVB for example I cannot hear anything at all with 2.6.36-rcX kernels. Before 2.6.36-rcX kernels normal stereo audio works just fine. However with 2.6.36-rcX kernels and all the previous kernels digital preencoded (like Dolby Digital, DTS) audio works just fine. I am using Kaffeine 1.0 and VLC 1.1 (both from Debian unstable) to play audio, both programs work exactly the same. My test method is basicly this: -boot with 2.6.36-rc4 or 2.6.36-rc5 -open kaffeine or vlc -start playing mp3 file -> nothing comes to the amplifier -start playing mkv file with 5.1 track -> correct audio comes to the amplifier
So, you are testing only over SPDIF output, right?
I'm using snd_hda_intel and I've configured ALSA to send all audio to spdif output. With earlier kernel versions this kind of setup
works
just fine but with 2.6.36-rc5 only audio that works is digital preencoded
audio (5.1 dolby digital from
dvd:s / mkv:s) works. There's no errors or anything but nothing comes to
my
amplifier. I've also tested 2.6.36-rc4 and it has the same problem, in
the past I've never had any audio problems with mainline kernels.
Which kernel did it work?
2.6.35.5 and every earlier kernel tested. Unfortunately the first 2.6.36 based kernel that I tested was 2.6.36-rc4 and there audio doesn't work anymore.
Booting with earlier kernel solves the problem immediately.
Run alsa-info.sh (with --no-upload option) on both working and non-working kernel, and attach two files for compare. This will give a more clear sight what is different between them.
Here's the alsa-info files attached from 2.6.35.5 (works) and 2.6.36-rc5 (doesn't work).
Looks like the SPDIF status bits has been reset by some reason. Try to restore via iecset program included in alsa-utils package, e.g. iecset original on iecset category 0x02
If this doesn't help, try to unload sound driver once, remove (or backup) /etc/asound.state (which might be in a different path depending on the distro), then load sound modules again. This will restore the default SPDIF status. Unmute / adjust mixer setups appropriately after doing this.
Takashi
So, you are testing only over SPDIF output, right?
Yes, I'm only using SPDIF output!
Looks like the SPDIF status bits has been reset by some reason. Try to restore via iecset program included in alsa-utils package, e.g. iecset original on iecset category 0x02
I tried this and didn't notice any difference.
If this doesn't help, try to unload sound driver once, remove (or backup) /etc/asound.state (which might be in a different path depending on the distro), then load sound modules again. This will restore the default SPDIF status. Unmute / adjust mixer setups appropriately after doing this.
I also tried this but didn't notice a difference but however I noticed a workaround to this problem that might be related to deleting the asound.state (debian places it btw to /var/lib/alsa/asound.state): now the regular audio works via SPDIF once again if I first play a file with digital preencoded audio. Ie:
-Boot with 2.6.36-rc5 -Start kaffeine -Play mp3 file -> no sound at all via spdif -Play mkv file with 5.1 sound -> sound ok -Play mp3 file again -> sound ok! -Exit kaffeine & restart kaffeine or vlc -Play mp3 file again -> sound ok!
Unfortunately the fix isn't permanent because after reboot I cannot get regular sound via spdif until I have once played a file with 5.1 audio track.
Yours,
Aki
At Wed, 22 Sep 2010 18:31:26 +0300, Aki Parviainen wrote:
So, you are testing only over SPDIF output, right?
Yes, I'm only using SPDIF output!
Looks like the SPDIF status bits has been reset by some reason. Try to restore via iecset program included in alsa-utils package, e.g. iecset original on iecset category 0x02
I tried this and didn't notice any difference.
Hm, then you might need to adjust other parameters, too.
If this doesn't help, try to unload sound driver once, remove (or backup) /etc/asound.state (which might be in a different path depending on the distro), then load sound modules again. This will restore the default SPDIF status. Unmute / adjust mixer setups appropriately after doing this.
I also tried this but didn't notice a difference but however I noticed a workaround to this problem that might be related to deleting the asound.state (debian places it btw to /var/lib/alsa/asound.state): now the regular audio works via SPDIF once again if I first play a file with digital preencoded audio. Ie:
-Boot with 2.6.36-rc5 -Start kaffeine -Play mp3 file -> no sound at all via spdif -Play mkv file with 5.1 sound -> sound ok -Play mp3 file again -> sound ok! -Exit kaffeine & restart kaffeine or vlc -Play mp3 file again -> sound ok!
At this state, run "alsactl store", and keep the renewed asound.state file. Once when this happens again, just run like alsactl -f /your/saved/asound.state store to restore the status.
Unfortunately the fix isn't permanent because after reboot I cannot get regular sound via spdif until I have once played a file with 5.1 audio track.
This is unlikely a kernel issue but the user-space issue. I guess this was triggered because of changes of the id numbers in mixer elements. Some user-space program (e.g. kmix) tend to restore the mixer setup forcibly but often wrongly.
Takashi
participants (2)
-
Aki Parviainen
-
Takashi Iwai