I am just starting to learn how to use BBB rev D and the instruction manuals and the BeagleBone Getting Started actual states that it is accessible as a Mass Storage when I connect it through USB cable to the laptop, but I don’t see anything like that in the Windows File Explorer (Windows 11). However, I am able to SSH into 192.168.7.2 in PuTTY.
I also tried connecting it to a Ubuntu VM via VirtualBox, again I am able to SSH to it but the BBB doesn’t get recognized as a Mass Storage.
I want to know if the BBB Rev D version has been modified in such a way that it doesn’t get recognised as a Mass Storage to avoid Filesystem Corruption or other vulnerabilities ?
Thank you !
No the USB mass storage service is no longer enabled by default
Yes, it pains me to say it, but most of what you’ll read on that particular page
is no longer valid, or just plain wrong. No sugarcoating possible.
We’ll have to do a major rewrite, so thank you for pointing that out!
1 Like
Yeah, thank you for pointing that out. It will be quite difficult for newbies like to understand that.
Hello, I got the same problem after configuring the BBB to eanble the USB mass storage but it doesn’t show up, How can I solve this, or maybe there is someting missing, could you please provide me with the whole working procedure, Thanks in advance!
newer images don’t even have mass-storage enabled, you need to edit the usb configfs script and manually add it..
/usr/bin/bb-start-acm-ncm-rndis-old-gadget
If you want to go back to how it works underneath - its done by libcomposite, that does the USB Gadget, which is what doing this is known about.
libcomposite uses file system to set things up - this lives in /sys/kernel/config/usb_gadget/ - the PB2 calls it g_multi, I call it usbg.
You need to do so set up in the top directory - e.g. what the USB on the go shows up as, beagleboard should have already done this. Then for functions you want to use - you first set it up in functions, then link into configs/c.1/ . I think what you need is g_mass_storage to set up mass storage.
Me- I don’t use any g_ functions - I’ve moved onto u_ functions which are newer. IIRC the u_ functions don’t include mass storage, so IIRC you have to use g_ for that.
beagleboard may use g_multi to bring it all up - that is a very old system, it was moved away from that 15 years ago or so - so these days its usually libcomposite that is used. This used to be written up on internet in HOWTO guides - but these don’t seem so available these days.
And just checked what is enabled on my PB2 - its the only device that i run the mainline beagleboard OS (I use arch on the others). Despite it being called g_multi, it doesn’t use g_multi - its instead jsut using libcomposite. It enables two functions acm (which is a serial connection) and ncm (which is Ethernet). You will need to add g_mass_storage to the functions - and then set it up. Easiest is just to edit whatever sets it up on the beagle board distribution (it will be a command file somewhere).
Ah yes this is where you can find the list of functions you can use:
I’ve not been able to find a decent list on anyone’s web page - strange it used to be there.