This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USB msc+cdc compostie in win7 not work !!!

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.

Parents Reply Children
  • > my cdc inf file is mchp_MSD_CDC.inf,is ok in win7,because cdc project also work well in win7.

    Really?

    Microchip INF files for CDC don't follow these MS guideline of INF, even on the latest (v2.7) version of MCHPFSUSB stack (v2010-04-28).

    1) Don't write LayoutFile on [Version] section.
    2) Don't specify usbser.sys directly for CopyFiles
    Instead, include mdmcpq.inf AND refer to FakeModemCopyFileSection

    I've pointed out it on this topic of Microchip forum.
    " href= "http://msdn.microsoft.com/en-us/library/ff547502">msdn.microsoft.com/.../ff547502(VS.85).aspx
    LayoutFile
    Note This entry is not supported in Windows Vista and later versions of Windows.

    2) How to use or to reference the Usbser.sys driver from universal serial bus (USB) modem .inf files
    support.microsoft.com/.../837637

    Tsuneo

  • thank you, Tsuneo Chinzei!
    I use mchp_MSD_CDC.inf(v2.7) file in win7,cdc project is really ok,but msc+cdc compostie project is bad.

  • Tsuneo,
    Did you test cdc+msc composite device in win7?

  • when i plug my cdc+msc on win7,and update cdc deriver in devicelist,select the inf file,install.....pc is always in installing stae.
    my cdc+msc composite problem in win7,maybe is nothing with inf file;
    Tsuneo,
    did you test cdc+msc composite device in win7?

    thank you very much!

  • 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.