https://bugs.winehq.org/show_bug.cgi?id=37166
Bug ID: 37166 Summary: Multiple apps fail to detect removable (USB) disk devices (PNP device manager '{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}' device class GUID registry data missing)(TomTom, iTunes, Rufus) Product: Wine Version: 1.7.25 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
continuation of bug 7711 and potentially others to avoid them being recycled over and over again.
GUID '{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}' -> GUID_DEVINTERFACE_DISK
MSDN: http://msdn.microsoft.com/en-us/library/windows/hardware/ff545824%28v=vs.85%...
Additionally the apps usually expect GUID '{F18A0E88-C30C-11D0-8815-00A0C906BED8}' class too -> GUID_DEVINTERFACE_USB_HUB
http://msdn.microsoft.com/en-us/library/windows/hardware/ff545982%28v=vs.85%...:
Example trace log with 'Rufus':
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+setupapi wine ./rufus-1.4.10.exe >>log.txt 2>&1 ... 0023:Call setupapi.SetupDiGetClassDevsA(004448fc,00000000,00000000,00000012) ret=0040ef60 0023:trace:setupapi:SetupDiGetClassDevsExW {f18a0e88-c30c-11d0-8815-00a0c906bed8} (null) (nil) 0x00000012 (nil) (null) (nil) 0023:warn:setupapi:SetupDiGetClassDevsExW unsupported flags 00000002 0023:trace:setupapi:SetupDiCreateDeviceInfoListExW {f18a0e88-c30c-11d0-8815-00a0c906bed8} (nil) (null) (nil) ... 0023:Call advapi32.RegOpenKeyExW(80000002,7e2e3bc0 L"System\CurrentControlSet\Control\DeviceClasses",00000000,00020019,0077e944) ret=7e2bf207 0023:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e2bf207 0023:trace:setupapi:SETUPDI_EnumerateInterfaces 0x1e2408, {f18a0e88-c30c-11d0-8815-00a0c906bed8}, (null), 00000012 ... 0023:Ret setupapi.SetupDiGetClassDevsA() retval=001e2408 ret=0040ef60 ... 0023:Call setupapi.SetupDiEnumDeviceInfo(001e2408,00000000,0077ec91) ret=0040efd3 0023:trace:setupapi:SetupDiEnumDeviceInfo 0x1e2408 0 0x77ec91 0023:Ret setupapi.SetupDiEnumDeviceInfo() retval=00000000 ret=0040efd3 0023:Call setupapi.SetupDiDestroyDeviceInfoList(001e2408) ret=0040ef91 0023:trace:setupapi:SetupDiDestroyDeviceInfoList 0x1e2408 ... 0023:Ret setupapi.SetupDiDestroyDeviceInfoList() retval=00000001 ret=0040ef91 ... 0023:Call setupapi.CM_Get_Device_ID_List_SizeA(0077ec24,004448b2 "USBSTOR",00000002) ret=0040f260 0023:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0x77ec24 "USBSTOR" 0x00000002: stub 0023:Ret setupapi.CM_Get_Device_ID_List_SizeA() retval=00000000 ret=0040f260 0023:Call setupapi.CM_Get_Device_ID_List_SizeA(0077ec28,004448ba "UASPSTOR",00000002) ret=0040f260 0023:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0x77ec28 "UASPSTOR" 0x00000002: stub 0023:Ret setupapi.CM_Get_Device_ID_List_SizeA() retval=00000000 ret=0040f260 0023:Call setupapi.CM_Get_Device_ID_List_SizeA(0077ec2c,004448c3 "VUSBSTOR",00000002) ret=0040f260 0023:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0x77ec2c "VUSBSTOR" 0x00000002: stub 0023:Ret setupapi.CM_Get_Device_ID_List_SizeA() retval=00000000 ret=0040f260 0023:Call setupapi.CM_Get_Device_ID_List_SizeA(0077ec30,004448cc "ETRONSTOR",00000002) ret=0040f260 0023:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0x77ec30 "ETRONSTOR" 0x00000002: stub 0023:Ret setupapi.CM_Get_Device_ID_List_SizeA() retval=00000000 ret=0040f260 0023:Call setupapi.SetupDiGetClassDevsA(0044490c,00000000,00000000,00000012) ret=0040f350 0023:trace:setupapi:SetupDiGetClassDevsExW {53f56307-b6bf-11d0-94f2-00a0c91efb8b} (null) (nil) 0x00000012 (nil) (null) (nil) 0023:warn:setupapi:SetupDiGetClassDevsExW unsupported flags 00000002 0023:trace:setupapi:SetupDiCreateDeviceInfoListExW {53f56307-b6bf-11d0-94f2-00a0c91efb8b} (nil) (null) (nil) ... 0023:Call advapi32.RegOpenKeyExW(80000002,7e2e3bc0 L"System\CurrentControlSet\Control\DeviceClasses",00000000,00020019,0077e944) ret=7e2bf207 0023:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e2bf207 0023:trace:setupapi:SETUPDI_EnumerateInterfaces 0x1e2408, {53f56307-b6bf-11d0-94f2-00a0c91efb8b}, (null), 00000012 ... 0023:Ret setupapi.SetupDiGetClassDevsA() retval=001e2408 ret=0040f350 0023:Call setupapi.SetupDiEnumDeviceInfo(001e2408,00000000,0077ec91) ret=0040f3c2 0023:trace:setupapi:SetupDiEnumDeviceInfo 0x1e2408 0 0x77ec91 0023:Ret setupapi.SetupDiEnumDeviceInfo() retval=00000000 ret=0040f3c2 0023:Call setupapi.SetupDiDestroyDeviceInfoList(001e2408) ret=004103c6 0023:trace:setupapi:SetupDiDestroyDeviceInfoList 0x1e2408 ... 0023:Ret setupapi.SetupDiDestroyDeviceInfoList() retval=00000001 ret=004103c6 ... 0023:Call KERNEL32.OutputDebugStringA(004640d4 "0 devices found\r\n") ret=004164fb ... 0023:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=004164fb ... --- snip ---
$ sha1sum rufus-1.4.10.exe 031309c159429544a4e8bec0373d474c8e705c3e rufus-1.4.10.exe
$ du -sh rufus-1.4.10.exe 1.4M rufus-1.4.10.exe
$ wine --version wine-1.7.25
Regards
https://bugs.winehq.org/show_bug.cgi?id=37166
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://rufus.akeo.ie/downlo | |ads/rufus-1.4.10.exe
https://bugs.winehq.org/show_bug.cgi?id=37166
James Le Cuirot chewi@aura-online.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chewi@aura-online.co.uk
https://bugs.winehq.org/show_bug.cgi?id=37166
Julian Rüger jr98@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jr98@gmx.net
https://bugs.winehq.org/show_bug.cgi?id=37166
grendal74 grendal74.geo@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |grendal74.geo@yahoo.com
--- Comment #1 from grendal74 grendal74.geo@yahoo.com --- Created attachment 49952 --> https://bugs.winehq.org/attachment.cgi?id=49952 Rufus Crashes
Wine 1.7.30
https://bugs.winehq.org/show_bug.cgi?id=37166
Joel Holdsworth joel@airwebreathe.org.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joel@airwebreathe.org.uk
https://bugs.winehq.org/show_bug.cgi?id=37166
--- Comment #2 from Joel Holdsworth joel@airwebreathe.org.uk --- In Rufus v1.4.10, the relevant code calling SetupDiGetClassDevsA is given here: https://github.com/pbatard/rufus/blob/v1.4.10/src/usb.c#L110
Shouldn't be too hard to turn this into a mini test app.
How are test cases normally written for this sort of thing? - is it possible to fake out the physical device presence somehow?
https://bugs.winehq.org/show_bug.cgi?id=37166
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine.ys9z@ncf.ca
--- Comment #3 from Austin English austinenglish@gmail.com --- *** Bug 40159 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=37166
Bjorn Nostvold bjorn.nostvold@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bjorn.nostvold@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=37166
Matteo Modesti mattemod@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mattemod@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=37166
winetaste@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetaste@gmx.net
https://bugs.winehq.org/show_bug.cgi?id=37166
Mads mads@ab3.no changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mads@ab3.no
https://bugs.winehq.org/show_bug.cgi?id=37166
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=37166
Pekka Helenius fincer89@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fincer89@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=37166
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |pnpmgr URL|http://rufus.akeo.ie/downlo |https://github.com/pbatard/ |ads/rufus-1.4.10.exe |rufus/releases/download/v1. | |4.10/rufus-1.4.10.exe
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
$ sha1sum rufus-1.4.10.exe 923062d5a60f6ac00c3922df8e98df16cc97e03d rufus-1.4.10.exe
$ du -sh rufus-1.4.10.exe 620K rufus-1.4.10.exe
$ wine --version wine-4.3-188-gab7756619c
Regards
https://bugs.winehq.org/show_bug.cgi?id=37166
Brandon Taylor donnie126_2002@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |donnie126_2002@hotmail.com
--- Comment #5 from Brandon Taylor donnie126_2002@hotmail.com --- I think this is a bug which will probably never be fixed, because any attempt to fix the bug would most likely have to dive into some proprietary Microsoft $#!+ which the creators of Wine simply cannot duplicate without reprisal from that Evil Empire.
Request status change from "NEW" to "RESOLVED WONTFIX".
https://bugs.winehq.org/show_bug.cgi?id=37166
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #6 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occurs with wine-5.10? Some works were done for USB drivers.
https://bugs.winehq.org/show_bug.cgi?id=37166
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://github.com/pbatard/ |https://web.archive.org/web |rufus/releases/download/v1. |/20191010173930/https://git |4.10/rufus-1.4.10.exe |hub.com/pbatard/rufus/relea | |ses/download/v1.4.10/rufus- | |1.4.10.exe
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Adding stable link via Internet Archive:
https://web.archive.org/web/20191010173930/https://github.com/pbatard/rufus/...
Test device: USB stick
--- snip --- $ lsusb ... Bus 003 Device 011: ID 1307:0163 Transcend Information, Inc. 256MB/512MB/1GB Flash Drive ... --- snip ---
With device permissions adjusted to allow userspace libusb access:
--- snip --- $ WINEDEBUG=+debugstr,+wineusb wine ./rufus-1.4.10.exe ... 008c:trace:wineusb:DriverEntry driver 0x1a3f0, path L"\Registry\Machine\System\CurrentControlSet\Services\wineusb". 00a4:trace:wineusb:event_thread_proc Starting event thread. 008c:trace:wineusb:driver_add_device driver 0x1a3f0, pdo 0x1f2d0. 008c:trace:wineusb:fdo_pnp irp 0x9c0380, minor function 0. ... 008c:trace:wineusb:add_usb_device Adding new device 0x7f49380072b0, vendor 1307, product 0163. 008c:trace:wineusb:fdo_pnp irp 0x9c06a0, minor function 0x7. 008c:trace:wineusb:pdo_pnp device_obj 0x1f600, irp 0x9c06a0, minor function 0x13. 008c:trace:wineusb:pdo_pnp device_obj 0x1f600, irp 0x9c06a0, minor function 0x13. 008c:trace:wineusb:pdo_pnp device_obj 0x1f600, irp 0x9c06a0, minor function 0x13. 008c:trace:wineusb:pdo_pnp device_obj 0x1f600, irp 0x9c06a0, minor function 0x13. ... 0024:warn:debugstr:OutputDebugStringA "*** Rufus init ***\r\n" ... 0024:warn:debugstr:OutputDebugStringA "localization: using locale 'en-US'\r\n" 0024:warn:debugstr:OutputDebugStringA "localization: initializing default message table\r\n" 0024:warn:debugstr:OutputDebugStringA "Rufus version: 1.4.10.514\r\n" 0024:warn:debugstr:OutputDebugStringA "Syslinux versions: 4.07/2013-07-25, 5.10/2013-06-04\r\n" 0024:warn:debugstr:OutputDebugStringA "Windows version: Windows 7 SP1 64-bit\r\n" 0024:warn:debugstr:OutputDebugStringA "Locale ID: 0x0409\r\n" ... 0024:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0077EFC4 "USBSTOR" 0x00000102: stub 0024:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0077EFC8 "UASPSTOR" 0x00000102: stub 0024:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0077EFCC "VUSBSTOR" 0x00000102: stub 0024:fixme:setupapi:CM_Get_Device_ID_List_SizeA 0077EFD0 "ETRONSTOR" 0x00000102: stub 0024:warn:debugstr:OutputDebugStringA "0 devices found\r\n" ... --- snip ---
Querying the registry from another terminal while the app is still running:
--- snip --- $ wine reg query "HKLM\System\CurrentControlSet\Control\Class"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{4d36e967-e325-11ce-bfc1-08002be10318} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{4D36E968-E325-11CE-BFC1-08002BE10318} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{4D36E96E-E325-11CE-BFC1-08002BE10318} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{4d36e978-e325-11ce-bfc1-08002be10318} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{4d36e97d-e325-11ce-bfc1-08002be10318} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{6bdd1fc6-810f-11d0-bec7-08002be2092f} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{745a17a0-74d3-11d0-b6fe-00a0c90f57da}
$ wine reg query "HKLM\System\CurrentControlSet\Control\DeviceClasses"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceClasses HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceClasses{378DE44C-56EF-11D1-BC8C-00A0C91405DD} HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceClasses{4D1E55B2-F16F-11CF-88CB-001111000030}
$ wine reg query "HKLM\System\CurrentControlSet\Enum"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\DISPLAY HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\HID HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\ROOT HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\WINEMOUSE
$ wine reg query "HKLM\System\CurrentControlSet\Enum\USB"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB\VID_1307&PID_0163 --- snip ---
$ wine --version wine-6.0-40-g00401d22782
Regards
https://bugs.winehq.org/show_bug.cgi?id=37166
--- Comment #8 from winetaste@gmx.net --- Confirming with Wine 6.2 with to sticks connected:
$lsusb Bus 002 Device 003: ID 090c:3261 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) USB DISK Bus 002 Device 002: ID 8564:1000 Transcend Information, Inc. JetFlash
But
Con(In reply to Anastasius Focht from comment #7)
$ wine reg query "HKLM\System\CurrentControlSet\Enum"
...
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB
...
$ wine reg query "HKLM\System\CurrentControlSet\Enum\USB"
There is not even a USB entry like this.
https://bugs.winehq.org/show_bug.cgi?id=37166
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ttonto546@gmail.com
--- Comment #9 from Anastasius Focht focht@gmx.net --- *** Bug 49158 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=37166
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ricky.tigg@gmail.com
--- Comment #10 from Anastasius Focht focht@gmx.net --- *** Bug 49389 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=37166
Neko-san nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch