I have Jetson TX1 and I surprise that u-boot of TX1 does not support ethernet. Even it can connect to internet by other way: https://devtalk.nvidia.com/default/topic/1002908/jetson-tx1-u-boot-link-down/#5125227
But it still make me inconvenient on developing.
Are there anyone who know how to enable Ethernet port on Jetson TX1 (by u-boot command or change u-boot source code, …)? It very kind if some one can show me the way to solve this problem.
Thank for your reply and show how to use ethernet on u-boot (I also shared the link on above comment about how to get ethernet with micro usb using USB to Ethernet adatapter)
But that is not my purpose when I post this topic. My target is to know how to enable the ethernet port (RJ-45 connector) on Jetson TX1.
It is very kind if you can show me the method to solve this problem.
Thank in advance.
The information available would be from the xusb driver in the Linux kernel itself, or from the Technical Reference Manual (TRM). For the TRM, see (requires a login for most downloads): https://developer.nvidia.com/embedded/downloads
…select “Product” as TX1, search for “technical reference manual”.
Kernel code does not necessarily translate directly to the boot loader, and programming for the boot loader can be quite different than on running system. It’s a steep learning curve. Do beware that any kind of device tree setup required to use the controller under Linux would need to be performed in U-Boot, so if you plan to do the port, I’d suggest starting with understanding how the device tree sets up xusb in the kernel and see if you can make the same settings in U-Boot (you wouldn’t need to have the driver ported just to test setting up device tree…but you would need the device tree to test the driver).
This isn’t exactly a list, but in the U-Boot source you can go to subdirectory “drivers/usb/eth/”, then basically grep for the “PRODUCT_ID” and “VENDOR_ID” of various drivers (which of course only matters if that driver was enabled during U-Boot build)…then you could cross-reference those with an internet search of which vendor and product correspond to that. lsusb lists those numbers, and this is what drivers use to determine if they can work for that device.
Different driver authors may list PRODUCT_ID and VENDOR_ID with different names, but the actual hex values are unique.
I already knew that, but merchant sites never indicate the VID:PID pair for those adapters and don’t even always indicate the internal chipset, and there’s also the problem of the connector. I’ve already had problems with mechanically incompatible micro USB connectors (A or B or AB, I don’t remember exactly).
It is not possible to use a USB dongle with a port in USB3 mode…the controller is different than the USB2 controller, and thus different drivers…only the USB2 driver is in U-Boot. In the case of the dev board this implies normally using the micro-USB port. It is possible to force the full-sized port into USB2 mode, but this is easy from Linux, and difficult from U-Boot…it isn’t worthwhile.