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?"
Oh yeah. In fact, you won't believe it, but I've actually got Linux acting as a power supply right now. I couldn't get Linux to act as a SoundBlaster Audigy, however, but I'm still working on it.
-Bodero
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.
Of course, with some of the QC problems that've been popping up in the kernel lately, you may find that doing a firmware/driver upgrade causes your speakers to catch on fire or the platters of your HDD to fly across the room, giving your goldfish a buzz cut.
my sig's at the bottom of the page.
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.
The question is connectivity between different machines and devices...the terapin-mine was a great example. Thanks to those who even attempted to post something useful. The machine does more than just acting as a hard drive, of course, so yes, it will be necessary to have an operating system on it. The question still stands - how can a linux based machine act as a usb master and slave? Are there any existing projects?