Nano 2GB micro-USB port not working with custom image

I set up a custom image using this guide with some tweaks to get it to work on the Jetson Nano (found here. So far it has worked very well, however the micro USB port does not work in device mode at all. It is not appearing on the Jetson when I run ip link show and it does not show up when I plug it into my laptop.
Is there a specific driver I need to install, or certain commands that I need to run to get it set up?

FYI, your own filesystem would also have to then create the gadget mode customization. By creating your own filesystem you’ve basically erased NVIDIA’s content for device mode.

If you look at a non-customized system, then you’ll find that NVIDIA has content here:
/opt/nvidia/l4t-usb-device-mode

That content makes it possible for device mode to work. Other content edits in systemd automatically run this code at startup (you could manually stop and start the service with the shell scripts in that directory as well).

@linuxdev I do have that folder installed on my Jetson. I assume it was added when I downloaded the BSP for the Jetson and added to the image.

If you have made a custom image, then that content would still not be triggered during boot unless you also set up systemd and enabled that content. Not all distributions use systemd, and I have no idea what your custom system uses, it could be old style init scripts. Regardless, you would have to have told systemd or the init scripts to actually run the content. Alternatively, you can manually start the content with the right script (you’d need sudo).

There is a command for systems using systemd which can be used for listing what it has available (things systemd is aware of, although it does not mean all of those things are enabled and running):
systemctl list-units

If that shows lots of content, then you’re likely using systemd. If not, then you are likely using old style init scripts.

Here is a more specific command for listing services, which is what the systemd content is for the micro-USB port:
systemctl list-units --all --type=service

The NX is very similar to the Nano, and on one of those I see the service for the port via:

systemctl list-units --all --type=service | grep 'nv-l4t-usb-device-mode

(or while in the pager type “/nv-” to see a number of NVIDIA services through systemd)

@linuxdev Thank you very much. My Custom image is using Ubuntu 18.04 (just like the Nvidia image) so it uses systemd. I am just trying to make a slimmed down/headless setup (as the default image has both LXDE and Gnome installed for some reason).
Your tips are very helpful here. I will probably use a second MicroSD card to compare the images and figure out what to fix.