Searching for "os x wireless connection timed out" will bring up 100's of unique posts about people having issues getting their Mac's wireless card connected to a new (or just different) router. Most answers start with the typical knee jerk "I wanted to be the first post" responses of reboot your router, reboot your Mac, change the wireless channel, check your SSID and passphrase... Because, you know, when stuff that was working minutes ago breaks it's because you typed your password wrong.
Dig through the replies a bit more and you will find insightful advice such as deleting system preferences, creating new network profiles, and clearing out your key chain. When my sister's MacBook Pro suddenly wouldn't connect to a new router using the same security settings as the old, I started running through the gauntlet of troubleshooting. I did all the resetting (including my SMC) and rebooting and whatnot just to make sure I wasn't "that guy". I set static channels, downgraded the speed from N to G to B, and tried various combinations of WPA, WPA2, TKIP, and AES/CCMP. I deleted every network preference I could find. The thing just wouldn't work.
Then I remembered an issue I had with my Raspberry Pi a few weeks earlier. I could get my Pi to associate with the wireless network but it wouldn't get an address from the gateway's built-in DHCP server. Setting a static address worked fine. After a couple days of scratching my head I figured out that a hidden SSID was the culprit. Interestingly enough, un-hiding my SSID also fixed a digital picture frame that had mysteriously stopped connecting to the wireless (even though it was connecting earlier with a hidden SSID).
But alas, the SSID at my mom's house wasn't hidden. I fired up the Network Preferences again on the MacBook, set a manual IP for the wireless connection, and ta da! The laptop connected to the network and I was able to browse the Internet. Even after reverting the settings to return to using DHCP the connection still worked (with an appropriately assigned address from the pool). I did find one reference of someone fixing this same error message by setting a static assignment on his router for the Mac.
I can't say for sure if the issue was with the Mac or the router. I tend to lean in the direction of the Mac as it seems to store information about past connections in so many places, and even when you delete these old connections from your settings they are still there in
*.plist files on your system. That and every other device was working just fine, including the Mac when connected via ethernet cable.