Jetson TX1 u-boot link down

Hi everybody,
I have just bought Jetson TX1 and I want to load Linux kernel over the network using tftp and mount the root file system using nfs from my server. But on u-boot, link 0 and link 1 was down and no ethernet found.
Bellowing is what I got from board
"
U-Boot 2015.07-rc2-g78c8468 (Nov 09 2016 - 19:39:36 -0800)

TEGRA210
Model: NVIDIA P2371-2180
DRAM: 4 GiB
MC: Tegra SD/MMC: 0, Tegra SD/MMC: 1
tegra-pcie: PCI regions:
tegra-pcie: I/O: 0x0000000012000000-0x0000000012010000
tegra-pcie: non-prefetchable memory: 0x0000000013000000-0x0000000020000000
tegra-pcie: prefetchable memory: 0x0000000020000000-0x0000000040000000
tegra-pcie: 4x1, 1x1 configuration
tegra-pcie: probing port 0, using 4 lanes
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, ignoring
tegra-pcie: probing port 1, using 1 lanes
tegra-pcie: link 1 down, retrying
tegra-pcie: link 1 down, retrying
tegra-pcie: link 1 down, retrying
tegra-pcie: link 1 down, ignoring
In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
Tegra210 (P2371-2180) #
"

Are there anyone have same problem with me? It is very kind if someone show me the solution for this.
Thank in advance!!!
Best regards.

I was thinking that by default the driver for the Realtek chipset is not built in to the U-Boot. However, some U-Boot command line says this may not be the case and that the driver may just need to be loaded.

If you go to serial console and interrupt boot with a keystroke, you can type “help” to see commands. One of those commands is “dhcp”…I tried this on a TX2 (should be the same boot loader as a TX1…or very similar)…and was surprised to find my DHCP server gave a reply. This shouldn’t be possible unless the Realtek driver is there. Try the “dhcp” command and get an address first before running anything else.

Also, note that if you send any stray character from serial console to the Jetson, that the Jetson will halt booting until told to “boot”. Sometimes a stray character pausing boot over serial console is mistaken for a boot failure.

Hi,
Today, I try your method but Jetson TX1 still do not work. After I interrupt autoboot and type “dhcp”, Jetson TX1 still replies “No ethernet found.”. Could you please check with Jetson TX1 and give me some ideas to solve this problem? It will be very kind of you.
Also, on ethernet port the connection state LED is not turn on and the active LED is not blinked.

Thank so much!!!
Best regards.

The TX2 I’m testing with probably is different then. I kind of expected TX1 and TX2 to use the same drivers in U-Boot, but I guess not (the kernel major version changed so I probably shouldn’t be so surprised by that).

I have not tried this one recently, but in prior L4T U-Boot I’ve had luck with this driver being built in to U-Boot (sorry, it’s only 100Mbit/sec):
http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=443248&CatId=589

This is one of the USB NICs for which I think TFTP/PXE booting was used with successfully on many boards several years back (and they’re inexpensive to try out).

Dear linuxdev, thank for your suggesion.
I have already tried your method. But because I do not have TRENDnet-TU2-ET100 so I use HP USB Ethernet Adapter insteadly. However Ethernet connection on Jetson TX1 still does not work.
What should I do next?

Best regards.

For USB ethernet there are basically two requirements. The first is that U-Boot have the driver built in (or that you build U-Boot yourself and enable the driver…this assumes the driver is available). This looks to be your current stage in getting things to work. Typically it can be easier to buy a cheap USB NIC than it is to discover all that is needed for building and configuring U-Boot (especially since not all Linux drivers will be available in U-Boot…U-Boot is its own software with a much more limited set of available drivers).

For the device I gave the URL to the Linux side of the driver can be a module format; the driver name is “asix” (I’ve used this as far back as L4T R16). I don’t know which driver your HP USB ethernet uses…many use a Realtek driver, which U-Boot has available, but which I do not think has been compiled in to the existing U-Boot (it would be up to you to configure/build/flash this). To proceed you will have to be certain as to which driver your HP NIC uses (it’s hard to configure U-Boot for this if you are only guessing).

Here’s another source of that NIC I linked:
https://www.newegg.com/global/au/Product/Product.aspx?Item=N82E16812125019

Once you are past the point of getting a U-Boot driver you have to be sure the USB mode does not change when handing off to Linux. If U-Boot supports USB2, and then you configure Linux to run USB3, the result will be loss of the boot device during the mode change from USB2 to USB3…so you must keep the USB mode the same during both U-Boot and Linux if the device is a boot device.

Hi linuxdev,
I solved the no ethernet connection problem.
Last time, I connected HP USB Ethernet Adapter on USB type A of Jetson TX1 and it can not find HP NIC driver.
Then, I connect HP USB Ethernet Adapter to micro USB through a converter (micro USB to USB Type A) and run “usb start”. Finally, ethernet worked.
Thank so much for your help!!!

Best regards.

I’m glad that worked around the issue, but it is a bit of a mystery. The micro connector is type “OTG”, so it accepts either type A or type B, but you’d need type A (as you used) for the micro to work as a normal host making use of devices. The full sized connector should also work (and it’s always type A). It makes me wonder if perhaps only the micro connector is routed to U-Boot. If that’s the case, then there may be more previously suspected as unsupported devices which function under U-Boot after a simple change from full-sized A to micro-A ports.