How to implement Windows to read files in SSD on NX board through USB?

I wanted to use the NX board as an external USB device for Windows, so I could read and write on Windows, Now I can see the contents of 16MB Linux under Windows, is read-only, seems to be configured in /opt/nvida/l4t-usb-device-mode/, I would like to know how to directly expose the actual Linux specified file directory, and set the read and write permission, can you provide relevant application methods?thanks!

I would advise using the network with SAMBA (network sharing) instead of via USB (the USB can act as a network device, and by default the Jetson is accessible on that interface as address 192.168.55.1).

My reason for this is that Windows has no concept of the ext4 filesystem. If you were to just export the filesystem as mass storage (which is a whole new can of issues regarding permissions), then Windows would only understand this if it understands mounting an ext4 partition type. Another Linux system would not have issues with this. So Windows, which cannot understand ext4, would need some sort of conversion software. SAMBA happens to be able to do this (though it’s setup is also complicated and I can’t really help with that).

If you really want to make the Jetson a USB mass storage device, then there is already a read-only example available which uses a VFAT formatted file (mounted on loopback) available. Look around here:
/opt/nvidia/l4t-usb-device-mode

Thanks for your suggestions and i will consider it.

you may want to try to use e.g.
total commander
ext4fs plugin to read from ext4fs

By the way, does this work only for USB0 by default, and if I want to use another port, where should I change it? I hope you can let me know. Thanks a lot

USB has only a device mode or a host mode at any given moment. The physical wiring for device mode differs from host mode. The USB On-The-Go (OTG) connector is special in that it can accept either a type-A connector (and act as a host) or a type-B connector (and act as a device) depending on whether the ID pin detects type-A or type-B cable. The micro-OTG port is the only one with the wiring for type-B, and no other connector is capable of acting as a device (unless you’ve built a custom carrier board). So I do not know if you can cause a different routing internally or not, but the micro-OTG port is the only one capable of doing what you want.

Thank you for your comments. But that’s not what we want.

Currently, we plan to redesign the carrier board based on the NX module. If the hardware can be changed, do we still need to change the system driver or kernel? Let me know if there’s any hope.

If you have some well-defined criteria for what data you want to make available, then life will be easier. If you want to export the actual Linux operating system, then you have problems. The operating system uses an ext4 filesystem type, and Windows has no easy solution to work with this. Typically one would only use VFAT (or perhaps NTFS in some rare cases) to deliver content to windows over USB.

Although SAMBA can translate and distribute content from ext4 as VFAT, if you have an actual partition on the Jetson which runs VFAT (or perhaps NTFS), then it is trivial for both the Jetson and the USB remote host to access that data. You’d simply mount that VFAT partition somewhere convenient, and use the gadget API to make the partition appear to be a USB storage device (gadget does take setup effort, but it has examples you can edit to get most of what you want).

What do you want exported? Which side will write data to that content? Which side will read data from that content? Those are the questions which make it easier to answer.

an option maybe
to mount in jetson OS
some cloud drive - from Amazon, google ,microsoft,etc
the same drive could be retrieved from the cloud from windows

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.