2003-07-30 15:13:53

by Christopher Swingley

[permalink] [raw]
Subject: apm suspend breaks ALSA

Greetings,

I have a laptop with the es1978 ALSA sound driver built into the kernel.
When I go through a suspend / resume cycle using apm, the sound system
does not recover and loud static comes from the speakers instead of
music / voice / etc. On boot, ALSA works just fine.

One solution appears to be building ALSA as modules and unloading /
reloading them, after a suspend / resume cycle. With 2.4.xx and the OSS
drivers built in, this wasn't an issue.

Now that I've got them built as modules and have a 'sound' script in
/etc/apm/events.d/ that does the loading and unloading I'm happy, but I
figured I'd report the issue anyway.

Chris
--
Christopher S. Swingley email: [email protected]
IARC -- Frontier Program Please use encryption. GPG key at:
University of Alaska Fairbanks http://www.frontier.iarc.uaf.edu/~cswingle/


2003-07-30 15:37:17

by Takashi Iwai

[permalink] [raw]
Subject: Re: apm suspend breaks ALSA

At Wed, 30 Jul 2003 07:12:19 -0800,
Christopher Swingley wrote:
>
> Greetings,
>
> I have a laptop with the es1978 ALSA sound driver built into the kernel.
> When I go through a suspend / resume cycle using apm, the sound system
> does not recover and loud static comes from the speakers instead of
> music / voice / etc. On boot, ALSA works just fine.
>
> One solution appears to be building ALSA as modules and unloading /
> reloading them, after a suspend / resume cycle. With 2.4.xx and the OSS
> drivers built in, this wasn't an issue.
>
> Now that I've got them built as modules and have a 'sound' script in
> /etc/apm/events.d/ that does the loading and unloading I'm happy, but I
> figured I'd report the issue anyway.

as default, the power-management of es1968 is enabled only on a
certain board, namely,
ESS1978 _and_ (vendor == 0x1028 || vendor == 0x1179)

first, please check whether your pci id matches with it.

the behavior can be changed by a module option, use_pm, but it's
missing in the kernel boot parameter (i'll fix this later).
in that case, modify use_pm[] default value from 2 to 1, to force to
use power-management.


Takashi