Comment 1 for bug 20090

Revision history for this message
djwong (djwong) wrote :

I can confirm this bug on a fresh install of Breezy on a T40. I've also figured
out what's going wrong here:

After the installer insmod's airo.ko, the system comes up with an Ethernet
device as eth1 and the raw 802.11 device as wifi0. The installer sees the eth1
ethernet device and creates an iftab entry "eth1 mac XX:XX:XX:XX:XX:XX",
presumably so that the system will "remember" which MAC address mapped to which
interface at install time.

Unfortunately, this entry is not sufficiently precise! As far as ifrename is
concerned, eth1 and wifi0 have the same MAC address, and on my T40, ifrename
examines wifi0 first. Thus, wifi0 (a raw 802.11 interface) is renamed to eth1
and the real ethernet interface gets pushed off to eth2. Consequently, dhclient
is not attached to a real ethernet interface, which is why it appears that
wireless "doesn't work" upon first boot even though it does in the installer.

Quick solution: Change that iftab entry to read "eth1 arp 1 mac
XX:XX:XX:XX:XX:XX". The "arp 1" forces ifrename to match to the Ethernet device
instead of the "Unspecified" (raw 802.11) device.

Ergo, this is not a bug with the kernel; it's a bug with whomever sets up iftab.