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
arch=arm
baudrate=115200
board=p2371-2180
board_name=p2371-2180
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
nvdumper_reserved=0xff23f000
pxefile_addr_r=0x90100000
ramdisk_addr_r=0x83100000
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
scriptaddr=0x90000000
soc=tegra210
stderr=serial
stdin=serial
stdout=serial
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_devi
vendor=nvidia
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.
Thanks.
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?