Author Topic: find bulk device by GUID  (Read 14620 times)

wenbingma

  • Member
  • ***
  • Posts: 7
find bulk device by GUID
« 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?

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: find bulk device by GUID
« Reply #1 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.

wenbingma

  • Member
  • ***
  • Posts: 7
Re: find bulk device by GUID
« Reply #2 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]
« Last Edit: April 24, 2013, 03:56:14 am by wenbingma »

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: find bulk device by GUID
« Reply #3 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
« Last Edit: June 29, 2015, 10:30:41 am by Jan Axelson »

wenbingma

  • Member
  • ***
  • Posts: 7
Re: find bulk device by GUID
« Reply #4 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]