Difference between revisions of "Problem with broken sound on some ThinkPads"

From ThinkWiki
Jump to: navigation, search
(Solutions)
Line 31: Line 31:
 
This is reported to work at least with kernel 2.6.9.
 
This is reported to work at least with kernel 2.6.9.
  
This the above line fails, quick book is probably activated in the bios. In that case needs to activate the sound card by hand.  
+
This the above line fails, quick boot is probably activated in the bios. In that case needs to activate the sound card by hand.  
  
 
With apm and pnpbios, this is done with setpnp from the pcmcia package: setpnp 0x0e on&& setpnp 0x0f on
 
With apm and pnpbios, this is done with setpnp from the pcmcia package: setpnp 0x0e on&& setpnp 0x0f on

Revision as of 10:46, 19 May 2005

Information about the phenomena of broken sound on 600/E type ThinkPads.

Problem description

The following is not true with a Fedora Core Devel kernel 2.6.10-1.1109_FC4 (and probably other kernels) on IBM ThinkPad 600X machines. Just use the CS4610 drivers and sound will work fine. Trent Jarvi, tjarvi at qbang.org

First of all, be aware that even though the sound chip is a Crystal SoundFusion 4610, you'll have to use the cs4236 driver to enable sound on this machine, since this driver supports the CS4239 emulation that the 4610 chip offers.

Done that you might experience the phenomena that your sound goes into a loop after about a second just like a scratched record.

Affected Models

Affected Operating Systems

  • Linux, all flavours

Status

Here's a reasonable explanation of what happens:

The problem with the 600 series is that there is not one, not two, but THREE chips that look like sound cards to Linux. The actual Crystal chip is one of them, the mwave is another, and the video chipset has a DSP that can be used as sound circuitry if a designer opted to do so.

A good thread on the problem can be found in the alsa-devel mailing list

Solutions

Compile the sound driver as module and load it after everything else. You can create a boot script with the following line for that:

/sbin/modprobe snd-cs4236 index=0 port=0x530 cport=0x538 irq=5 dma1=1 dma2=0 isapnp=0

This is reported to work at least with kernel 2.6.9.

This the above line fails, quick boot is probably activated in the bios. In that case needs to activate the sound card by hand.

With apm and pnpbios, this is done with setpnp from the pcmcia package: setpnp 0x0e on&& setpnp 0x0f on

With acpi and pnpacpi, echo 'activate' >/sys/devices/pnp0/00:05/resources&& echo 'activate' >/sys/devices/pnp0/00:06/resources

This only works with kernel that fully supports pnpacpi, and provided that this patch has been applied. It seems that the dma numbers change with pnpacpi (dma1=1, dma2=5 for instance).