I was having the same problem, I have a p4 with a AC1981A on-board soundcard, intel mobo. I tried everything I could think of, until I stumbled upon www.opensound.com.
I loved it, worked first time, but then I found out you had to pay 51 US for a license, and that was ridiculously abusive, so I went looking on the net for my particular soundcard (being an ICH4 bridge problem, I think) and found out that starting on orc3, alsa drivers recognized my soundcard.
I then proceeded to download the orc5 drivers (alsa-driver-0.9.orc5) and respective libraries and utilities, installed them (make sure you have the kernel source installed, so it can properly compile the sound devices. Also, if you happen to have my problem of having the source kernel files in a different directory from /usr/src/linux/include (in my case it was /usr/src/linux-2.4.18-17.8.0/include) use this instead of the regular ./configure:
It worked for me, only problem I now have (minor) is to stop my sound from being muted at startup. I have to make a config file... And another thing: The channels are mixed up, when you open alsamixer to unmute (make sure you do that, or else your sound wont play) I was trying master volume, but it was in the headphones channel (very odd)..
For now that's the best solution, best of luck to all of you, and I guess you'll have to wait a bit til kernel 2.6+ comes out. Or buy a sound blaster live! :-)