I am using the .NET dll from SuiteUSB to interface with a FX2LP. In my PC application I am calling the BulkInEndpt.Xferdata method at an interval of about 1 second.
My driver is not signed or self signed. I use 64 bit version. I know that I must sign this driver but I was unable to do so.
Signtool give me unexpected error "CertOpenStore() failed". I am wating the signing of driver: this must be done by a colleague.
As a result the device is not seen as Plug and Play, even if I use F8 to force the use of unsigned driver.
The documentation makes it sound like the major reason the Xferdata function should return false is because of a timeout.
I have tried adjusting the timeout from 1000ms to 100000ms to see if the driver is simple slow for some reason.
I have used C# driver command to see if the Driver see the firmware correctly.
I have compared the data given in the console application by C# driver meber of CyUsbDevice with data of firmware: they match perfectly. So the error is not here.
I noticed there are UsbdStatus and NtStatus members of the CyUSBEndPoint Class that contain error codes of the xferdata method.
I have used this members to obtain information about this errors.
URB status (from UsbdStatus command) is set to USBD_STATUS_CANCELED (0xC0010000).
This data is confirmed by Ntstatus code ( 0xC0000120 aka STATUS_CANCELLED) .
I am able to select the device using VID and PID (console application see if the device is attached or not).
From this data, it seems to me that the problem is lacking of Signing that prevents the correct behavior of driver.
Open the device is possible because use the data of DeviceObject created by Enumeration Process ( driver of the bus, not Device Driver).
Xfer data do not function because use Device Driver ( not Bus Driver), and Device Driver is not correctly charged even if I use F8 and select Charge Usigned Driver ( is not Plug and Play).
Windows Vista (and Windows 7) Plug and Play device installation requires driver packages to have a signed catalog file. Driver packages commonly consist of multiple files; the catalog file contains the signature for the entire package.
-Pavesi Sergio
|