I have a Macbook Pro 5.5 running Ubuntu 10.04, and I've noticed that with some wifi networks, but not all, I'm unable to reconnect after coming out of suspension. I've tried both Network Manager and Wicd management daemons, and both get through validation, but get hung up on "Acquiring IP address...". The only solution I've found is to reboot the machine, after which it acquires an IP address very quickly.
What's the underlying issue here? What would be a more efficient way to resolve the problem?
EDIT: I've noticed that if I open Wicd and manually press "Connect", it fails to acquire an IP. However, if I do nothing and let it automatically try and connect, it acquires an IP and connects just fine...
EDIT: Note, this problem is dependent on the wireless router I'm trying to connect to. I have no problems with a basic Linksys wifi router, or the wireless router simulated by an Android wireless tethering app. However, old crappy Cisco/Comcast/Verizon home wireless routers always seem to give me headaches with connecting only after I suspend. If I reboot, I can connect to them immediately.
EDIT: I tried adjusting the DHCP Client setting in Wicd.
Originally, it was using dhclient, and a failed connection attempt would create a log like:
2011/07/28 20:55:35 :: Listening on LPF/eth2/00:26:bb:1b:90:cc
2011/07/28 20:55:35 :: Sending on LPF/eth2/00:26:bb:1b:90:cc
2011/07/28 20:55:35 :: Sending on Socket/fallback
2011/07/28 20:55:35 :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 5
2011/07/28 20:55:40 :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 10
2011/07/28 20:55:50 :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 11
2011/07/28 20:56:01 :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 18
2011/07/28 20:56:19 :: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 17
2011/07/28 20:56:36 :: No DHCPOFFERS received.
2011/07/28 20:56:36 :: No working leases in persistent database - sleeping.
2011/07/28 20:56:45 :: DHCP connection failed
2011/07/28 20:56:45 :: exiting connection thread
2011/07/28 20:56:45 :: Sending connection attempt result dhcp_failed
2011/07/28 20:56:45 :: attempting to set hostname with dhclient
2011/07/28 20:56:45 :: using dhcpcd or another supported client may work better
2011/07/28 20:56:45 :: attempting to set hostname with dhclient
2011/07/28 20:56:45 :: using dhcpcd or another supported client may work better
Noting the recommendation to try dhcpcd instead, I installed, restarted the wicd service, and set it to use dhcpcd. Unfortunately, the problem remains, with an even less helpful log:
2011/08/01 19:44:56 :: Connecting to wireless network CrappyCiscoRouter
2011/08/01 19:44:56 :: Putting interface down
2011/08/01 19:44:56 :: Releasing DHCP leases...
2011/08/01 19:44:56 :: Setting false IP...
2011/08/01 19:44:56 :: Stopping wpa_supplicant
2011/08/01 19:44:56 :: Flushing the routing table...
2011/08/01 19:44:56 :: Putting interface up...
2011/08/01 19:44:58 :: Attempting to authenticate...
2011/08/01 19:45:02 :: Running DHCP with hostname localhost
2011/08/01 19:45:22 :: err, eth2: timed out
2011/08/01 19:45:22 ::
2011/08/01 19:45:22 :: DHCP connection failed
2011/08/01 19:45:22 :: exiting connection thread
2011/08/01 19:45:22 :: Sending connection attempt result dhcp_failed
EDIT: I'm 99% convinced this is some sort of bug with the proprietary Broadcom STA driver and how it handles power management (i.e. suspending), since rebooting my entire system fixes it, and I've never experienced the problem on Linux devices with non-Broadcom wireless drivers. Which is frustrating...because that doesn't leave me with much recourse since I can't find any open source alternative to Broadcom's crappy driver.