I am using Linux for so many years now but I also keep windows installed on my PC. I need windows just for one damn single thing, 5.1 sound! I was never able to enable 5.1 on fedora. I have been searching on internet, sending mails to mail groups and asking every other Linux geek but none helped. I guess today is my lucky day :)
I came across this page on the internet ALSA Multi-channel Audio mini-HOWTO by Uday Bondhugula. I followed the instruction given by him on this page. After following each and every step carefully I was able to get all my 5 speakers and Sub-woofer working!! But when I ran speaker-test -c 6 -D surround51 command I realized that my center and LFE speakers are actually swapped :( then I quickly mailed Uday asking for help and not hoping for his reply. To my surprise he replied soon (God bless you Uday) and asked me to run cat /proc/asound/card0/id command. He then asked me to make the changes in my /etc/alsa/cards/ATIIXP.conf file. Actually earlier I was struggling with /etc/alsa/cards/ICH4.conf file.
Now everything is great. I can hear sound from all my speakers on fedora 7. I am using MSI RS480-IL motherboard. Which has an on-board sound card.
If you find any difficulty enabling 5.1 on your Linux then let me know. May be I can help you :p