5 Replies Latest reply on Apr 9, 2010 5:05 PM by joel.brenner

    Streamer demo driver issue

    joel.brenner
              I'm trying to run the streamer demo. Unfortunately it doesn't work because of problems with the driver.   
         
      I'm able to program the Cypress firmware into the EEPROM. The device seems to be correctly identified as a Cy-Stream usb device but I'm unable to successfully install the CyStream.inf driver enclosed into the demo package. I always get Error 10 during the driver installation.   
         
      I tried to use the CyUSB driver instead (see the attached .inf). At this point the driver installation goes well but when I run (in debug) the Streamer application "int n = USBDevice->DeviceCount();" returns always 0. The GUID of the driver and the app. are the original Cypress GUID and are therefore correct.   
         
      Can anybody help me to come out from this situation?   
         
      Thanks, Job   
         
         
         
      .inf file   
         
      ; Installation INF for the Cypress Generic USB Driver for Windows 98ME/2000/XP   
      ;   
         
      [Version]   
      Signature="$CHICAGO$"   
      Class=USB   
      ClassGUID={36FC9E60-C465-11CF-8056-444553540000}   
      provider=%CYPRESS%   
      ;---Uncomment and complete below to support WHQL submission---;   
      ;CatalogFile=cyusb.cat   
      ;DriverVer=mm/dd/yyyy,x.y.v.z   
      ;-------------------------------------------------------------;   
         
      [SourceDisksNames]   
      1=%CYUSB_INSTALL%,,,   
         
      [SourceDisksFiles]   
      CyUsbME.sys = 1   
      CyUsb.sys = 1   
      ;-----Uncomment below to support script file processing-----;   
      ;CyUsb.spt = 1   
      ;------------------------------------------------------------;   
         
      [Manufacturer]   
      %MfgName%=Cypress   
         
      [Cypress]   
      %VID_04B4&PID_1003.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1003   
         
         
      ;[PreCopySection]   
      ;HKR,,NoSetupUI,,1   
         
      [DestinationDirs]   
      CyUsbME.Files.Ext = 10,System32\Drivers   
      CyUsb.Files.Ext = 10,System32\Drivers   
      ;-----Uncomment below to support script file processing-----;   
      ;CyUsb.Files.Spt = 10,System32\CyUsb   
      ;------------------------------------------------------------;   
         
      [CyUsb]   
      CopyFiles=CyUsbME.Files.Ext   
      ;-----Uncomment below to support script file processing-----;   
      ;CopyFiles=CyUsb.Files.Spt   
      ;------------------------------------------------------------;   
      AddReg=CyUsbME.AddReg   
         
      [CyUsb.HW]   
      AddReg=CyUsb.AddReg.Guid   
         
      [CyUsb.NT]   
      CopyFiles=CyUsb.Files.Ext   
      ;-----Uncomment below to support script file processing-----;   
      ;CopyFiles=CyUsb.Files.Spt   
      ;------------------------------------------------------------;   
      AddReg=CyUsb.AddReg   
         
      [CyUsb.NT.HW]   
      AddReg=CyUsb.AddReg.Guid   
         
      [CyUsb.NT.Services]   
      Addservice = CyUsb, 0x00000002, CyUsb.AddService   
         
      [CyUsb.AddService]   
      DisplayName = %CyUsb.SvcDesc%   
      ServiceType = 1 ; SERVICE_KERNEL_DRIVER   
      StartType = 3 ; SERVICE_DEMAND_START   
      ErrorControl = 1 ; SERVICE_ERROR_NORMAL   
      ServiceBinary = %10%\System32\Drivers\CyUsb.sys   
      LoadOrderGroup = Base   
         
      [CyUsbME.AddReg]   
      HKR,,DevLoader,,*ntkern   
      HKR,,NTMPDriver,,CyUsbME.sys   
         
      [CyUsb.AddReg]   
      HKR,,DevLoader,,*ntkern   
      HKR,,NTMPDriver,,CyUsb.sys   
         
      [CyUsbME.Files.Ext]   
      CyUsbME.sys   
         
      [CyUsb.Files.Ext]   
      CyUsb.sys   
         
      ;-----Uncomment below to support script file processing-----;   
      ;[CyUsb.Files.Spt]   
      ;CyUsb.spt   
      ;------------------------------------------------------------;   
         
      [CyUsb.AddReg.Guid]   
      HKR,,DriverGUID,,%CyUsb.GUID%   
      ;-----Uncomment below to support script file processing-----;   
      ;HKR,,DriverEXECSCRIPT,,%CyUsb.EXECSCRIPT%   
      ;------------------------------------------------------------;   
         
         
      ;---------------------------------------------------------------;   
         
      [Strings]   
      CYPRESS="Cypress"   
      MfgName="Cypress"   
      CYUSB_INSTALL="Cypress Generic USB Driver Installation Disk"   
      VID_04B4&PID_1003.DeviceDesc="Cypress Device"   
         
      CyUsb.SvcDesc="Saphyrion Generic USB Driver"   
      ;------------Replace GUID below with custom GUID-------------;   
      CyUsb.GUID="{AE18AA60-7F6A-11d4-97DD-00010229B959}"   
      ;   
      ;------------------------------------------------------------;   
      ;-----Uncomment below to support script file processing-----;   
      ;CyUsb.EXECSCRIPT="\systemroot\system32\CyUsb\CyUsb.spt"   
      ;------------------------------------------------------------;   
        • 1. Re: Streamer demo driver issue
          joel.brenner
                  Same problem also under XP. I tried the FX2Lib GNU library with a CyStream porting to SDCC and averting works well...   
             
          Any sugestion?   
          • 2. Re: Streamer demo driver issue
            andrew.sobotka
                    Looks like you're using an old driver. Try downloading the latest driver. It's not "Streamer" any more, it's "Screamer".   
            • 3. Re: Streamer demo driver issue
              joel.brenner
                      I downloaded 2 days ago the CySuiteUSB_3_4_1_B20 from the cypress web page.   
              In the example source tree there is just the Streamer project with the CYStream FW firmware... which now seems to use the CyUSB driver instead of cydvk.sys.   
                 
              In the meanwhile I discovered that the problem is in the Cypres stream firmware. If I use the FX2Lib based Stream firmware both Cydvk and cyusb drivers are working well... I'm able to run the Streamer application with sucess.   
                 
              Is there anything that I've to take into account for the CYStream firmware? I'm able to run successfully the bulkloop firmware provided by cypress. (I've a 64K serial EEPROM)   
                 
              Thanks for your previous replay.   
              Job   
                 
              • 4. Re: Streamer demo driver issue
                andrew.sobotka
                        Okay, so I found the Streamer example, it's from the older C++ library.   
                   
                But that inf file you posted is *not* from CySuiteUSB 3.4.1 (no mention of 98ME anywhere in the folder). CyDVK is not in 3.4.1 either (and it's just a watered-down CyUSB anyway). And what is this "FX2Lib" that you're talking about?   
                   
                You sure you installed CySuiteUSB and that you're using the examples, driver, and inf files from that release and not any older releases?   
                • 5. Re: Streamer demo driver issue
                  joel.brenner
                          FX2Lib is a nice library for FX2 firmware development hosted by sourceforge.net which is practically speaking a port of the Cypress firmware SDK to SDCC compiler.   
                  Yes, the posted .inf is not the original one from CySuiteUSB_3_4_1... but it doesn't matter.   
                     
                  In the meanwhile I was able to run my own Streamer firmware (based on FX2Lib) which gives me up to 45 MB/s. The FX2 with my own firmware is compatible with what the streamer application from cypress expects from the USB device I'm therefore able to use both the streamer application from cypress (the SDK one and the AppNote one). It works both with the CyUSB and the CyDvk driver.   
                  I'm just wondering why the Streamer application from doesn't work if I program the original Cypress firmware into the FX2 and I use the original inf files.   
                  What I have now is my own firmware which works well with both streamer application and driver from cypress, but it seems that Cypress streamer app is unable to work with Cypress driver and firmware...   
                     
                  100 % sure about using the right stuff. At the beginning I had only the original Cypress SDK and app note... so no possibility for mistakes...