lspci command,not find the device i insert.

hi,all!

I designed one pciecard(rt8111 nic),then i inset to the pcie slot.I can see the nvidia bridge device(10e5) using the command lspci,but not find the nic device.Then i remove the nic card,there is nothing when i use the command of lspci? I think this is wrong,who can tell me what happened?

Thanks!

I’ve also noticed the PCIe bridge does not show up when nothing is in the PCIe slot…I don’t know why this occurs. If I were to try to design a low power carrier board I would be tempted to not enable the PCIe bridge unless it detects a PCIe card is connected in order to conserve power…perhaps this is why the bridge only shows up when a card is connected. In any case it is correct that a bridge only shows up when a card is inserted.

So far as the NIC device not showing up this may imply the control signal is failing. Do you have an “lspci -vvv” output for the card from another computer which might be used to start a comparison? Does your card support both PCIe v1 and v2 speeds?

Thank you very much!

This nic card is not standard pcie interface,so i can not test it under PC!
I can see log “access denied” on the nvidian bridge by the command of “lspic -vvv”.
So,my nic card may fail to connect the nvidia bridge.

No, verbose of lspci requires sudo (root privileges). Try “sudo lspci -vvv”.

Why do you think it will work under PCIe on Jetson, when it won’t work on a PC PCIe interface?
I’m not aware of anything special in the Jetson PCIe implementation that would make a card show up there, but not on a PC PCIe bus.
(Not having drivers is a different question.)

I insert one intel 4x pcie NIC onto the slot of the TX2 development borad,all nic device show up.But the nic i design is two independence 1x。So i must configure 4x to two 1X,where I can do it,UBOOT or linux? Thank you!

It is not clear what kind of device we have here.
What do you mean by “the nic i design is two independence 1x。So i must configure 4x to two 1X”. Can you give more info about this? Also, why do you think that this won’t get enumerated in PC?

Are you trying to implement two independent NIC controllers on a single PCIe card utilizing two data lanes with each NIC component using an independent data lane? If so, then this is only dependent upon PCIe design and won’t be specific to a Jetson. Your PCIe card would have to implement the correct logic. I am not sure though if that logic would time share two data lanes or if each device could be tied to a single specific lane…I think the former would be correct and the latter would not be valid.

One suggestion is to observe lspci from a desktop PC. you will see the ID is based on a physical slot plus logical function. So if your lspci shows as having several components sharing the first two numbers you can expect this to be one physical device with multiple logical devices. An example is from my AMD motherboard:

00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller

…the above is from a single physical device with two logical functions.

Is this what you are looking for? A single device with two ethernet functions? And to reiterate an earlier question, is this on a custom carrier board or is it the standard development carrier board?