[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: is the systemd .link mechanism supposed to work?



	Hi.

On Sat, Jul 27, 2019 at 08:06:36PM +0200, Luca Olivetti wrote:
> No matter what I do, the integrated network port is always named eth0 (with or without the .link file), while the usb wifi stick always takes the "funny" name
> based on its mac address (wlxe894f615307a).

> # udevadm info /sys/class/net/wlxe894f615307a
> P: /devices/platform/soc/soc:internal-regs/f1050000.ehci/usb1/1-1/1-1:1.0/net/wlxe894f615307a
> E: DEVPATH=/devices/platform/soc/soc:internal-regs/f1050000.ehci/usb1/1-1/1-1:1.0/net/wlxe894f615307a

> yet it always gets the name wlxe894f615307a.

What you're doing colud work.
The problem is - you have NIC that's attached via USB, so the usual
rules do not apply.

The reason of it - /lib/udev/rules.d/73-usb-net-by-mac.rules, that's
applied after your .link file rename an interface.

To achieve a predictable (pun intended) behaviour - either create this
zero size file:

/etc/udev/rules.d/73-usb-net-by-mac.rules

Or disable the offending feature altogether by adding "net.ifnames=0" to
kernel's commandline.


> OTOH the wired interface is always named eth0 (even with no .link file), even if it should be
> 
> # udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null
> ID_NET_NAME_MAC=enx00160141ad18
> ID_OUI_FROM_DATABASE=BUFFALO.INC

Systemd (udev is a part of it) is x86 centric. Unless NIC is connected
to PCI or USB - it does not know how to rename them Predictably™.

In your place I'd consider myself lucky - at least you have a network
interface that's always called eth0, the way the kernel wants it.


> Extra points if it involves getting rid of systemd altogether ;-)

It won't help you here. To solve this particular problem once and for
all, you need a replacement for udev, which Debian does not provide.

Reco


Reply to: