Jetson TX2 Ethernet controller device ID

We are planning to port 3rdparty EtherCAT driver in Jetson TX2.
To do that, 3rdparty wants to know ethernet controller’s device ID.

In my ubuntu machine, I can get the device id as follow.
$ lspci -nn -vvv | grep Ethernet
26:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)

I can see “ixgbe : Intel® 10 Gigabit PCI Express Network Driver” in kernel source code. but Jetson TX2 doesn’t give any information about that.

So, How can I get ethernet device id in Jetson TX2?


Are you looking for the MAC address (HWaddr)? You can use ifconfig to query that information.

nvidia@tegra-ubuntu:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:04:4b:8d:80:b1  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::7d0:a112:71f6:6e1e/64 Scope:Link
          RX packets:416 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:52111 (52.1 KB)  TX bytes:10841 (10.8 KB)

If you are looking for a PCI ID, and if lspci does not show it, then either the device isn’t PCI or else the signal quality is insufficient for PCI to know the device is there.

Thank you guys.

You mean Jetson TX2’s ethernet controller is not connected PCI?

Jetson TX2 use Intel ethernet conroller(ixgbe), right? (Because I can see source code in kernel repo.)
but that ethernet controller isn’t connected to PCI bus.

If those are right, where can I get the intel ethernet controller’s device id?
EtherCAT 3rdparty need to know the controller’s device id for checking whether they tested or not.

ethernet controller’s device id is written in below.(Bold)
$ lspci -nn -vvv | grep Ethernet
26:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)

For PCI there is a slot ID. “lspci” will show the slot ID and brief description if signal quality is sufficient. If signal quality fails, then it is possible that this is equivalent to not being connected. The verbose listing would include further ID information (beyond just the slot number). This is more or less how PCI will announce a device to drivers.

One complication is that if this is a custom board, then the device tree will likely need to be changed as well. Not having a correct device tree would result in no output from lspci (lack of correct device tree is as good as cutting the wire to the PCI device).

The implication is that either signal quality is insufficient, or else the device tree is not valid. If this is a dev board, then we know device tree is correct. If this is not a dev board, then we know device tree must be altered.

“lspci” is just an example. (because 3rdparty gives me that command to check ethernet controller device id)

Anyway, I’m working on Jetson TX2 dev kit. As you told me, “lspci” shows nothing because there is no device in PCI slot.

Jetson TX2 may use internal Intel ethernet controller.
I want to know about “That” specification.

Can you offer me the spec. or information?

Why did you say TX2 is using ixgbe…?? The phy we are using for Ethernet is from broadcom.

You could refer th TX2 OEM design guide -> GIGABIT ETHERNET for some detail here.

The reason why I think is that simply kernel builds Intel ethernet source code.
(I thought Link layer controller and PHY layer controller might be different)

I should check design guide.
Thanks for fast response! :)