What it says on the tin: 75-persistent-net-generator.rules refuses to generate a line in 70-persistent-net.rules for an ne2000-compatible card using the driver built by CONFIG_NE2000. Upon further investigation by manually constructing lines in that file, I believe I have determined that the reason this happened is that DRIVERS=="?*" is false for this card. I'm running hardened sources 2.6.25-r11. Reproducible: Always Steps to Reproduce:
Please, paste your "emerge --info" and "emerge -pv udev hardened-sources" output.
# emerge -pv hardened-sources These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-kernel/hardened-sources-2.6.25-r11 USE="symlink -build" 47,891 kB Total: 1 package (1 reinstall), Size of downloads: 47,891 kB
# emerge --info Portage 2.1.4.5 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-hardened-r11 i686) ================================================================= System uname: 2.6.25-hardened-r11 i686 Celeron (Mendocino) Timestamp of tree: Mon, 22 Dec 2008 05:15:02 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.5.2-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.61-r2 sys-devel/automake: 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=pentium2 -pipe -fomit-frame-pointer" DISTDIR="/tmp/distfiles" FEATURES="distlocks parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.arcticnetwork.ca/source http://gentoo.chem.wisc.edu/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo" LANG="en_CA.utf8" LC_ALL="en_CA.utf8" LDFLAGS="-Wl,-O1" LINGUAS="en en_CA" MAKEOPTS="" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://cicero/gentoo-portage" USE="X bzip2 cairo caps cli cups glibc-omitfp gmp hpn isdnlog midi nptl nptlonly pam pic pppd reflection session spl symlink sysfs unicode vim-syntax x86 xcb xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_CA" USERLAND="GNU" VIDEO_CARDS="mach64" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
You forgot the "emerge -pv udev" output.
Whoops, so I did, sorry. # emerge -pv udev These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-fs/udev-124-r1 USE="(-selinux)" 204 kB Total: 1 package (1 reinstall), Size of downloads: 204 kB
This DRIVERS=="?*" check is necessary to not run into heavy problems of letting udev manipulate all kinds of virtual devices like vlan and others. So we cannot remove this from udev package. udev upstream considers this missing drivers link a kernel bug. So to get it working until this bug is fixed, you can create a rule (as you already tried) without that DRIVERS=="?*" matching. Can you please attach the output of udevadm info -a -p /sys/class/net/eth0 Assigning to kernel-team for further processing.
# udevadm info -a -p /sys/class/net/eth0 Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/virtual/net/eth0': KERNEL=="eth0" SUBSYSTEM=="net" DRIVER=="" ATTR{addr_len}=="6" ATTR{iflink}=="2" ATTR{ifindex}=="2" ATTR{features}=="0x0" ATTR{type}=="1" ATTR{link_mode}=="0" ATTR{address}=="00:80:c8:2c:71:a2" ATTR{broadcast}=="ff:ff:ff:ff:ff:ff" ATTR{carrier}=="1" ATTR{dormant}=="0" ATTR{operstate}=="unknown" ATTR{mtu}=="1500" ATTR{flags}=="0x1003" ATTR{tx_queue_len}=="1000" looking at parent device '/devices/virtual/net': KERNELS=="net" SUBSYSTEMS=="" DRIVERS=="" looking at parent device '/devices/virtual': KERNELS=="virtual" SUBSYSTEMS=="" DRIVERS==""
Please reproduce this on a vanilla kernel, preferably v2.6.28
Problem still occurs with sys-kernel/vanilla-sources-2.6.28.
OK, please file an upstream bug at http://bugzilla.kernel.org for this. You should file it as a network driver bug, titled something like "ne2000 ethernet interface not linked to parent hardware" Include your udevadm output, explain that it breaks udev's persistent interface renaming, and perhaps include my suggestion that this is because the driver does not call SET_NETDEV_DEV() Please post the new bug URL here when done. Thanks!
Reported upstream.
http://bugzilla.kernel.org/show_bug.cgi?id=12339
After poking the bug, Alan has mentioned upstream that the fix is in his patch queue.
I wonder if this fix has been landed already since it was in his queue about ~3 months ago, you might want to try the latest git-sources (and if that fixes it, try the latest ~ keyworded hardened-sources kernel) to see whether this has been fixed.
Unfortunately in the years since this bug was filed I no longer use the machine containing the card in question, so I cannot test any proposed fixes.
Reflecting the upstream status change; let's assume the patch worked as intended and consider it obsolete as well. If anyone experiences this again, please bump this bug or file a new one.