[Bug 1544747] Re: No udev persistent rules in Xenial = strange device names for NICs
Martin Pitt
martin.pitt at ubuntu.com
Fri Feb 12 10:33:42 UTC 2016
See https://lists.ubuntu.com/archives/ubuntu-devel/2015-May/038761.html
for more details about the change, and
/usr/share/doc/udev/README.Debian.gz how the current schema works, and
how to set custom names or change the policy, if you desire so.
So the lack of /etc/udev/rules.d/70-persistent-net.rules is intended,
unless this was an upgrade from trusty -- in that case the file should
of course continue to exist (we don't remove it automatically on
upgrades). But it sounds like this was a new install.
So for the most part this all works as intended. The main point of
contention is the naming of USB devices ("enx8cae4cff4099") -- see the
ML discussion for why this is currently done. I'm fine to change this to
a different policy if desired by the server or other teams, but
everytime I asked about it I get a resounding silence as an answer :-)
Retitling the bug accordingly.
I. e. an alternative policy would be: Always use the kernel names for
USB devices. As long as you have only one, it will always be eth0, but
as soon as you have multiple ones *and* you need to refer to their names
in configuration files, then you need to define a naming policy
yourself, as the kernel names are not persistent and predictable.
In theory we could also use the path based names for USB devices, which
would name the interface according to the port you plug it into. That'd
be a good policy for things like a RasPi where you deploy the same image
(with that policy) to lots of devices and port location would make
sense. This policy makes less sense on a laptop where you might plug in
your mobile phone on different ports every time -- but then again those
usually use NetworkManager and dynamic configurations where you don't
care about device names.
** Summary changed:
- No udev persistent rules in Xenial = strange device names for NICs
+ Strange device names for USB NICs
** Changed in: systemd (Ubuntu)
Status: New => Incomplete
** Changed in: systemd (Ubuntu)
Importance: Undecided => Medium
--
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:
Strange device names for USB NICs
Status in systemd package in Ubuntu:
Incomplete
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