[Bug 1544747] Re: No udev persistent rules in Xenial = strange device names for NICs
Jeff Lane
jeffrey.lane at canonical.com
Thu Feb 11 22:25:44 UTC 2016
More checking... on Trusty, the file is generated by
/lib/udev/write_net_rules:
bladernr at sulaco:~$ cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
And checking my Xenial system (one of them) write_net_rules does not exist:
bladernr at galactica:/etc/udev/rules.d$ ls /lib/udev
ata_id hplj1000 hpljP1008 iphone-set-info scsi_id
cdrom_id hplj1005 hpljP1505 ipod-set-info udev-add-printer
collect hplj1018 hpljP1505n mtd_probe udev-configure-printer
console-setup-tty hplj1020 hwclock-set mtp-probe usb_modeswitch
hdparm hpljP1005 hwdb.bin pcmcia-check-broken-cis v4l_id
hid2hci hpljP1006 hwdb.d pcmcia-socket-startup
hotplug.functions hpljP1007 ifupdown-hotplug rules.d
Now, comparing the packages installed in the two that include udev in the name:
Trusty:
bladernr at sulaco:~$ dpkg -l |grep udev|awk '{print $2 " " $3}'
gir1.2-gudev-1.0 1:204-5ubuntu20.15
libgudev-1.0-0:amd64 1:204-5ubuntu20.15
libgudev-1.0-0:i386 1:175-0ubuntu9
libudev0:amd64 175-0ubuntu13
libudev0:i386 175-0ubuntu13
libudev1:amd64 204-5ubuntu20.15
libudev1:i386 204-5ubuntu20.15
python3-pyudev 0.16.1-2build1
system-config-printer-udev 1.4.3+20140219-0ubuntu2.6
udev 204-5ubuntu20.15
Xenial:
bladernr at galactica:/etc/udev/rules.d$ dpkg -l |grep udev |awk '{print $2 " " $3}'
gir1.2-gudev-1.0:amd64 1:230-2
libgudev-1.0-0:amd64 1:230-2
libudev1:amd64 228-6ubuntu1
system-config-printer-udev 1.5.7+20150819-0ubuntu5
udev 228-6ubuntu1
the manpage for udev in Xenial says:
RULES FILES
The udev rules are read from the files located in the system rules directory
/lib/udev/rules.d, the volatile runtime directory /run/udev/rules.d and the local
administration directory /etc/udev/rules.d. All rules files are collectively sorted and
SO looking at /lib/udev/rules.d for Trusty:
bladernr at sulaco:~$ ls /lib/udev/rules.d/ |grep net
40-bridge-network-interface.rules
40-vlan-network-interface.rules
75-net-description.rules
75-persistent-net-generator.rules
77-mm-huawei-net-port-types.rules
and Xenial:
bladernr at galactica:/etc/udev/rules.d$ ls /lib/udev/rules.d/ |grep net
75-net-description.rules
77-mm-huawei-net-port-types.rules
80-net-setup-link.rules
Xenial is missing one. If this is intentional, how does one go about
setting persistent network names?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1544747
Title:
No udev persistent rules in Xenial = strange device names for NICs
Status in systemd package in Ubuntu:
New
Bug description:
Fresh install of Xenial on an intel NUC with 1 onboard GigE and one
USB GigE NIC.
I was setting up networking for MAAS and discovered that the device
names were ridiculous:
bladernr at critical-maas:/etc/udev$ ifconfig |grep HWaddr
eno1 Link encap:Ethernet HWaddr ec:a8:6b:fb:9f:66
enx8cae4cff4099 Link encap:Ethernet HWaddr 8c:ae:4c:ff:40:99
In the previous Trusty install on this NUC with the same USB dongle,
they were named eth0 and em1. The predictable standard device names.
Looking at udevadm:
P: /devices/pci0000:00/0000:00:19.0/net/eno1
E: DEVPATH=/devices/pci0000:00/0000:00:19.0/net/eno1
E: ID_BUS=pci
E: ID_MM_CANDIDATE=1
E: ID_MODEL_FROM_DATABASE=82579LM Gigabit Network Connection
E: ID_MODEL_ID=0x1502
E: ID_NET_DRIVER=e1000e
E: ID_NET_LABEL_ONBOARD=en L1U1
E: ID_NET_LINK_FILE=/lib/systemd/network/99-default.link
E: ID_NET_NAME_MAC=enxeca86bfb9f66
E: ID_NET_NAME_ONBOARD=eno1
E: ID_NET_NAME_PATH=enp0s25
E: ID_OUI_FROM_DATABASE=ELITEGROUP COMPUTER SYSTEMS CO., LTD.
E: ID_PATH=pci-0000:00:19.0
E: ID_PATH_TAG=pci-0000_00_19_0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=0x8086
E: IFINDEX=2
E: INTERFACE=eno1
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eno1
E: TAGS=:systemd:
E: USEC_INITIALIZED=5400250
P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/net/enx8cae4cff4099
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/net/enx8cae4cff4099
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=AX88178
E: ID_MODEL_ENC=AX88178\x20
E: ID_MODEL_FROM_DATABASE=AX88178
E: ID_MODEL_ID=1780
E: ID_NET_DRIVER=asix
E: ID_NET_LINK_FILE=/lib/systemd/network/90-mac-for-usb.link
E: ID_NET_NAME=enx8cae4cff4099
E: ID_NET_NAME_MAC=enx8cae4cff4099
E: ID_NET_NAME_PATH=enp0s29u1u5
E: ID_OUI_FROM_DATABASE=Plugable Technologies
E: ID_PATH=pci-0000:00:1d.0-usb-0:1.5:1.0
E: ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_5_1_0
E: ID_REVISION=0001
E: ID_SERIAL=ASIX_Elec._Corp._AX88178_000002
E: ID_SERIAL_SHORT=000002
E: ID_TYPE=generic
E: ID_USB_CLASS_FROM_DATABASE=Vendor Specific Class
E: ID_USB_DRIVER=asix
E: ID_USB_INTERFACES=:ffff00:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_SUBCLASS_FROM_DATABASE=Vendor Specific Subclass
E: ID_VENDOR=ASIX_Elec._Corp.
E: ID_VENDOR_ENC=ASIX\x20Elec.\x20Corp.
E: ID_VENDOR_FROM_DATABASE=ASIX Electronics Corp.
E: ID_VENDOR_ID=0b95
E: IFINDEX=3
E: INTERFACE=enx8cae4cff4099
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enx8cae4cff4099 /sys/subsystem/net/devices/enx8cae4cff4099
E: TAGS=:systemd:
E: USEC_INITIALIZED=8700146
And finally, looking in /etc/udev:
bladernr at critical-maas:/etc/udev$ sudo ls -ra /etc/udev/*
/etc/udev/udev.conf
/etc/udev/rules.d:
.. .
/etc/udev/hwdb.d:
.. .
There are NO rules at all in udev for persistent names. Not even some
samples and defaults.
Looking at a completely different Xenial system with a single GigE NIC:
bladernr at galactica:~$ ifconfig
enp2s0 Link encap:Ethernet HWaddr 40:8d:5c:51:5b:0d
P: /devices/pci0000:00/0000:00:1b.2/0000:02:00.0/net/enp2s0
E: DEVPATH=/devices/pci0000:00/0000:00:1b.2/0000:02:00.0/net/enp2s0
E: ID_BUS=pci
E: ID_MM_CANDIDATE=1
E: ID_MODEL_FROM_DATABASE=Killer E220x Gigabit Ethernet Controller
E: ID_MODEL_ID=0xe091
E: ID_NET_DRIVER=alx
E: ID_NET_LINK_FILE=/lib/systemd/network/99-default.link
E: ID_NET_NAME_MAC=enx408d5c515b0d
E: ID_NET_NAME_PATH=enp2s0
E: ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD.
E: ID_PATH=pci-0000:02:00.0
E: ID_PATH_TAG=pci-0000_02_00_0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Qualcomm Atheros
E: ID_VENDOR_ID=0x1969
E: IFINDEX=2
E: INTERFACE=enp2s0
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp2s0
E: TAGS=:systemd:
E: USEC_INITIALIZED=752502
and again, nothing in the udev rules:
bladernr at galactica:~$ ls -a /etc/udev/*
/etc/udev/udev.conf
/etc/udev/hwdb.d:
. ..
/etc/udev/rules.d:
. ..
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: udev 228-6ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-2.16-generic 4.4.0
Uname: Linux 4.4.0-2-generic x86_64
ApportVersion: 2.19.4-0ubuntu2
Architecture: amd64
Date: Thu Feb 11 16:36:35 2016
InstallationDate: Installed on 2016-02-10 (1 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Alpha amd64 (20160210)
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-2-generic.efi.signed root=UUID=b53bf9e5-5cab-4ebd-98cc-a07ddffe53af ro quiet splash vt.handoff=7
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/03/2014
dmi.bios.vendor: Intel Corp.
dmi.bios.version: RKPPT10H.86A.0032.2014.0303.1322
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: D53427RKE
dmi.board.vendor: Intel Corporation
dmi.board.version: G87971-403
dmi.chassis.type: 3
dmi.modalias: dmi:bvnIntelCorp.:bvrRKPPT10H.86A.0032.2014.0303.1322:bd03/03/2014:svn:pn:pvr:rvnIntelCorporation:rnD53427RKE:rvrG87971-403:cvn:ct3:cvr:
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1544747/+subscriptions
More information about the foundations-bugs
mailing list