There is a special workaround for the debian woody stable ditro using kernel 2.4bf:
This is using everything which is already posted here and about 3 hours of troubleshooting with a wonder volenteer of debian staff:
I am posting this here, because this was one of the first sites which put me on the right track trying to figure out what was going wrong with my soundcard. The syptoms were simple: the first .25sec of a soundclip was looped. With KDE I didn't notice this unless I ran 'aumix' and played with the speaker volume, because the first .25 sec of the kde 2.2.2 loginsound was too quiet to hear. As remodie I ran 'rmmod cs4232' and 'modprobe cs4232' every time I booted before I opened kde. You can read about why this happens with the example from the IBM people:
The IBM people already know that there CS card is a pain in the backside: But thier info helped a little
http://www-307.ibm.com/pc/support/si...GR-4BP6Q6.html
OSS workaround:
1.delete /etc/modutils/sndconfig, sndconfig.bak, and cs4232 if you have them
2.(over)write '/etc/modutils/sound' with this:
*******************
alias sound-slot-0 cs4232
alias sound-service-0-3 cs4232
alias sound-service-0-0 cs4232
options sound dmabuf=1
options cs4232 io=0x530 irq=5 dma=1 dma2=0 isapnp=0 \
mpuio=0x330 mpuirq=5 \
synthio=0x338 synthirq=9
options opl3 io=0x388
options wavefront io=0x338 irq=9
**********************
This is good enough for the modules and works on the above distro with a IBM Thinkpad 600E
3.after replacing '/etc/modutils/sound', run 'update-modules'.
4.Get this workaround Demon and save it in your init.d directory
with:
cd /etc/init.d && wget
http://WWW.sabi.co.UK/xirc/cs4232
it should be saved as at /etc/init.d/cs4232
or copy and paste:
*******************************************************
#!/bin/sh
# chkconfig: 2345 99 01
DAEMON="/lib/modules/`uname -r`/kernel/drivers/sound/cs4232.o"
test -f $DAEMON || exit 0
case "$1" in
start) echo -n "Restarting the cs4232 driver: "
rmmod cs4232
modprobe cs4232
echo "restarted."
;;
stop) echo -n "Stopping the cs4232 driver: "
rmmod cs4232
echo "stopped."
;;
restart|force-reload) echo -n "Re-restarting ATM ARP Daemon: "
rmmod cs4232
modprobe cs4232
rmmod cs4232
modprobe cs4232
echo "re-restarted."
;;
*) echo "Usage: $0 start|stop|restart|force-reload"; exit 1
;;
esac
exit 0
********************************************************
5. 'chmod a+rx /etc/init.d/cs4232' and then
'/etc/init.d/cs4232 start' and then play again and check if it the looping is gone.
(every user has to be able to execute and read this file)
I used an Mp3 and mpg123 to check my sound
6. now run 'update-rc.d cs4232 defaults 99'
Debian uses run levels 2,3,4,5 and they are equivalent. This inserts the cs4232 'daemon' in the last place for all of these run levels.
but the SYSV is a mess, don't worry, this worked perfectly for me. This is what the output looked like for me: (anyone with a thinkpad should have something identical, maybe with a different host name

.
ls -ld /etc/rc*.d/*cs4232
Output for this command (looked like see below)
monkey:~# update-rc.d cs4232 defaults 99
Adding system startup for /etc/init.d/cs4232 ...
/etc/rc0.d/K99cs4232 -> ../init.d/cs4232
/etc/rc1.d/K99cs4232 -> ../init.d/cs4232
/etc/rc6.d/K99cs4232 -> ../init.d/cs4232
/etc/rc2.d/S99cs4232 -> ../init.d/cs4232
/etc/rc3.d/S99cs4232 -> ../init.d/cs4232
/etc/rc4.d/S99cs4232 -> ../init.d/cs4232
/etc/rc5.d/S99cs4232 -> ../init.d/cs4232
The S99 is the last space in the init.d sysV thingy apparently ... that is what this prefix S99 is all about
and we can check that it is there:
monkey:~# ls -ld /etc/rc*.d/*cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc0.d/K99cs4232 -> ../init.d/cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc1.d/K99cs4232 -> ../init.d/cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc2.d/S99cs4232 -> ../init.d/cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc3.d/S99cs4232 -> ../init.d/cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc4.d/S99cs4232 -> ../init.d/cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc5.d/S99cs4232 -> ../init.d/cs4232
lrwxrwxrwx 1 root root 16 Jul 20 21:03 /etc/rc6.d/K99cs4232 -> ../init.d/cs4232
monkey:~#
OK, that's perfect
it starts and stops that script last (priority 99) in all runlevels.
This Workaround was based on the Redhat workaround 'ported' for Debian Woody linux by !!!!!!blisssex!!!!!!!! on the Debian support IRC today. and written here by me.... today!
Thanks a lot blissex
