DHCP very slow and unreliable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dhcp3 (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
What I expect to happen:
When booting Ubuntu, I expect the computer to get a DHCP lease and to have networking available as soon as Gnome starts up.
What happens instead:
1 - The boot hangs at the boot splash screen for some 20 to 30 seconds (already reported as https:/
2 - After eventually finishing the boot into Gnome, no network is available (except localhost).
3 - It needs at least one
sudo /etc/init.d/network restart
to get the network up. Ethernet network in this case. Often, issueing the above command more than once is needed.
- - -
This is obviously a regression as this misbehaviour started with one of the updates very close to 8.10's release date. I had installed 8.10 at the alpha3 stage.
I tried to boot Jaunty's Xubuntu CD and DHCP times out there as well.
DHCP works just fine if I boot this same computer into Hardy Heron or Windows.
I tried to debug the issue by catching dhcp packages with dhcpdump. Please find the logs attached. What I found is, dhcp3 reports a vastly wrong time for the validity of the lease in case it eventually gets one. The lease is meant to be valid 14400 seconds while dhcp3 reports some 6000-odd seconds.
- - -
mah@piccard:~$ lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10
mah@piccard:~$ apt-cache policy dhcp3-client
dhcp3-client:
Installiert: 3.1.1-1ubuntu2
Kandidat: 3.1.1-1ubuntu2
Versions-Tabelle:
*** 3.1.1-1ubuntu2 0
500 http://
100 /var/lib/
Unfortunately, after the release of Jaunty, this is still an issue. Things get worse, as some applications (e.g. Firefox, Pidgin) obviously trust some hidden notification system on the unavailability of the network. I can bring up the network as described above and ping arbitrary hosts successfully, yet Pidgin refuses to connect anyways.
A workaround for the applications is to uninstall network-manager. This way I can at least bring up the network manually - after each reboot and after each sleep/wake cycle - and get it recognized by the apps.