It is possible to switch the functionality of the USB Function driver on the Colibri. There are three possibilities in the Toradex default image:
To change this, you have to set one of the following registry values:
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers] DefaultClientDriver="Serial_Class" ; This is the default setting -> Used e.g. for ActiveSync DefaultClientDriver="Mass_Storage_Class" ; Colibri behaves like USB mass storage device DefaultClientDriver="RNDIS" ; Colibri behaves like a USB network adapter
When Mass Storage Class is selected, the storage location is DSK1: by default. This is, for example, an external USB memory stick. If you would like to change this to the internal FlashDisk, you have to change the following registry value. The FlashDisk will disappear from the Colibri root folder because it's now dedicated to the USB mass storage function.
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class] DeviceName="DSK0:" ; DSK0: is the internal FlashDisk. (DSK1: is the default value)
In the DeviceName parameter you should set the store name of the mass-storage device you want to expose via the USB interface. You can retrieve suitable names by checking under HKEY_LOCAL_MACHINE\System\StorageManager\Profiles. Each profile has a Name entry containing its Store Name. For example to expose SD card you can configure:
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class] DeviceName="SD Memory Card"
On i.MX and Tegra-based devices you can't expose the internal flash via usb-client interface because it's currently used to store the registry and exposing it via mass-storage will crash the OS.
It is possible to generate a Ram Drive (Ramdisk) to expose as the mass storage. Please write to colibri [at] toradex [dot] com for details.