TX1: Onboard Ethernet works in Linux, but not in uboot


I have just flashed my Tegra TX1 board with Jetpack 3.1.
I have problems with the onboard Ethernet. It works in Linux, but it doesn’t work in U-Boot. For me it is important that Ethernet is also available in U-Boot, since I need a way to boot via DHCP/NFS for maintanence and development work. For normal operation the system should boot from the embedded EMMC.

-----Console Log-------
Tegra210 (P2371-2180) # version

U-Boot 2016.07-g0ce7ca2 (Jul 20 2017 - 00:37:03 -0700)
aarch64-unknown-linux-gnu-gcc (GCC) 4.8.5
GNU ld (GNU Binutils) 2.24
Tegra210 (P2371-2180) # dhcp
No ethernet found.
Tegra210 (P2371-2180) # ping
No ethernet found.
ping failed; host is not alive
Tegra210 (P2371-2180) # usb start
starting USB…
scanning bus 0 for devices… 1 USB Device(s) found
Tegra210 (P2371-2180) # usb info
1: Hub, USB Revision 2.0

  • u-boot EHCI Host Controller
  • Class: Hub
  • PacketSize: 64 Configurations: 1
  • Vendor: 0x0000 Product 0x0000 Version 1.0
    Configuration: 1
    • Interfaces: 1 Self Powered 0mA
      Interface: 0
      • Alternate Setting 0, Endpoints: 1
      • Class Hub
      • Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

Tegra210 (P2371-2180) #

The dhcp and ping commands say “No ethernet found”. Since the Ethernet chip is connected via USB, it should be visible after “usb start” and “usb info”, but usb3 seems to be missing here.

The binaries on the board are the unmodified ones from Jetpack 3.1.

What’s wrong here?

Frank-Christian Kruegel
Embedded Hard/Software Developer
OptoPrecision GmbH

I think the ethernet controller connects via an XHCI USB controller (someone correct me if this is wrong), not PCI, so that XHCI USB controller must be active for the integrated ethernet to work. In the chain of dependencies Realtek and perhaps other drivers are available in U-Boot…so is USB2…but not the USB3 controller interfacing the integrated NIC (which is xhci-tegra). Due to this the integrated NIC probably won’t work in U-Boot even if the ethernet driver is available. You should be able to get a Realtek chipset USB2 NIC to work (or some other chipsets if U-Boot has the driver), or even a PCIe NIC.

There is a story behind this: https://devtalk.nvidia.com/default/topic/1005159