Greg KH wrote: > On Fri, Jan 22, 2010 at 06:34:51PM +0100, Andreas Besse wrote: > >> Hi, >> >> I observed that the PCI Bus id's of the onboard network cards changed >> after I added a PCIe Dual DVB-Card to my system. >> >> The ID's changed from 02:00.0, 03:00.0 (see lspci_with_dvb.txt) to >> 03:00.0, 04:00.0 (see lspci_with_dvb.txt) >> >> How is the ordering of PCI/PCIe devices determined in generally by the >> linux PCI subsystem? >> > > Totally random, depending on the phase of the moon, and the location of > your computer in relation to the nearest large body of water. > > Seriously, this is expected, you can not rely on pci bus ids to remain > constant, especially if you have changed the physical system (like > adding a card which you did.) > > >> is the Bus ID for a specific PCI/PCIe Slot deterministic at every boot >> if no hotplug (removing or adding PCI/PCie cards) is involved? >> >> can I assume that the Bus ID's don't change if I don't add or remove any >> PCI/PCie cards? >> > > Nope, I have a machine here that will reorder things every 4th boot or > so. It's a "feature" of the BIOS according to the bug I filed with the > manufacturer that they closed out as invalid. > do you have a link to the bug report? > So never rely on these ids, they can not be guaranteed to be stable, and > will not be. > If PCI bus IDs are not usable, what other mechanisms do exist for knowing which particular physical hardware device (plugged into a PCI/PCIe slot) is assigned to which particular Linux device ? I want to identify a DVB S2-Card which is plugged into a specific PCIe-Slot by a udev rule and assigns a specific linux device (e.g. /dev/dvb/adapter0). Does the behavior you described with your board exist with all boards? If yes, I wonder how Linux can at all be used for any reliable hardware appliance, which includes two identical PCI boards, which need to be distinguished due to different signals/cables being connected to each board. regards, Andreas Besse -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html