Dear all, my usb msc+cdc composite project work well in winxp ;but in win7,my cdc vcom could not recieve&send data;my cdc inf file is mchp_MSD_CDC.inf,is ok in win7,because cdc project also work well in win7.
when (win7) reinstall&uninstall vcom deriver in devicelist,pc requrie a long time.
In this weekend, at last, I got enough spare time to test this issue ;-)
Made a MSC + (IAD) CDC composite device on Keil MCB2300 board. Just merged Keil Examples (USBMem and USBCDC) together in quick and dirty way.
Here is the test code link www.8052.com/.../MCB2300_MSC_CDC.zip
And tested on these Windows versions
Result
Windows XP (x86) SP3 - success Windows XP (x64) SP2 - installation success, but driver failed to start in Code 10 Because of old drivers - usbccgp.sys 5.2.3790.3959, Feb 18, 2007 - usbser.sys 5.2.3790.1830, March 24, 2005
Vista (x86) SP2 - success Vista (x64) SP2 - success
Windows 7 (x86) - success Windows 7 (x64) - success
Here is a revised INF file for this test This single INF works for both of x86/x64 on all Windows version (XP, Vista and 7) The original USBCDC example is also supported.
Enjoy!
Tsuneo mcb2300-vcom.inf (Revised)
; ; Keil - An ARM Company Communication Device Class driver installation file ; (C)2007-2008 Copyright ; [Version] Signature="$Windows NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%Keil% ;;; LayoutFile=layout.inf ;; not supported in Vista and later DriverVer =04/14/2008, 5.1.2600.5512 ; CatalogFile=mcb2300-vcom.cat [Manufacturer] %Keil%=DeviceList,ntamd64 ;------------------------------------------------------------------------------ ; Device list ;------------------------------------------------------------------------------ [DeviceList] %DESCRIPTION%=MCB2300USB, USB¥VID_c251&PID_1705 %COMPOSITE% =MCB2300USB, USB¥VID_FF28&PID_0001&MI_01 [DeviceList.ntamd64] %DESCRIPTION%=MCB2300USB, USB¥VID_c251&PID_1705 %COMPOSITE% =MCB2300USB, USB¥VID_FF28&PID_0001&MI_01 ;------------------------------------------------------------------------------ ; Installation ;------------------------------------------------------------------------------ [SourceDisksNames] ;;; this blank section satisfies chkinf [SourceDisksFiles] ;;; this blank section satisfies chkinf [DestinationDirs] FakeModemCopyFileSection=12 DefaultDestDir = 12 [MCB2300USB] include=mdmcpq.inf CopyFiles=FakeModemCopyFileSection AddReg=MCB2300USB.AddReg [MCB2300USB.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,usbser.sys HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" [MCB2300USB.Services] AddService=usbser, 0x00000002, DriverService [DriverService] DisplayName=%DRIVER.SVC% ServiceType=1 StartType=3 ErrorControl=1 ServiceBinary=%12%¥usbser.sys ;------------------------------------------------------------------------------ ; String Definitions ;------------------------------------------------------------------------------ [Strings] Keil = "Keil - An ARM Company" DRIVER.SVC = "MCB2300 USB VCom Driver" DESCRIPTION= "MCB2300 USB VCom Port" COMPOSITE = "MCB2300 MSC-CDC COM Port"
thank you,Tsuneo. I wil test it. thank you,again.
Hi Tsuneo, Thanks for your USB composite example, it works well. If you can put the mcb2300-vcom.inf (Revised) inf file into the USBMSC disk, it will be more interesting.