I had the same problem with a Geode LX800 from Winsystems.
I had to hack the kernel driver to make it work.
My problem was that the mixer was not configured properly. Your board does not use the same mixer than mine so my patch will not work.
Their is a number of thing to check. Check if your speaker out if physically connected to the main out or the headphone out of the realtehk chip. If that is the case, you have to load the AC97 codec with an argument(see kernel doc)
If that is not the case, here is how I debuged mine:
Compile the AC97 with debug info so you have:
/proc/asound/card0/codec97\#0/ac97\#0-0\+regs
Get the program mixer.c
http://www.oreilly.de/catalog/multil...pt/ch14-07.htm
this allow you to change mixer value from shell
This gives you the AC97 register:
02 is your master output, should vary when you vari the master mixer
18 is your PCM output level, should vary when you vari the PCM mixer
my problem was than when I was doing
# mixer pcm 100
the register 18 was not modified accordingly.
Hope this help.
In the meanwhile, if someone could tell me how to get in touch with ALSA AC97 kernel driver coder so that I could talk about my patch...