Finally, I found the trick after searching the web for a whole day.
Here it is:
http://www.cypress.com/?id=4&rID=35281
Let me post my cyusb.inf file, in case someone meet the same trouble
=================
; Installation INF for the Cypress Generic USB Driver for Windows XP
; Processor support for x86 based platforms.
;
; (c) Copyright 2009 Cypress Semiconductor Corporation
;
[Version]
Signature="$WINDOWS NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
provider=%CYUSB_Provider%
CatalogFile=CYUSB.cat
DriverVer=06/05/2009,3.4.1.20
[SourceDisksNames]
1=%CYUSB_Install%,,,
[SourceDisksFiles]
CYUSB.sys = 1
[DestinationDirs]
CYUSB.Files.Ext = 10,System32\Drivers
[ControlFlags]
ExcludeFromSelect = *
[Manufacturer]
%CYUSB_Provider%=DeviceList
[DeviceList]
"CyUSB driver - FPGA board PID=8613 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8613
;"CyUSB driver - FPGA board PID=8613 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8613
;"CyUSB driver - FPGA board PID=8614 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8614
;"CyUSB driver - FPGA board PID=8615 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8615
;"CyUSB driver - FPGA board PID=8616 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8616
;"CyUSB driver - FPGA board PID=8617 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8617
;"CyUSB driver - FPGA board PID=8618 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8618
;"CyUSB driver - FPGA board PID=8619 - KNJN LLC fpga4fun.com" = CyUSB, USB\VID_04B4&PID_8619
;for all platforms
[Device]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
;for windows 2000 non intel platforms
[Device.NT]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
;for x86 platforms
[Device.NTx86]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
;for x64 platforms
[Device.NTamd64]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
[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_Provider = "KNJN LLC"
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_8613.DeviceDesc="Cypress USB Generic Driver (3.4.1.20)"
CYUSB.GUID="{0EFA2C93-0C7B-454F-9403-D638F6C37E65}"
CYUSB_Unused = "."
=====================
iammegatron wrote:fpga4fun wrote:The problem is that the GUID used by KNJN for the CyUSB driver is different from the one used by Cypress.
Check the CyUSB.inf file from both the KNJN and Cypress packages to see the GUID used.
While using CyAPI.lib (the C/C++ language interface), there is the function call: CCyUSBDevice(_,_), where GUID can be specified. (As can be seen in the example file supplied by KNJN)
But for CyUSB.dll (.NET library), One can use (correct me if I'm wrong):
dev = new USBDeviceList(CyConst.DEVICES_CYUSB)
to return a list of USB devices using the CyUSB.sys device driver.
My question is that why my Saxo-L board doesn't show up in that list?