jiuzhuaxiong / qextserialport

Automatically exported from code.google.com/p/qextserialport
Other
0 stars 0 forks source link

deviceDiscovered() not emitted for VCOM port device insertion. #183

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Which version of QextSerialPort are you using?
Master branch rev. a52081be1c7b

What steps will reproduce the problem?

1.Connect Virtual COM port device, eg. STM32 MCU-based USB, using usbser.sys 
driver with custom .inf.

What is the expected output? What do you see instead?

Expect deviceDiscovered() to be emitted.  It is not.

What version of the product are you using? On what operating system?

Win7 x64/Qt 4.8.6 MSVC2010 32 bit.

Please provide any additional information below.

Removal of the same device is reported properly.  My hack workaround has been 
to change this line in 
QextSerialEnumeratorPrivate::matchAndDispatchChangedDevice():

from:

DWORD dwFlag = (DBT_DEVICEARRIVAL == wParam) ? DIGCF_PRESENT : DIGCF_ALLCLASSES;

to:

DWORD dwFlag = DIGCF_ALLCLASSES;

See Issue 182 for some more details about this VCOM device.  
https://code.google.com/p/qextserialport/issues/detail?id=182

Thanks,
-Max

Original issue reported on code.google.com by maxpaperno on 4 Jun 2014 at 11:04