Red Hat Bugzilla – Bug 590892
Audio does not work after suspend or hibernate on HP Omnibook 4150 laptop (snd-cs4236 module)
Last modified: 2010-12-03 09:50:35 EST
Description of problem:
Audio does not work on old HP Omnibook 4150 laptop after suspend/hibernate.
"Out of the Box" audio does not work at all, but as a workaround it start to work using different snd-module than default with correct parameters.
As default laptop try to use snd-opl3sa2 and there are error messages in dmesg output like:
ALSA sound/isa/opl3sa2.c:234: opl3sa2: can't grab port 0x0
nm256: The device is blacklisted. Loading stopped
snd-opl3sa2-pnpbios 00:0c: disabled
snd-opl3sa2-pnpbios: probe of 00:0c failed with error -16
and soundcard is not recognized, /proc/asound/cards includes:
--- no soundcards ---
and sure there is no sound.
As a workaround when I include in file: /etc/modprobe.d/local.conf lines (tip from ALSA Wiki):
alias snd-card-0 snd-cs4236
options snd-cs4236 port=0x534 cport=0x538 irq=5 dma1=1 dma2=0 isapnp=0
and also put command:
to file /etc/rc.d/rc.local
audio start to work correctly. Working irq value can vary depending which devices are enabled in bios. However there are messages in dmesg output like:
ALSA sound/isa/wss/wss_lib.c:460: mce_down - exit = 0xb
many times, but sound works fine.
Information of the audio device (output of lspci -vv)
01:00.1 Multimedia audio controller: Neomagic Corporation NM2200 [MagicMedia 256AV Audio] (rev 12)
Subsystem: Hewlett-Packard Company MagicMedia 256AV Audio Device on Voyager II
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B+ DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin B routed to IRQ 10
Region 0: Memory at fe000000 (32-bit, prefetchable) [size=4M]
Region 1: Memory at fe700000 (32-bit, non-prefetchable) [size=1M]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel modules: snd-nm256
This is also strange, module snd-nm256 is blacklisted but it is shown here as kernel modules still instead of actually used snd-cs4236
But after suspend or hibernate, sound does not work anymore.
Then there are error messages in dmesg output like:
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x0, value = 0xac
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x1, value = 0xac
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x2, value = 0x9f
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x3, value = 0x9f
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x4, value = 0x9f
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x5, value = 0x9f
ALSA sound/isa/wss/wss_lib.c:204: out: auto calibration time out - reg = 0x6, value = 0x0
etc. and there is no sound. There are no other error messages after resume.
Version-Release number of selected component (if applicable):
kernel.i686 220.127.116.11-99.fc12 @updates
module-init-tools.i686 3.9-4.fc12 @anaconda-InstallationRepo-200911081854.i386
Steps to Reproduce:
1. Hibernate or Suspend HP Omnibook 4150 laptop
2. Wake up after hibernate or suspend
3. Try to play audio
Sound should work like before suspend/hibernate
As a workaround I try to stop alsa using script "alsasound" (not included in Fedora, but it works) before suspend and start alsa again after resume. No success then sound card is not detected at all and /proc/asound/cards includes
--- no soundcards ---
If I do same (stop/start alsa) without putting laptop sleep everything
works fine, audio start to work again after "alsasound start". So I know alsasound script actually works.
I found workaround for this. Idea is just unload the module and disable pnp soundcard before suspend and activate soundcard and load snd module after wakeup.
Attached file: /etc/pm/sleep.d/09alsa
audio address (value of audioadr) depends on bios settings of laptop.
Created attachment 414401 [details]
suspend/hibernate/thaw/resume script for handling audio nicely
This is workaround for HP Omnibook 4150 laptop to get audio work also after resume/thaw. This file should be located under directory: /etc/pm/sleep.d/
Created attachment 414402 [details]
Workaround to get resume/thaw work nicely (not black screen)
There is also problem that as default with this HP Omnibook 4150 laptop screen is powered off after resume/thaw. It can be also manually switched on by Fn+F5 but attached 99local-pm-utils-quirks.fdi file fix this problem and screen is not powered off after resume anymore. Attached file needed to be in directory:
Then this bug (or feature) is related to package pm-utils
pm-utils.i686 1.2.5-7.fc12 @updates
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '12'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 12's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 12 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.