Re: USB MSC, SD/ATA/NAND/RAM Disk



Yes, AFAIK changing "DeviceName" to the block driver you want to expose should be enough.

> With this modification when I plug-in USB Cable to Host PC it POPS a window,
> which is saying that Unknown Device.

That is strange. What does the debug output say when you plug the cable in? Run a debug kernel, enable all zones for SD and the upper block driver and enable the debug zones for USB function as well, and post the debug output.


I assume it all works fine when you use "DSK2:" as value for "DeviceName"? What about "DSK3:"?

Can you access the SD loaded under DSK1: from CE? Can you write, read, create and delete files on the SD card from CE?

Good luck,

Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog

GuruCE Ltd.
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.

GSR wrote:
Michel Verhagen Thank You for the Reply.

So, If I want to have ATA/NAND then just I have to change the

"DeviceName"="DSK2:" -> for ATA
"DeviceName"="DSK3:" -> for NAND

in USB CLient Driver Registry Setting ?

Is this correct ?

In our platform at present ATA is used as MSD.

Now, I want to change the MSD device to SD Card for that I have modified

"DeviceName"="DSK1:" -> for SD

With this modification when I plug-in USB Cable to Host PC it POPS a window, which is saying that Unknown Device.

Is any where else do I need to Modify ?

Thank You & Regards,
Sudheer



"Michel Verhagen (eMVP)" wrote:

1. Yes
2. Are you talking about the internal RAM file system (object store fs)?

If so, as far as I know you can't set the internal RAM fs as store for MSC. You can reserve another block of RAM creating a disk using the RAM disk driver (see \WINCEX00\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\RAMDISK).


Good luck,

Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog

GuruCE Ltd.
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.

GSR wrote:
Hi,

From MS Help I observed that following registry need to be set for USB Mass Storage Class Driver to be loaded, in addition to USB Function Controller Registry Settings.

[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"=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

Consider a case for example My System is having SD Card, Harddisk on ATA, NAND Device and also RAM.

In registry the disks names are DSK1,DSK2,DSK3, for SD,HDD and NAND respectively.

I have two questions here:

1) Is SD Card will be shown as MSC when USB Device is connected to Host in the above case ? If not please correct me.

2) What are the settings that I have to do for having RAM Device as MSC instead of a Flash Device ?

Thank You & Regards,
Sudheer


.



Relevant Pages