I'm usually that last person to recommend a factory reset, but I can't think of anything else under user control that might resolve this. Did they work when you first got the phone? If so, then it's possible some piece of software you loaded has messed it up, but figuring out which could be a pain.
If you won't lose too much, I'd try the reset. If they still don't work after that, it's a hardware issue. Unless you're rooted and running a custom ROM, but I get the feeling that's not the case.