7 Replies Latest reply on Mar 31, 2011 2:30 AM by david.wong

    FXLP2 and Virtual COM port example

    dejan@dilogic.hr

      I've tried to download Virtual COM port example but it won't load WinXP driver.

         

      Device enumerates (seemingly) correctly and then prompts for driver. I've pointed to the attached INF file, but WinXP can't load the driver. It's visible in the device manager as unknown(other) device.

         

      Did anyone tried to test it? I've checked on two PC's - the same result...

        • 1. Re: FXLP2 and Virtual COM port example
          dejan@dilogic.hr

          I've forgot to mention - it's bassed on AN58764...

          • 2. Re: FXLP2 and Virtual COM port example
            inaki.castillo

            Hi.

               

            Please check that the Device ID that you get from Cypress console matches the one you read on your INF file.

               

            Probably they dont match. The easier way to solve this is just to change the INF file to match the one you have in your device. Then un-plug an re-plug again the device.

            • 3. Re: FXLP2 and Virtual COM port example
              shubham.trivedi

              Hi Deni,

                 

               

                 

              You will need to add the VID PID information in the .inf file before pointing to the file for biding with the driver.

                 

              -shub

              • 4. Re: FXLP2 and Virtual COM port example
                david.wong

                I have the same problem. As mentioned by the original poster, xp couldn't find any driver after selecting "CyUsbCOM.inf" as instructed in AN58764 (page 4).

                   

                In device manager, the device is identified as "EZ-USB FX2 Virtual COM port", with VID=04B4 & PID=4717.

                   

                CyUsbCOM.inf has the following content:

                   

                ; Windows INF File for a USB virtual COM-port device
                ; in the communication devices class (CDC)

                   


                [Version]
                Signature="$Windows NT$"
                Class=Ports
                ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
                Provider=%CYPRESS%
                LayoutFile=layout.inf
                DriverVer=08/17/2001,5.1.2600.0

                   


                [Manufacturer]
                %MFGNAME%=Cypress
                [DestinationDirs]
                DefaultDestDir=12
                DriverCopyFiles=12

                   


                [Cypress]
                %DESCRIPTION%=DriverInstall, USB\VID_04B4&PID_4717&MI_00
                [DriverInstall.nt]
                include=mdmcpq.inf
                CopyFiles=DriverCopyFiles
                AddReg=DriverInstall.nt.AddReg
                [DriverCopyFiles]
                usbser.sys
                [DriverInstall.nt.AddReg]
                HKR,,DevLoader,,*ntkern
                HKR,,NTMPDriver,,usbser.sys
                HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
                [DriverInstall.nt.Services]
                include=mdmcpq.inf
                AddService=usbser, 0x00000002, DriverService
                [DriverService]
                DisplayName=%SERVICE%
                ServiceType=1
                StartType=3
                ErrorControl=1
                ServiceBinary=%12%\usbser.sys
                [Strings]
                Cypress="Cypress COM Port"
                MFGNAME="Cypress COM Port"
                DESCRIPTION="USB COM Port"
                SERVICE="USB COM-port Driver"

                • 5. Re: FXLP2 and Virtual COM port example
                  david.wong

                  And here is the log entry from setupapi.log:

                     

                   

                     

                  [2011/03/30 15:54:18 6320.4047]
                  #-198 Command line processed: "C:\WINDOWS\system32\mmc.exe" C:\WINDOWS\system32\devmgmt.msc /s
                  #I060 Set selected driver.
                  #-019 Searching for hardware ID(s): usb\vid_04b4&pid_4717&rev_0000,usb\vid_04b4&pid_4717
                  #-018 Searching for compatible ID(s): usb\class_02&subclass_02&prot_01,usb\class_02&subclass_02,usb\class_02
                  #-019 Searching for hardware ID(s): usb\vid_04b4&pid_4717&rev_0000,usb\vid_04b4&pid_4717
                  #-018 Searching for compatible ID(s): usb\class_02&subclass_02&prot_01,usb\class_02&subclass_02,usb\class_02
                  #-166 Device install function: DIF_SELECTBESTCOMPATDRV.
                  #W059 Selecting best compatible driver failed. Error 0xe0000228: There are no compatible drivers for this device.
                  #W157 Default installer failed. Error 0xe0000228: There are no compatible drivers for this device.
                   

                  • 6. Re: FXLP2 and Virtual COM port example
                    david.wong

                    Ok I solved the problem. There seems to be an error in the CyUsbCOM.inf file that Cypress provide:

                       

                     

                       

                    [Cypress]
                    %DESCRIPTION%=DriverInstall, USB\VID_04B4&PID_4717&MI_00

                       

                     

                       

                    I removed the interface number "MI_00" and it worked:

                       

                     

                       

                    [Cypress]
                    %DESCRIPTION%=DriverInstall, USB\VID_04B4&PID_4717

                       

                     

                       

                    The driver is installed properly once this is done. :)

                    • 7. Re: FXLP2 and Virtual COM port example
                      david.wong

                      Just taken a closer look at AN58764 and the accompanying source code. The AN is, IMHO, quite badly done. It offers no explanation on the CDC, nor on the example source code. There are quite a lot of errors in the source code as well.