Invention Board on Win7

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 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      = "."

   
        
0 Likes
3 Replies
Anonymous
Not applicable

Invention Board

   

 

   

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

   

 Any pointers.

   

 

   

Thanks in Advance 

   

DS Oberoi

0 Likes
Anonymous
Not applicable

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.
 

0 Likes
Anonymous
Not applicable

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?

0 Likes