Comment 9 for bug 20960

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Like I said, it's not _just_ wireless cards -- that's just one set it happens to
be common on.

There's a race between the network card being brought up, and dhcp completing,
and ntpdate running.

S:S40hotplug
  network card detected
  device renamed (if necessary)
  ------------------------------------------> wait for networking to come up
S:S40ifrename |
  other devices renamed |
S:S40networking |
  networking comes up |
S:S41hotplug-net \_/
  waiting network plug events released -----> begin configuration of network cards
S:S45mountnfs.sh |
  NFS filesystems mounted (if any) \_/
S:S48console-screen.sh Bring device up, perform any necessary
  Console initialised configuration such as wireless essid.
S:S50alsa-utils |
  Sound cards initialised \_/
S:S50hwclock.sh Begin DHCP configuration
  Hardware clock set |
**********************************************************|*************************
S:S51ntpdate \_/
  Time set via NTP DHCP complete, network card ready
for use

If the time to configure the card and obtain configuration from the DHCP server
is longer than the time the parallel boot sequence takes to reach S:S51ntpdate,
ntpdate will fail.

This is why it's intermittent; sometimes one side wins, sometimes the other side
does.

The reason this worked in warty/hoary is that the network cards weren't
configured in parallel like this; and instead the boot sequence waited until
each was ready until carrying on.