- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 = "."
- Labels:
-
PSoC 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Invention Board
I am trying same in Windows 7 64 Bit, but not succesful.
Any pointers.
Thanks in Advance
DS Oberoi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?