I have a Jetson Orin Nano on the Seeed Studios A603 board. The specs indicate that the USB type B port on the board supports debugging and “device mode.” I would like to use this to communicate between the Jetson and a mobile device.
I have spent some time searching for documentation on how to enable device mode for this port and make it appear as any kind of accessory, but so far I have come up empty.
I have found the directory “/sys/kernel/config/usb_gadget/l4t”, but it’s not clear to me that this is referring to the USB-B port. This indicates that there are multiple functions one would expect for a USB device. Listing the “functions” directory shows “acm.GS0 mass_storage.0 ncm.usb0 rndis.usb0”.
IIUC, there should be kernel modules for supporting different kinds of USB devices, but anything like “modprobe g_asm” gives me an error such as “modprobe: FATAL: Module g_acm not found in directory /lib/modules/5.10.104-tegra”
I have an Android smart phone on which I have installed an app that lists connected USB devices. When I connect other devices, such as mass storage, it is able to find them. But when I connect to the Jetson, it finds nothing.
I discovered some scripts and some system services in “/opt/nvidia/l4t-usb-device-mode”, and systemctl says that they’re active, so I’d expect something to show up.
If anyone can give me some tips on getting started, that would be most appreciated. Thanks!
P.S. The USB cable I’m using is the same one I use for reprogramming my Raspberry Pi Pico, so the cable isn’t the problem. It’s a real data cable.