I've recently got sound working on my Thinkpad 600E, it required a slightly altered script from from ThinkWiki (
http://www.thinkwiki.org/wiki/Script...ip_in_PnP_mode) and an addition to the pci blacklist. I'm running Xubuntu dapper, it works great on the 600E with 128Mb of ram. Steps taken to get sound working were:
(1) Add the following to '/etc/modprobe.d/blacklist'.
Code:
# snd_cs46xx doesn't work on thinkpad 600e
blacklist snd_cs46xx
(2) Change '/etc/rc.local' so it includes the sound chip enable and module parameter load as shown below.
Code:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# enable sound chipset and load module
# Sound-via-pnp-script for Thinkpad 600E and possibly other computers with onboard
# CS4239/CS4610 that do not work with the PCI driver and are not recognized by the
# PnP code of snd-cs4236
# search sound card pnp device
for dev in /sys/bus/pnp/devices/*
do
grep CSC0100 $dev/id > /dev/null && WSSDEV=$dev
grep CSC0110 $dev/id > /dev/null && CTLDEV=$dev
done
# activate devices (Thinkpad boots with devices disabled unless "fast boot" is turned off)
echo activate > $WSSDEV/resources
echo activate > $CTLDEV/resources
# parse resource settings
{ read
read bla port1
read bla port2
read bla port3
read bla irq
read bla dma1
read bla dma2
# Hack: with PnPBIOS: ports are: port1: WSS, port2: OPL, port3: sb (unneeded)
# with ACPI-PnP:ports are: port1: OPL, port2: sb, port3: WSS
# (ACPI bios seems to be wrong here, the PnP-card-code in snd-cs4236.c uses the
# PnPBIOS port order)
# Detect port order using the fixed OPL port as reference
if [ ${port2%%-*} = 0x388 ]
then
# PnPBIOS: usual order
port=${port1%%-*}
oplport=${port2%%-*}
else
# ACPI: mixed-up order
port=${port3%%-*}
oplport=${port1%%-*}
fi
} < $WSSDEV/resources
{ read
read bla port1
cport=${port1%%-*}
} < $CTLDEV/resources
# load the module
echo "options snd-cs4236 port=$port cport=$cport fm_port=$oplport irq=$irq dma1=$dma1 dma2=$dma2 isapnp=0 index=0" > /etc/modprobe.d/snd-cs4236
modprobe snd-cs4236
# end of sound module load
exit 0
After the above script is run you should find a new file in '/etc/modprobe.d/' called 'snd-cs4236', with the detected sound card settings. I've found that it needs the script to run to enable the sound chip, using the modprobe options on their own does not work. This may not be the recommended method i.e. dynamically writing module parameters, but it works for me
PS If the above still doesn't work make sure you have set up appropriate bios settings using the DOS 'ps2.exe' utility and 'fast boot' is turned off.