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.