[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel update breaks network



> I just updated an Etch server to linux-image-2.6.18-6-k7 (from -5-) and 
> after a reboot network won't come up.  The network card is an Intel 
> 100mbit, uses the e100 driver.  The driver loads, but trying to bring 
> eth0 up gives me a "does not exist" error.
>
[...]
> Any ideas appreciated

  Something like this happened to me just a few days ago.  I bought
two identical motherboards, but only 1 CPU (awaiting a free CPU from
a friend).  I wanted to test both mboards right away, in case any of
them was dead.
  I built a machine around the first mboard, and then installed Lenny
using a daily-build Debian-installer CD from March.  It all worked fine,
including the NIC being autodetected as "eth0", etc.
  Then, I swapped in the other mboard.  All worked just as well, except
the NIC didn't seem to be detected.  Upon closer inspection, I found
(via 'dmesg | less') that the kernel was seeing it just fine but udev
was renaming the NIC from "eth0" to "eth1".
  The problem turned out to be relatively simple.  A list of devices
discovered by udev is kept in /etc/udev.  The MAC address of the NIC
on the first mboard was stored in a "persistent rules" file there,
and udev has been written to assume that any device it discovered in
the past may suddenly reappear someday.  In short, udev was preserving
the "eth0" name for the NIC from the first mboard, and was assigning
"eth1" to the NIC on the second mboard.
  This sounds very similar to the problem you are having!  ;)

  My advice is:

1)  Go to /etc/udev/rules.d in a terminal.

2)  Run 'grep eth *'.  (In my case, the file I found with the problem
was called 'z25_persistent-net.rules'.)

3)  Use your favorite editor (as root, or with 'sudo' or 'su -c', etc.)
to alter the configuration to your liking.  In my case, I commented
out the line that was assigning "eth0" only to the MAC address of the
NIC on the first mboard, and then edited "eth1" to "eth0" on the line
identifying the MAC address of the NIC on the second mboard.

4)  Run 'ifup eth0'.  In my case all was well.


HTH,
Dave Witbrodt


Reply to: