udev doesn't run ifup for 3c59x ethernet card

Bug #211955 reported by Akkana Peck
Affects Status Importance Assigned to Milestone
netbase (Ubuntu)

Bug Description

Binary package hint: udev

I have a 3com 3c59x cardbus ethernet card which does not get properly enabled (under hardy beta) when it's plugged in (or after boot or suspend/resume).

It is being properly assigned to eth0 in 70-persistent-net.rules, but it ends up in a state where it isn't up but isn't quite down either. It shows up in ifconfig eth0, but it's not marked as UP and doesn't have an inet address. If I run ifup eth0, it tells me it's already up; if I run ifdown eth0, it gives an error: SIOCDELRT: No such process, but after that I can run ifup eth0 and it will get an address and be properly marked UP. (I do have both auto eth0 and allow-hotplug eth0 in /etc/network/interfaces.)

The problem seems to be that the card starts out in a state that's not completely down, so that when 85-ifupdown.rules tries to run
/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto eth0
the ifup fails.

ifconfig eth0 looks identical after running ifdown, so I'm not sure what is being changed there that makes it possible to run ifup later.

A fix is to add a --force to the ifup in 85-ifupdown.rules, i.e. change the line to:
ACTION=="add", RUN+="/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --force --allow auto $env{INTERFACE}"

Daniel T Chen (crimsun)
Changed in netbase:
importance: Undecided → Low
Revision history for this message
Stéphane Graber (stgraber) wrote :

Sorry for the late reply, I believe this bug has been fixed with more recent kernel/udev and the event based networking changes that went in over the past few releases.

Changed in netbase (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers