[ltp] Sound on 600e with Debian Sarge distro

wes schreiner linux-thinkpad@linux-thinkpad.org
Wed, 29 Dec 2004 15:43:13 -0600


Bert Haskins wrote:

>
>
> Michelle Klein-Hass wrote:
>
>>
>> What you are going to have to do is manually modprobe the driver 
>> after everything else is up and running. It's a nasty kludge but it 
>> works. My friend Chad wrote it up as a very small shell script, with 
>> only this line:
>> /sbin/modprobe snd-cs4236 index=0 port=0x530 cport=0x538 irq=5 dma1=1 
>> dma2=0 isapnp=0
>>
> I have never been able to get sound on either my 770x or 770z under 
> Alsa and or any 2.6 kernel.
> Alsaconf  finds the sound chip says to use a CS4236 but thinks that it 
> is a legacy ISA and fails with the
> message "No legacy sound cards found".
> The  fc2 sound card detection tool says no soundcards were detected.


All auto detection schemes will fail, due to the way the sound chip is 
wired up.

> /proc/ ioports... interrupts don't show anything for sound.


yep, you won't get anything there until a driver can find the chip.

> Now this is really strange:
> lspci  does show "Multimedia audio controller: Cirus logic CS 4610/11 
> [Crystal clear SoundFusion Accelerator] (rev 01)"
> So which is right, is this sound chip ISA or PCI?


It's a PCI chip that emulates an ISA Plug and Play chip that is _not_ 
wired ISA Plug and Play!  You can't control the CS4610/11 directly, that 
's what the BIOS has control of in order to give you keyboard control of 
volume and mute.  What you can do is talk to it like it is a CS4232 
(oss) or a CS4236/9 (alsa) but since those chips are normally wired up 
ISA Plug and Play, but this chip isn't, you have to disable isapnp (see 
isapnp=0 above, or disable it in the ALSA build configuration if you are 
building your ALSA modules from source) and then give the correct port, 
irq, and dma values to the driver.  Only then will the driver load 
correctly and you will have sound, well, once you unmute it, and by that 
I mean both the keyboard mute/volume control as well as the sound card 
mixer controls.  If you have everything right and it still doesn't work, 
you might have to reverse the values for dma0 and dma1. 

>
> Further info: ps2 AU is setup right, sound worked under OSS and 2.4,


Good, then you should have a correct list of values for the ports, IRQ's 
and DMA channels.  You want to use the values that PS2.exe reports.

> sound works fine in dos games and Billy and Steves
> bad dream ,you know, the BS OS


That is irrelevant, as the Windows driver knows how to use the PnP BIOS 
to reconfigure the chip on the fly, but the settings it applies only 
last until the next boot, whereupon the settings revert to what PS2.exe 
will show.  The PnP BIOS (not the same as ISA PnP) is how the chip is 
actually configured, and any settings made through this mechanism can 
either be temporary until the next reboot, or permanent.  The Windows 
driver uses temporary settings, PS2.exe makes permanent settings.  If 
you have lspnp and setpnp installed (part of the pcmcia-cs package) , 
AND you have a kernel with PnP BIOS support then you can use lspnp to 
see the settings and setpnp to change them.  Mainline 2.4.x doesn't have 
PnP BIOS support, but the now old 2.4.x-ac kernels did, as well as some 
vendor kernels I think.  I don't know about 2.6.x, I don't use it on my 
Thinkpad.

> Does anyone have any ideas?


Good luck, you'll need it!  :-)

> Thanks,
>   Bert
>
>>
>> Run this command as root.
>>
>> BTW this only seems to work 100% reliably with Kernel 2.6.9. I don't 
>> know about 2.6.10 but under 2.6.9 it's good to go. You might have to 
>> get Kernel 2.6.9 from Sid...it might not be in Sarge yet.
>>
>> Oh yeah, you need to invoke aumix, again after su-ing to root, and 
>> unmute main volume and PCM volume to get some sound.
>

Feh, get the settings to where you want, then run alsactl store.  During 
boot up initialization, run alsactl restore somewhere.  Problem solved.

wes