A suspiciously similar problem here with udev 215-17+deb8u1 i386 in jessie.
From: Michael Biebl <bi...@debian.org> Date: Tue, 23 Jun 2015 00:58:55 +0200 > We switched to the new persistent interface naming scheme in 220-7. Persistent names have worked in a system here for at least two years; until grading from wheezy to jessie. With jessie, the mainboard and PCI devices get the "persistent names"; a USB-Ether adapter gets eth0 rather than the assigned name. > Is this a virtual machine? No, a real machine. > Can you attach your /etc/udev/rules.d/70-persistent-net.rules # joule:/etc/udev/rules.d/70*net* # # Mainboard device 0x8086:0x2449 (e100) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:03:47:c2:94:65", \ ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="MainBoard" # # PCI device 0x10ec:0x8029 (ne2k-pci) SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:50:ba:52:79:1c", NAME="LocPCI1" # # Belkin USB-Ethernet device SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:b6:0b:e9:be", \ ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="LocBel50B60BE9BE" > We switched to the new persistent interface naming scheme in 220-7. udev has allowed persistent names for years. What is new? Before plugging the Belkin adapter. root@joule:/home/peter# ifconfig eth0 eth0: error fetching interface information: Device not found After plugging the Belkin. root@joule:/home/peter# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:50:b6:0b:e9:be BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@joule:/home/peter# ifconfig LocBel50B60BE9BE LocBel50B60BE9B: error fetching interface information: Device not found > To switch to the new interface naming scheme, see > /usr/share/doc/udev/README.Debian.gz >From /usr/share/doc/udev/README.Debian. 'This makes the program act only on interfaces marked with the "allow-hotplug" statement. E.g: "allow-hotplug eth0" instead of the usual "auto eth0". The loopback interface must always be configured with "auto lo".' For years the following /etc/network/interfaces content has worked. Both auto and allow-hotplug directives are present. auto MainBoard PCI1 LocLCS218301788 # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug MainBoard iface MainBoard inet dhcp post-up /sbin/ip link set $IFACE mtu 1500 ## The interface to curie allow-hotplug LocPCI1 iface LocPCI1 inet static address 172.23.4.1 netmask 255.255.255.0 # The interface to heaviside allow-hotplug LocLCS218301788 iface LocLCS218301788 inet static address 172.23.5.1 netmask 255.255.255.0 The README is instructing to remove the first auto directive? https://wiki.debian.org/NetworkConfiguration contains several examples with auto and there is no mention of removing it. At best, this problem is an example of bad engineering practice. Elementary good practice is to document before implementation. You refer to "new persistent interface naming scheme in 220-7" but there is no explanation in `man interfaces`, in https://wiki.debian.org/NetworkConfiguration or in /usr/share/doc/udev/README.Debian . Apparently the software has been changed before updating documentation. Please explain. Thanks, ... Peter E. -- Telephone 1 360 639 0202. Bcc: peter at easthope.ca "http://easthope.ca/Peter.html" -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org