I've got a several year old Linksys WRT54GL wireless router that I use for my home network. Ever since I've had the router, I've been running DD-WRT on it, which is great. The new firmware is super stable, has a great number of additional features I use constantly (DDNS, static DNS leases), but I have had a lot of trouble recently trying to get my Airport Express to connect to the network. For security, I use WPA2 Personal encryption on my network. Now, I'm not tyring to set up a WDS network, which, from the documentation, is a mixed bag to get working. So, after lots of fiddling, and lots of resetting of the Airport Express, I finally got it to work. Here is what I did.
I'm running DD-WRT v24-sp1 on my Linksys WRT54GL v1.1 with an Airport Express running the latest 6.3 firmware. On the WRT54GL, I set the wireless security mode to WPA2 Personal and the WPA Algorithm set to TKIP. On the Airport Express, I told it to join my existing network with wireless security of WPA/WPA2 Personal. Doing all this, and I can now stream music to my stereo.
I'm sure someone else will find this information useful.
I ended up still having problems, and so I switched to Tomato, instead of DD-WRT, and since then, the router has been really stable and the Airport Express connects perfectly.