PORTS Forum

Ports and Interfaces => USB => Topic started by: wenbingma on April 23, 2013, 04:34:46 am

Title: find bulk device by GUID
Post by: wenbingma on April 23, 2013, 04:34:46 am
I downloaded winusb_cs_181 and integrate winusb stub into my c# project.
if "{b35924d6-3e16-4a9e-9782-5524a4b79bac}" is used, the bulk device can be found by FindDeviceFromGuid().
device can not be detected when other GUID is used.

Windows driver can be installed correctly under win7. I think c# application can use GUID in driver INF file, the bulk
device should be detected. but I am wrong.

My question is the bulk device GUID is specifical? how can I create a workable GUID for bulk device?
Title: Re: find bulk device by GUID
Post by: Jan Axelson on April 23, 2013, 11:05:49 am
The GUID has to be present in an INF file that contains the device's Vendor ID and Product ID.

Also, you can now do a WinUSB device without a custom INF:

http://blogs.msdn.com/b/usbcoreblog/archive/2012/09/26/how-to-install-winusb-sys-without-a-custom-inf.aspx

After changing device information, Windows might remember previous information unless you change the Product ID or delete the device in the registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\<VVVVPPPPRRRR>                   

VVVV is the vendor id
PPPP is the product id
RRRR is the revision number.
Title: Re: find bulk device by GUID
Post by: wenbingma on April 24, 2013, 03:50:26 am
Thanks for your kindly help.
It is wrong to use class GUID in INF file to detect device. Device can be detected correctly
by HW GUID in [USB_Install.HW] section of INF file.

another question:
I am trying to use  KMDF version 1.11 to install bulk driver. but failed.
I refer this link: http://msdn.microsoft.com/en-us/library/windows/hardware/ff540283(v=vs.85).aspx .
but after change [SourceDisksFiles.x86] section
from:
WinUSBCoInstaller2.dll=1
WdfCoInstaller01011.dll=1
to:
WinUSBCoInstaller.dll=1
WdfCoInstaller01005.dll=1

the driver can be installed correctly. I am confused about this. I attached INF file. because upload file limitation, the other two files(WdfCoInstaller01011.dll and winusbcoinstaller2.dll) can not be uploaded. the two dll comes form WDDK 8.

[attachment deleted by admin]
Title: Re: find bulk device by GUID
Post by: Jan Axelson on April 24, 2013, 02:46:09 pm
My WinUSB examples include an INF file:

http://www.janaxelson.com/winusb.htm

The setupapi log file might be helpful. Here is one tutorial:

http://sourcedaddy.com/windows-7/using-setupapi-log-file.html
Title: Re: find bulk device by GUID
Post by: wenbingma on April 25, 2013, 12:08:06 am
I highly appreciate your help. I am a beginner at driver and thanks for your patience.
after I looked into the setup log file. I found the problem.
I placed WdfCoInstaller01011.dll and winusbcoinstaller2.dll in same directory level with INF.
According to INF [SourceDisksNames] section, The two dlls should be placed in \i386 folder.
After tow dlls are in right place, the driver installed correctly with KMDF version 1.11.

also I atteched my latest correct INF file.     

[attachment deleted by admin]