I've played around with freeradius and chillispot on WRT54GS. It took a little bit of time to set up but works really well. The chillispot/radius combo is a lot better than nocat (which only provides very simple authentication and no logging). Chillispot is being actively maintained and new features are regularly addded. Freeradius also includes a web based management console (dial-up something-or-other) which provides plenty of usage data etc. And radius provides plenty of granuality for controlling bandwidth/usage on whatever user or group basis you can think of.
Only problem with using radius is that if the server goes down, everyone on the network is screwed. I'd recommend a second (seperate) server with database replication between the two.