[ltp] Sound on 600X... again.

Richard Neill linux-thinkpad@linux-thinkpad.org
Mon, 16 Apr 2007 00:44:59 +0100


Chris Schumann wrote:
> I have never gotten sound on a 600X running Linux to work after a suspend
> and resume cycle. I think there is a bug in the snd_cs46xx module, but I
> cannot confirm that, and wouldn't know where to report it anyway.
> 
> A new driver would be an ideal solution.
> 
> I'm a long-time Red Hat user, so I've been using Fedora Linux on the 600X's
> that I take care of, and CentOS 5 starting today.
> 
> I've found one page that says you can put the line "MODULES=snd_cs46xx" in
> the file /etc/default/acpi-support if you're using Ubuntu, but of course
> that file doesn't exist in Fedora/RHEL/CentOS.
> 
> Is there a way I can force the removal of that module (rmmod snd_cs46xx) on
> suspend and restarting of it (modprobe snd_cs46xx) upon resume? It's not
> even easy to do manually because the Gnome desktop holds the device open all
> the time.

I think this is a problem with OSS (access to /dev/dsp) whereas if you 
use Alsa, (hw:0), you should be able to suspend OK. Suggestions:

a)Set Gnome to use Alsa rather than OSS for sound. (ESD is one or the 
other; don't know which).

b)Disable Gnome's builtin sound system completely - it's never useful 
for anything other than window-manager events. Then, make Gnome use an 
external program for audio. I did this for KDE/Arts: see
http://www.richardneill.org/a22p-mdk11-0.php#sound
[The Arts/ESD/sound-daemon approach is completely obsolete now that we 
have alsa+dmix]

You also need to kill any mixer programs (accessing /dev/mixer) before 
suspending.

Hope that helps,

Richard