I have just experience this weird problem.
My MacBook Air would not get issues an IP address by a WiFi router make Tenda model 11n. It would only say that it got a self assigned IP address and had no Internet connection.
It would show up in wireless connections by MAC address.
It would not show up in DHCP client list whatsoever.
I have tried rebooting both laptop and the router, I've tried changing WiFi channel, tried static IP, but nothing worked.
Best Answer
I then tried to add the laptop to the router's static DHCP assignment list.
This has changed something. Although it would still not connect, I was now able to see the laptop in DHCP client list, but with a blank host name.
This made go and check my laptop's "Computer Name", which was something like "John's MacBook Air" in Preferences/Sharing, which resulted in auto-generated NetBIOS name like "MACBOOKAIR-CB8C" in Preferences/Network/Advanced/WINS
As soon as I changed "Computer Name" to something simple like "JM Air", it connected to router's WiFi.
I have now tried to disable WiFi, and change the computer name to something as obnoxious as it previously was. It did not break anything, surprisingly.
I am still not sure why changing "Computer name" fixed this problem, but I found the problem quite annoying and there was no solution anywhere. So please enjoy.