On Tue, 18 Jul 2006, Ajay Jain wrote:

> Apologies, I could not make my point clear. We have a usb-function
> capability on our arm based board. We want to expose our device as a
> mass storage device. We understand that we will have to write a usb
> function driver for the same. The usb function can expose itself like
> a serial class, mass-storage class, audio class etc. We want to
> demonstrate usb as a mass storage device. So how do we proceed on
> this?

There is a USB mass-storage function driver in the Linux kernel.  If your
board runs Linux then you ought to be able to use this driver.  You may
need to add support for your device controller, but that will be easier
than doing everything yourself.  For more information, see 
<http://www.linux-usb.org/gadget/>.

If your board doesn't run Linux then you'll have to do more work.  The USB
mass storage class would still be appropriate.  However there is one
restriction: When you export a filesystem as a USB mass-storage device, it
is very important that the host and the device do _not_ try to access the
filesystem at the same time.  If you want to make it available to the
host, then the device must not mount it or write to it until the USB 
connection is dropped.

If this restriction is too strong, you also have the option of supporting
CDC Ethernet.  Then you could configure your device as a network file
server and the host could mount it remotely, using regular file sharing.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to