[systemd-devel] Utility for persistent alternative driver binding

Greg KH greg at kroah.com
Tue Dec 8 03:47:05 PST 2015


On Tue, Dec 08, 2015 at 11:34:36AM +0200, Panu Matilainen wrote:
> >As was mentioned recently PCI bus numbers may change between reboots, so
> 
> Hmm, got a pointer? I dont think PCI slots change between reboots without
> physically swapping hardware, the "ethX-problem" comes from the order of
> device discovery being unstable across boots, which is a different issue and
> not relevant for this case.

PCI can renumber the bus ids any time it wants to between reboots, it's
not only if you add/remove new hardware.  Now luckily most BIOSes aren't
that broken and do keep keep things stable if the hardware doesn't
change, but not all do, so be careful about this.  I had a broken BIOS
that would renumber things about every 10 reboots just "for fun" that
was very good at using for testing system assumptions about static PCI
device ids.

> >you may want to start with something more stable from the very beginning.
> 
> Such as? I dont see any other data that is there for all PCI (and USB)
> devices that allows differentiating between two otherwise identical devices.

Again, it all depends on the device itself, they should provide
something that makes them unique (MAC address, serial number, topology
at the moment, etc.)  There is no one-thing-fits-all, which is why udev
provides so many different ways to name things (look at /dev/disk/* and
/dev/serial/* as examples of this.)

good luck!

greg k-h


More information about the systemd-devel mailing list