Embedded Linux as Attached USB Storage Device?
dont_drink_the_water asks: "I am currently working on a few projects which will (hopefully) use Embedded Linux to deliver content (mp3 players, web servers, other possibilities). The question is, can Linux act as a USB attached hard drive, so that other machines can simply read/write data on the hard drive by using the USB port? Is anyone currently working on projects like this, and has any software been developed for this purpose?"
Note: While they say they are based on linux, they do not appear to of have released the sources anywhere that I can find. They do claim to be making a developers kit, but that is alos hard to find at the moment....
Why? It would be much cheaper and simpler to simply design an I/O interface to do that (or use any of the generic designs published by most of the big chip houses. E.g. NEC, Motorola, Maxim, etc.)
Unless you're talking a RAID chassis or something (which be insanely stupid to hang off USB), it isn't much more than serial/parallel conversion/buffering with some voltage matching and a little driver code.
Using embedded Linux for this would be like converting a laptop into a trip-computer for your bicycle. Major overkill.
Basically my understanding of this question is:
"Can Linux act as a USB slave, and provide a slave or 'target' implementation of the USB Mass Storage Class?"
In other words, can I build a fancy MP3 box with lots of storage that appears to be a USB hard drive to the host PC, but is really a Linux machine pretending to be "just" a USB hard disk?
USB slave drivers and an Open Source implementation of the slave side of the USB Mass Storage Class would be cool.