Re: Mass storage class failing during enumeration.

From: Rams (Rams_at_discussions.microsoft.com)
Date: 02/28/05


Date: Mon, 28 Feb 2005 03:19:02 -0800

Hi Adam,

      Thanks for the reply. Can we expose RAM as the device? If yes, then
what name should be given for the "DeviceName"?
What is the usual way of exposing the device memory and what is the
"DeviceName" that is given in the registry entry.
Our current scenario is that we dont have a HDD in our system. We only have
RAM and flash. How do we go about it?
When connected in serial class, I can explore the filesystem in the mobile
device from the host. Let me know how to go about it in my current scenario.

Rgds,
Rams.

"Adam Kodeda [MS]" wrote:

> The USB Mass Storage Function driver exposes a resident store to the USB
> host. That is, it allows a CE-based device to appear as a USB Mass Storage
> device to a USB host. The "DeviceName" registry value is the name of the
> resident store to expose. The default USB Mass Storage Function registry
> settings assume that you wish to expose the store labeled "DSK1:" Does your
> CE-based device contain a storage device to expose (e.g., ATA hard disk)?
>
> --
> Adam Kodeda [MS]
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Rams" <Rams@discussions.microsoft.com> wrote in message
> news:3F69995D-F8F4-41D7-9FC4-010E497BD05F@microsoft.com...
> > During enumeration of USB function controller driver when the class driver
> > is
> > mass storage, it is failing after the "OpenStore" function call with debug
> > msg as "UsbMsFn!STORE_Init: failed to open store DSK1:; error = 4319". I
> > found that it was failing when it called CreateFile. It was trying to
> > create
> > a file at "\StoreMgr\DSK1:" but returned back with 0xfffffff as error
> > value.
> > The registry settings in my platform.reg file are as follows:
> > =================================
> > ; @CESYSGEN IF CE_MODULES_USBMSFN
> > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
> > "DefaultClientDriver"=- ; erase previous default
> > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
> > "DefaultClientDriver"="Mass_Storage_Class"
> >
> > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class]
> > "Dll"="usbmsfn.dll"
> > "InterfaceSubClass"=dword:06
> > "InterfaceProtocol"=dword:50
> > "DeviceName"="DSK1:"
> > "FriendlyName"="Mass Storage"
> > ; idVendor must be changed. 045E belongs to Microsoft and is only to be
> > used
> > for
> > ; prototype devices in your labs. Visit http://www.usb.org to obtain a
> > vendor id.
> > "idVendor"=dword:045E
> > "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change
> > idVendor)"
> > "idProduct"=dword:FFFF
> > "Product"="Generic Mass Storage (PROTOTYPE--Remember to change
> > idVendor)"
> > "bcdDevice"=dword:0
> > ; @CESYSGEN ENDIF CE_MODULES_USBMSFN
> > ==================================
> > Let me know why it is failing while creating the file DSK1: in StoreMgr.
> >
> > Rgds,
> > Rams.
>
>
>