Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#368845: ISA ethernet device is renumbered on every reboot

0 views
Skip to first unread message

Ian Bruce

unread,
May 25, 2006, 8:20:09 AM5/25/06
to
Package: udev
Version: 0.091-2

I have a Pentium I system with a fresh installation of Debian/stable. I
upgraded it to run a v2.6 kernel ( linux-image-2.6.15-1-486 ), which
pulled in udev as a dependency. Subsequently, I discovered that the
network interface had stopped working.

Investigation shows that the cause of the network malfunction is that
the ethernet device number is incremented on every reboot, and
consequently, the "/etc/network/interfaces" file, which is configured
for "eth0", cannot find it. This seems to be related to the fact that
the file "/etc/udev/rules.d/z25_persistent-net.rules" gets a new entry
added on every reboot:

# UNKNOWN device (/class/net/eth0)
ACTION=="add", SUBSYSTEM=="net", DRIVER=="?*", SYSFS{address}=="00:20:35:XX:YY:ZZ", NAME="eth0"

# UNKNOWN device (/class/net/eth0)
ACTION=="add", SUBSYSTEM=="net", DRIVER=="?*", SYSFS{address}=="00:20:35:XX:YY:ZZ", NAME="eth1"

# UNKNOWN device (/class/net/eth0)
ACTION=="add", SUBSYSTEM=="net", DRIVER=="?*", SYSFS{address}=="00:20:35:XX:YY:ZZ", NAME="eth2"

This went up to "eth7" at one point. If I delete this file and reboot,
then everything works fine: the network interface comes up as "eth0",
and the network init scripts configure it properly. But on the next
boot, it comes up as "eth1", and everything breaks. Subsequent reboots
produce "eth2", "eth3", and so on.

I understand that the intention of this mechanism is to produce
persistent device names for the same physical device, while other
hardware is being added or removed. But in this case, it is producing
exactly the opposite result: the device name changes with every boot,
while the hardware configuration remains the same.

The network configuration of this system is as simple as it could
possibly be: there is one ISA ethernet card, the driver for which is
loaded by the "etc/modules" file. It seems like the default udev
configuration ought to be able to handle this situation without manual
intervention. Whether this problem also affects PCI ethernet cards, I do
not know. It doesn't seem to be an issue with the kernel driver; if I
manually "ifconfig" the device, it starts working immediately.


-- Ian Bruce


--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Marco d'Itri

unread,
May 25, 2006, 4:40:08 PM5/25/06
to
On May 25, Ian Bruce <ian_...@fastmail.fm> wrote:

> for "eth0", cannot find it. This seems to be related to the fact that
> the file "/etc/udev/rules.d/z25_persistent-net.rules" gets a new entry
> added on every reboot:

Please send me a copy of your /sys/class/net/eth0/ directory (first make
a copy using cp -a and then use tar + gz.)
Does the /sys/class/net/eth0/device/driver/ symlink exist?
Probably not. If so, this can be fixed by adding this line to the top of
persistent-net-generator.rules:

DRIVER!="?*", GOTO="persistent_net_generator_end"

--
ciao,
Marco

signature.asc

Marco d'Itri

unread,
May 26, 2006, 5:00:16 AM5/26/06
to
On May 26, Ian Bruce <ian_...@fastmail.fm> wrote:

> > Does the /sys/class/net/eth0/device/driver/ symlink exist? Probably
> > not.

> No. The device/ subdirectory doesn't even exist.
As expected, this is a kernel bug (or missing feature or whatever).

--
ciao,
Marco

signature.asc

Ian Bruce

unread,
May 26, 2006, 5:00:18 AM5/26/06
to
On Thu, 25 May 2006 21:57:23 +0200
m...@Linux.IT (Marco d'Itri) wrote:

> Please send me a copy of your /sys/class/net/eth0/ directory (first
> make a copy using cp -a and then use tar + gz.)

See attachment. Because of the device renumbering, it's actually the
/sys/class/net/eth2/ directory; the eth0/ directory doesn't exist.

> Does the /sys/class/net/eth0/device/driver/ symlink exist? Probably
> not.

No. The device/ subdirectory doesn't even exist.

> If so, this can be fixed by adding this line to the top of


> persistent-net-generator.rules:
>
> DRIVER!="?*", GOTO="persistent_net_generator_end"

That seems to fix the problem. With this change, the
/etc/udev/rules.d/z25_persistent-net.rules file is not recreated, and
the network interface comes up as eth0 on every reboot. There's still no
eth0/device/ subdirectory, however.


-- Ian Bruce

sys-class-net-eth2.tgz
0 new messages