Utilize USB-C for Bulk Storage USB Device
-
I've got a VOXL2, and I need a way to enable it to act as USB Device Mode as bulk storage. Currently have been trying to setup RNDIS, but it is failing when attaching the RNDIS function.
Is it possible to utilize the USB-C connection used for adb and configure it as a USB bulk storage device?
This is the setup script I am working against. It is failing here:
func=functions/rndis.usb0 mkdir -p "${func}"
+ mkdir functions/rndis.usb0 mkdir: cannot create directory ‘functions/rndis.usb0’: No such file or directory
-
We don't know how to do this immediately, but we'll dig some and see if we can get anywhere.
-
@Chad-Sweet Awesome, thank you!
-
We have dug into this a bit more, but have not had a chance to try anything. Passing along information in case you want to dig in more
Note: please be comfortable reflashing a bricked VOXL 2. Changing USB composition could definitely put the board into a state you cannot access it any longer
Default USB Composition:
901D - DIAG + ADBUSB Composition with Mass Storage:
902B - RNDIS + ADB + Mass Storage
90AD - DIAG + ADB + MODEM + NMEA + QMI_RMNET + Mass Storage + DPL
90B0 - DIAG + DUN + NMEA + RMNET + Mass Storage + DPL
F000 - Mass StorageThe setting is configured in /sbin/start_usb
That script though is confusing and we're not really sure which lines are taking effect and what is the right way to set USB composition.
-
No worries, and yeah I've already qdl'd a few things tickering around with trying to get it to work, so comfortable with taking it from bricked to workable is a process I'm comfortable with.
That bash script is a bit more universal based on a few things, but essentially it is ran on boot and sets up bulk + rndis on a device, and then starts up a little C program as the ffs driver. It's for NVIDIA Tegra, but should be universal as long as the kernel has the modules it needs.
I didn't know where the usb boot startup stuff on the VOXL2 was, but I'll poke around a bit with that and see if I can get that to work.
Thanks,
- Nate