Using the Neo as an USB Mass storage device

From Openmoko

Revision as of 06:35, 26 September 2008 by Newkirk (Talk | contribs)

Jump to: navigation, search

Make the Neo FreeRunner act as a mass storage device

To access the microSD card in the Freerunner from the host computer as if it were a USB key or memory stick, the following script can be used:

#!/bin/sh
ifdown usb0
umount /media/card
rmmod g_ether
modprobe g_file_storage file=/dev/mmcblk0p1

Reference: Petr Vanek's "usb mass media storage" message on the community mailing list

The card is not accessible from the Freerunner in this mode.

Make the Neo FreeRunner revert to USB networking

The following script can be used:

#!/bin/sh
rmmod g_file_storage
mount /dev/mmcblk0p1 /media/card
modprobe g_ether
ifup usb0

Be sure to properly unmount on the host computer first, just as you would with any other USB storage.

Is it possible to pretend to be a USB hub, providing both g_ether and g_file_storage?

Not yet. At the moment it's one gadget driver at a time, but there is a project under way to allow use of multiple gadget drivers together. See this blog posting called 'USB Composite Gadget Framework' or Linux-USB Gadget API Framework

Personal tools

Make the Neo FreeRunner act as a mass storage device

To access the microSD card in the Freerunner from the host computer as if it were a USB key or memory stick, the following script can be used:

#!/bin/sh
ifdown usb0
umount /media/card
rmmod g_ether
modprobe g_file_storage file=/dev/mmcblk0p1

Reference: Petr Vanek's "usb mass media storage" message on the community mailing list

The card is not accessible from the Freerunner in this mode.

Make the Neo FreeRunner revert to USB networking

The following script can be used:

#!/bin/sh
rmmod g_file_storage
mount /dev/mmcblk0p1 /media/card
modprobe g_ether
ifup usb0

Be sure to properly unmount on the host computer first, just as you would with any other USB storage.

Is it possible to pretend to be a USB hub, providing both g_ether and g_file_storage?

Not yet. At the moment it's one gadget driver at a time, but there is a project under way to allow use of multiple gadget drivers together. See this blog posting called 'USB Composite Gadget Framework' or Linux-USB Gadget API Framework