From ThinkWiki
Revision as of 13:02, 10 April 2009 by Gandro (Talk | contribs)
Jump to: navigation, search


This is a Cirrus Logic Audio controller

Note: This chip is paired with a CS4297A AC'97 Audio controller, only one sound driver should be loaded.


  • Chipset: CS4624
  • Interface: PCI
  • PCI ID: 1013:6003

Linux ALSA driver

This sound chip is supported by the snd-cs46xx kernel module.

Problems with suspend and resume in kernel prior 2.6.29

The driver has a bug in that sound does not work after suspend and resume. If the cs46xx Alsa driver is compiled as a module though, sound can be reinitialized by removing and reloading the module and resetting the alsamixer soundlevels. A simple bash-script (to be run as root) that does this, would look roughly like this:

/etc/rc.d/init.d/alsa stop
modprobe -r cs46xx
modprobe cs46xx
/etc/rc.d/init.d/alsa start

Do note that the link to "/etc/rc.d/init.d/alsa" may have to be modified depending on where your distributions init-files are placed.

Without the kernel config option [ ]Currus Logic (Sound Fusion) New DSP support (CONFIG_SND_CS46XX_NEW_DSP) suspend and resume works perfectly. However, the old DPS image has no support for multichannel sound or dmix, so you have to use a soundserver like esd or PulseAudio to allow multiple applications to play sounds at the same time.

Problems with the microphone

If you can't seem to use your mic with this card, open up alsamixer and set the following 3 channels to "capture": MIC, CAPTURE, ADC. Make sure your amixer output contains following:

Simple mixer control 'ADC',0
  Capabilities: volume cswitch cswitch-joined
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 32767 
  Front Left: 32767 [100%] Capture [on]
  Front Right: 32767 [100%] Capture [on] 

(see also: http://alsa.opensrc.org/cs46xx)

ThinkPads this chip may be found in