using the openmoko neo101 in mass storage mode

Matt Mets matt.mets at
Fri May 30 20:53:29 CEST 2008

I believe this has been discussed at some point, but there is a 
file-storage module that emulates a mass storage device:

I don't see it included in the preview ASU package, but it should be 
trivial to build separately.

The issue (that I see, anyway) is that it requires exclusive access to 
the drive that it uses for the storage.  I think the cleanest way to 
handle that would be to format a partition on the SD card with a 
suitable filesystem (Fat32).  This would then be normally be mounted on 
the Neo, and used for storing media files and extra user data.  When you 
want to connect to the PC to transfer songs or whatever, you run a 
utility that unmounts the drive from the linux side, switches off the 
USB ethernet gadget and switches on the file-storage gadget, with this 
device as its target.  Then you can plug it into a PC and do whatever, 
and when you are done you simply use the utility to switch back to the 
previous configuration.

The downside to this method is that you wouldn't get access to the root 
filesystem, and Neo applications woudn't have access to the drive while 
it was being shared (so you couldn't play songs while you were 
downloading them).  Also, it would probably be tricky to share PIM data 
this way, because you wouldn't want to turn off the dialer program :-D.


Bobby Martin wrote:
>         I'm sure it's *possible* to make the neo behave like a mass
>         storage device, and I would love to have
>         software that does it so I can have some kind of communication
>         with Windows machines that I don't
>         have permission to install drivers & internet bridges on.  As
>         far as I know that software doesn't exist today.
>     Two ways to accomplish this:
>     1. use gadget_storage on the neo/freerunner
>     2. use usb-networking + samba on the neo/freerunner
>     My vote goes for option #2, since this also allows us to continue
>     to support ssh'ing to the phone, etc.
>     ;
>     --
>     Jay Vaughan
> My issue is that I want to be able to connect my neo to just about any 
> Windows PC and at least transfer
> files.  Connecting to the neo via usb from a Windows machine requires 
> installing a driver on the Windows
> PC and setting up a network bridge on the Windows PC.  These are 
> things I'm often unable to do.  (E.g.
> at work, or especially on someone else's machine at work.)
> Bluetooth is nice, but it's also true that many PCs don't have 
> bluetooth.  To me, the ideal solution would
> be to have an app on the neo that makes it pretend to be a mass 
> storage device over USB, so standard
> USB connectors on almost any USB host (Mac, Windows PC, Linux PC, 
> maybe some cameras, etc.)
> would recognize the neo as a source and destination for files.  We 
> should be able to configure which
> directories are exposed through the USB mass storage interface, and 
> also perhaps configure how
> much storage is reserved (so you don't fill up your rootfs).
> Does such a USB mass storage interface simulation program exist out 
> there as open source
> somewhere, waiting to be ported?
> Bobby
> -- 
> If it doesn't make you smile, you're doing something wrong.
> ------------------------------------------------------------------------
> _______________________________________________
> Openmoko community mailing list
> community at

More information about the community mailing list