Ethernet Interface

Just going through U-boot environment variables and I noticed that I could not setenv eth0addr because there is no such variable. Which leads me to believe that the ethernet interface has not been enabled in U-boot.
Does anyone know how to initiate the ethernet in U-boot?"

Right now I’m using L4T 24.2 release U-boot source files and building using 2371-2180_defconfig file.
E.g. make p2371-2180_defconfig, make.

When I am in serial console (using J21 TX1 UART) my variables list seems shorter than other peoples.
As mentioned previously I don’t have the eth0addr variable or ipaddr variable either.

These are the printenv results
Tegra210 (P2371-2180) # printenv
boot_a_script=load {devtype} {devnum}:{bootpart} {scriptaddr} {prefix}{sc}
boot_extlinux=sysboot {devtype} {devnum}:{bootpart} any {scriptaddr} {preff boot_prefixes=/ /boot/ boot_script_dhcp=boot.scr.uimg boot_scripts=boot.scr.uimg boot.scr boot_targets=pxe mmc1 mmc0 usb0 dhcp bootcmd=run distro_bootcmd bootcmd_dhcp=usb start; if dhcp {scriptaddr} {boot_script_dhcp}; then source i bootcmd_mmc0=setenv devnum 0; run mmc_boot bootcmd_mmc1=setenv devnum 1; run mmc_boot bootcmd_pxe=usb start; dhcp; if pxe get; then pxe boot; fi bootcmd_usb0=setenv devnum 0; run usb_boot bootdelay=2 cpu=armv8 distro_bootcmd=for target in {boot_targets}; do run bootcmd_{target}; done fdt_addr_r=0x82000000 fdt_copy_node_names=/memory-controller@7001b000 fdt_copy_src_addr=0x83080000 fdt_high=ffffffffffffffff initrd_high=ffffffffffffffff kernel_addr_r=0x80080000 loadaddr=0x80080000 lp0_vec=0x1000@0xff2bf000 mmc_boot=if mmc dev {devnum}; then setenv devtype mmc; run scan_dev_for_boot_pi
scan_dev_for_boot=echo Scanning {devtype} {devnum}:{bootpart}...; for prefixe scan_dev_for_boot_part=part list {devtype} {devnum} -bootable devplist; env ee scan_dev_for_extlinux=if test -e {devtype} {devnum}:{bootpart} {prefix}extli scan_dev_for_scripts=for script in {boot_scripts}; do if test -e {devtype} {e
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_devi

Hi teg5926,

The USB used for Ethernet requires loading of the NVIDIA XHCI firmware to enable the host port. This was implemented in the Linux kernel, but was not implemented within U-Boot. The kernel implementation and provided firmware could be used as a reference. As well, the u-USB (flashing) port can be used with a USB-Ethernet dongle, or PCIe Ethernet can be used.
To have this feature implemented within U-Boot, it’s under planning, however there is no firm schedule yet.
I will share the information once any clear status update for this feature.


Thanks for the reply.
Just want to make sure, do you know the gigabit Ethernet port (RTL8152)that is on the TX1 development kit?
Is that the same one we are talking about?
If you said it hasn’t been implemented then does that mean the TX1 development kit is not capable of network booting with the gigabit Ethernet that’s already on the dev kit?
You mentioned that I could use a USB-Ethernet dongle which was a solution that I was looking at but I am not too sure which chip/brand would be optimal for my situation. Do you have a recommendation or a list that I can look into? Also PCIe cards are not an option since I will be installing some other components on the PCIe port.

Looking through the U-boot configuration (e.g. sudo make xconfig/menuconfig) I have found under “Device Drivers” there is an option to enable “Support for Host-side USB” and under that there is an option to enable “xHCI HCD support”. -This is all from the L4T U-boot source files
By enabling these options could I not be able to enable the ethernet interface? Or am I misunderstanding something here?