https://bugs.winehq.org/show_bug.cgi?id=44033
Bug ID: 44033 Summary: USB Serial Port not detected by application Product: Wine Version: 2.21 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: setupapi Assignee: wine-bugs@winehq.org Reporter: mail@joachim-breitner.de Distribution: ---
Created attachment 59697 --> https://bugs.winehq.org/attachment.cgi?id=59697 lsbusb information
I am trying to use the software that programs the programmable YQ8003 bike spoke LEDs. The device connects via usb, and presents itself as a serial port (lsusb information attached).
The software can be found at http://www.zhongxingbang.com/downloads/common/upload/2015/YQ8003-Colorful%20...
When I start the software and press a button that connects to the device (e.g. “Factory Reset”) it sits for a while and then reports “No devices found”.
This part of the trace might be interesting:
trace:setupapi:SetupDiClassGuidsFromNameExW RegEnumKeyExW() returns 0 trace:setupapi:SetupDiClassGuidsFromNameExW Key name: 0x33e5fc trace:setupapi:SetupDiClassGuidsFromNameExW Class name: 0x33e64c trace:setupapi:SetupDiClassGuidsFromNameExW RegEnumKeyExW() returns 0 trace:setupapi:SetupDiClassGuidsFromNameExW Key name: 0x33e5fc trace:setupapi:SetupDiClassGuidsFromNameExW Class name: 0x33e64c trace:setupapi:SetupDiClassGuidsFromNameExW Found matching class name trace:setupapi:SetupDiClassGuidsFromNameExW Guid: 0x33e5fc trace:setupapi:SetupDiClassGuidsFromNameExW Guid: 0x33e5fe trace:setupapi:SetupDiClassGuidsFromNameExW RegEnumKeyExW() returns 0 trace:setupapi:SetupDiClassGuidsFromNameExW Key name: 0x33e5fc trace:setupapi:SetupDiClassGuidsFromNameExW Class name: 0x33e64c trace:setupapi:SetupDiClassGuidsFromNameExW RegEnumKeyExW() returns 0 trace:setupapi:SetupDiClassGuidsFromNameExW Key name: 0x33e5fc trace:setupapi:SetupDiClassGuidsFromNameExW Class name: 0x33e64c trace:setupapi:SetupDiClassGuidsFromNameExW RegEnumKeyExW() returns 259 trace:setupapi:SetupDiGetClassDevsExW {4d36e978-e325-11ce-bfc1-08002be10318} (null) (nil) 0x0000000a (nil) (null) (nil) warn:setupapi:SetupDiGetClassDevsExW unsupported flags 0000000a trace:setupapi:SetupDiCreateDeviceInfoListExW {4d36e978-e325-11ce-bfc1-08002be10318} (nil) (null) (nil) trace:setupapi:SETUPDI_EnumerateDevices 0x1ce3428, {4d36e978-e325-11ce-bfc1-08002be10318}, (null), 0000000a trace:setupapi:SetupDiEnumDeviceInfo 0x1ce3428 0 0x33ea00 trace:setupapi:SetupDiDestroyDeviceInfoList 0x1ce3428
It seems that SetupDiGetClassDevsExW ist not listing the serial port?
https://bugs.winehq.org/show_bug.cgi?id=44033
--- Comment #1 from Joachim Breitner mail@joachim-breitner.de --- I found instructions on https://www.downtowndougbrown.com/2013/03/getting-x-ctu-in-wine-to-detect-yo... on how to add information about a serial port to the registry. I did that, and now there is some progress when it comes to the RegEnumKeyExW call:
trace:setupapi:SetupDiClassGuidsFromNameExW RegEnumKeyExW() returns 259 trace:setupapi:SetupDiGetClassDevsExW {4d36e978-e325-11ce-bfc1-08002be10318} (null) (nil) 0x0000000a (nil) (null) (nil) warn:setupapi:SetupDiGetClassDevsExW unsupported flags 0000000a trace:setupapi:SetupDiCreateDeviceInfoListExW {4d36e978-e325-11ce-bfc1-08002be10318} (nil) (null) (nil) trace:setupapi:SETUPDI_EnumerateDevices 0x1ccfc68, {4d36e978-e325-11ce-bfc1-08002be10318}, (null), 0000000a trace:setupapi:SETUPDI_EnumerateMatchingDevices L"SERIAL" trace:setupapi:SETUPDI_EnumerateMatchingDevices L"COM5" trace:setupapi:SETUPDI_EnumerateMatchingDeviceInstances L"SERIAL" L"COM5" trace:setupapi:SetupDiEnumDeviceInfo 0x1ccfc68 0 0x33ea00 trace:setupapi:SetupDiDestroyDeviceInfoList 0x1ccfc68
But it still lists the device as missing. I guess it checks for usbids or something?
https://bugs.winehq.org/show_bug.cgi?id=44033
Sergey Lepeshkin LepeshkinSN@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |LepeshkinSN@gmail.com
--- Comment #2 from Sergey Lepeshkin LepeshkinSN@gmail.com --- Created attachment 60624 --> https://bugs.winehq.org/attachment.cgi?id=60624 Registry entry with com port pl2303 hardware id
https://bugs.winehq.org/show_bug.cgi?id=44033
--- Comment #3 from Sergey Lepeshkin LepeshkinSN@gmail.com --- Hi!
I just want to tell community about my solution to related problem.
Problem: Program tries to automatically find serial port, which is emulated by Prolific pl2303 chip. Search is done by inspection of hardware id for every port, listed in registry.
Solution: Hardware identification must be added to registry. I’ve just copied related records from windows xp registry to wine, and all works fine.
My pl2303_wine_reg.reg file is attached above. It adds support for COM1 as PL2303 with hardware id Vid_067b&Pid_2303
https://bugs.winehq.org/show_bug.cgi?id=44033
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com Keywords| |hardware
https://bugs.winehq.org/show_bug.cgi?id=44033
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE CC| |z.figura12@gmail.com Component|setupapi |mountmgr.sys
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- Fundamentally a duplicate of 10051 (mountmgr needs to create device interfaces for serial ports).
*** This bug has been marked as a duplicate of bug 10051 ***
https://bugs.winehq.org/show_bug.cgi?id=44033
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Austin English austinenglish@gmail.com --- Closing.