3 Replies Latest reply on Mar 27, 2017 6:48 PM by cypresslacker

    Invention Board on Win7

    andi.abes

       I had an old Invention Board (circa 2003), which I'm finally getting back to. However, it didn't ship with drivers for Win7....

         

      Digging around about I found SuiteUSB/CyUSB driver (http://www.cypress.com/?rID=34870), which is a generic USB driver for cypress usb chips.

         

      However, that doesn't ship with config files that will work with the Invention Board. Hacking a bit on the INF files resulted in a working driver and me being able to use the CyConsole (part of the USB suite) connect to the InventionBoard and read stuff, reset it and so on.

         

      All you need is to save the below into a cybus.inf file, and copy the cybus.sys file into the same directory as the inf file. Follow the steps in the Driver/CyUSB.pdf file to install it.

         

       

         

       

         

       

         

      [Version]

         

      Signature="$WINDOWS NT$"

         

      Class=USB

         

      ClassGUID={36FC9E60-C465-11CF-8056-444553540000}

         

      provider=%CYUSB_Provider%

         

      CatalogFile=CYUSB.cat

         

      DriverVer=10/12/2009,3.4.4.00

         

       

         

      [SourceDisksNames]

         

      1=%CYUSB_Install%,,,

         

       

         

      [SourceDisksFiles]

         

      CYUSB.sys = 1

         

       

         

      [DestinationDirs]

         

      CYUSB.Files.Ext = 10,System32\Drivers

         

      MyDevice.Files.Ext = 10,System32\MyDevice

         

       

         

      [ControlFlags]

         

      ExcludeFromSelect = *

         

       

         

      [Manufacturer]

         

      %CYUSB_Provider%=Device,NT,NTx86,NTamd64

         

      ;for all platforms

         

       

         

      [Device]

         

      %VID_04B4&PID_F101.DeviceDesc%=MyDevice, USB\VID_04B4&PID_F101

         

      ;for windows 2000 non intel platforms

         

       

         

      [Device.NT]

         

      %VID_04B4&PID_F101.DeviceDesc%=MyDevice, USB\VID_04B4&PID_F101

         

      %VID_0547&PID_1002.DeviceDesc%=CyUsb, USB\VID_0547&PID_1002

         

      ;for x86 platforms

         

       

         

      [Device.NTx86]

         

      %VID_04B4&PID_F101.DeviceDesc%=MyDevice, USB\VID_04B4&PID_F101

         

      %VID_0547&PID_1002.DeviceDesc%=CyUsb, USB\VID_0547&PID_1002

         

      ;for x64 platforms

         

       

         

      [Device.NTamd64]

         

      %VID_04B4&PID_F101.DeviceDesc%=MyDevice, USB\VID_04B4&PID_F101

         

      %VID_0547&PID_1002.DeviceDesc%=CyUsb, USB\VID_0547&PID_1002

         

       

         

      [MyDevice]

         

      CopyFiles=CYUSB.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [MyDevice.HW]

         

      AddReg=MyDevice.AddReg.Guid

         

       

         

      [MyDevice.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [MyDevice.NT]

         

      CopyFiles=CYUSB.Files.Ext, MyDevice.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [MyDevice.NT.HW]

         

      AddReg=MyDevice.AddReg.Guid

         

       

         

      [MyDevice.NT.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [MyDevice.NTx86]

         

      CopyFiles=CYUSB.Files.Ext, MyDevice.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [MyDevice.NTx86.HW]

         

      AddReg=MyDevice.AddReg.Guid

         

       

         

      [MyDevice.NTx86.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [MyDevice.NTamd64]

         

      CopyFiles=CYUSB.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [MyDevice.NTamd64.HW]

         

      AddReg=MyDevice.AddReg.Guid

         

       

         

      [MyDevice.NTamd64.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [MyDevice.AddReg.Guid]

         

      HKR,,DriverGUID,,%CYUSB.GUID%

         

      HKR,,DriverEXECSCRIPT,,%MyDevice.EXECSCRIPT%

         

       

         

       

         

      [CYUSB]

         

      CopyFiles=CYUSB.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [CYUSB.HW]

         

      AddReg=CYUSB.AddReg.Guid

         

       

         

      [CYUSB.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [CYUSB.NT]

         

      CopyFiles=CYUSB.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [CYUSB.NT.HW]

         

      AddReg=CYUSB.AddReg.Guid

         

       

         

      [CYUSB.NT.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [CYUSB.NTx86]

         

      CopyFiles=CYUSB.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [CYUSB.NTx86.HW]

         

      AddReg=CYUSB.AddReg.Guid

         

       

         

      [CYUSB.NTx86.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [CYUSB.NTamd64]

         

      CopyFiles=CYUSB.Files.Ext

         

      AddReg=CyUsb.AddReg

         

       

         

      [CYUSB.NTamd64.HW]

         

      AddReg=CYUSB.AddReg.Guid

         

       

         

      [CYUSB.NTamd64.Services]

         

      Addservice = CYUSB,2,CYUSB.AddService

         

       

         

      [CYUSB.AddReg]

         

      ; Deprecating - do not use in new apps to identify a CYUSB driver

         

      HKR,,DevLoader,,*ntkern

         

      HKR,,NTMPDriver,,CYUSB.sys

         

      ; You may optionally include a check for DriverBase in your application to check for a CYUSB driver

         

      HKR,,DriverBase,,CYUSB.sys

         

      HKR,"Parameters","MaximumTransferSize",0x10001,4096

         

      HKR,"Parameters","DebugLevel",0x10001,2

         

      HKR,,FriendlyName,,%CYUSB_Description%

         

       

         

      [CYUSB.AddService]

         

      DisplayName    = %CYUSB_Description%

         

      ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER

         

      StartType      = 3                  ; SERVICE_DEMAND_START

         

      ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL

         

      ServiceBinary  = %10%\System32\Drivers\CYUSB.sys

         

      AddReg         = CYUSB.AddReg

         

      LoadOrderGroup = Base

         

       

         

      [CYUSB.Files.Ext]

         

      CYUSB.sys

         

       

         

      [CYUSB.AddReg.Guid]

         

      HKR,,DriverGUID,,%CYUSB.GUID%

         

       

         

      [Strings]

         

      CYUSB_Provider    = "Cypress"

         

      CYUSB_Company     = "Cypress Semiconductor Corporation"

         

      CYUSB_Description = "Cypress Generic USB Driver"

         

      CYUSB_DisplayName = "Cypress USB Generic"

         

      CYUSB_Install     = "Cypress CYUSB Driver Installation Disk"

         

      %VID_04B4&PID_F101.DeviceDesc="Cypress USB Generic Driver (3.4.4.00)"

         

      CYUSB.GUID="{AE18AA60-7F6A-11d4-97DD-00010229B959}"

         

      CYUSB_Unused      = "."

         
              
        • 1. Re: Invention Board on Win7
          d.oberoi

          Invention Board

             

           

             

           I am trying same  in Windows 7 64 Bit, but not succesful.

             

           Any pointers.

             

           

             

          Thanks in Advance 

             

          DS Oberoi

          • 2. Re: Invention Board on Win7
            cypresslacker

            aabes,

               

            I'm in the same position: Just found my old Invention Board.  But I've got no Win7 drivers for it.

            Thanks for posting (4 years ago).  The SuiteUSB download was a good tip, and your example .inf file will be very helpful.
            I'll have to carve out some time when I can do the multiple reboot sequence, needed for the unsigned driver install, and give it a shot.
             

            • 3. Re: Invention Board on Win7
              cypresslacker

              Nope.  That didn't work.  Not quite.

                 

              First off: there's a stray % symbol at the beginning of the VID_04B4&PID_F101 line, in the [Strings] section.  So...watch out.

                 

              Second: Win7 originally pulled the device ID off the board as "Invention Board" and populated it under Unknown Devices in Device Manager.
              With the modified .inf file, and the generic Cypress USB driver loaded, it now shows up under "Universal Serial Bus Controllers".
              And it's assigned a name from the VID... string in the .inf file: "Cypress USB Generic Driver (3.4.4.00)".

                 

              But, the original programming software still can't talk to the board.
              (Available here: www.cypress.com/knowledge-base-article/psoc-invention-board-application-software )
              Not even when run in XP compatibility mode.

                 

              I was hoping to pass the board through to a VirtualBox VM, where I wanted to set up a development environment.
              I could even set up an XP virtual machine, and just use the original software and driver that came with the board.
              But I can't pass the board through to the VM as long as it shows up under Universal Serial Bus Controllers...

                 

              So.  What now?
              Is there a way to pass through Universal Serial Bus Controllers to a VirtualBox VM?
              If I install the current version of PSoC Designer (presently v5.4 SP1 from Mar 16, 2015) on my Win7 host machine, will it be able to program the Invention Board?  Or does my .inf need further tweaking?