https://bugs.winehq.org/show_bug.cgi?id=46711
Bug ID: 46711 Summary: Since 3.3 other HID devices than Joysticks not supported anymore Product: Wine Version: 4.2 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: hid Assignee: wine-bugs@winehq.org Reporter: Gerold.Ruhland@gmail.com Distribution: ---
Created attachment 63680 --> https://bugs.winehq.org/attachment.cgi?id=63680 Pic showing mouse detected using CrossOver 17.5.1 and WINE 2.8
Everything worked fine since the early versions of WINE 2.x until 3.3 but at least since 3.14 (did not test all versions between 3.3 and 3.14) other HID devices than Joysticks or Gamepads are not supported anymore. That means they are not detected and no entries are made in the registry so that the setupdi functions works correctly.
When do you plan to add these functionality again? In 4.2 it still doesn't work.
I have been in contact with Aric, but it looks like he gave up.
It's so easy to test yousrelf. Use the HID test program from Microsoft (hclient.exe) and a USB mouse (I did my tests with a MicroSoft IntelliMouse Explorer 2.0 or Wireless Laser Mouse 6000 but I guess another USB will work too)
https://bugs.winehq.org/show_bug.cgi?id=46711
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|hid |-unknown CC| |z.figura12@gmail.com
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- I'm not sure anything should have happened between 3.3 and now that would have prevented some HID devices from being enumerated; are you sure nothing changed on your end?
Can you attach a log with +setupapi,+plugplay,+hid_report,+hid?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #2 from Gerold Gerold.Ruhland@gmail.com --- gerold@MINT19-0:~/Desktop/Moveslink$ WINEDEBUG=+setupapi,+plugplay,+hid_report,+hid wine hclient.exe 001d:trace:plugplay:ServiceMain starting service 0021:trace:plugplay:DriverEntry (0x13a80, L"\Registry\Machine\System\CurrentControlSet\Services\WineBus") 0021:trace:plugplay:sdl_driver_init (0x5e0d0, L"\Registry\Machine\System\CurrentControlSet\Services\SDLJOY") 0021:trace:plugplay:sdl_driver_init Initialization successful 0009:trace:hid:HidD_GetHidGuid (0x33f158) 0009:trace:setupapi:SetupDiGetClassDevsExW {4d1e55b2-f16f-11cf-88cb-001111000030} (null) (nil) 0x00000012 (nil) (null) (nil) 0009:trace:setupapi:SetupDiCreateDeviceInfoListExW {4d1e55b2-f16f-11cf-88cb-001111000030} (nil) (null) (nil) 0009:trace:setupapi:SETUPDI_EnumerateInterfaces 0x15ce20, {4d1e55b2-f16f-11cf-88cb-001111000030}, (null), 00000012 0009:trace:setupapi:SetupDiEnumDeviceInterfaces devinfo 0x15ce20, device_data (nil), class {4d1e55b2-f16f-11cf-88cb-001111000030}, index 0, iface_data 0x33f13c. 0009:trace:setupapi:SetupDiDestroyDeviceInfoList devinfo 0x15ce20. 0009:trace:hid:HidD_GetHidGuid (0x33f250) 0009:fixme:win:RegisterDeviceNotificationA (hwnd=0x1004a, filter=0x33f244,flags=0x00000000) returns a fake device notification handle! gerold@MINT19-0:~/Desktop/Moveslink$ 001a:trace:plugplay:service_handler shutting down 001d:trace:plugplay:ServiceMain service stopped gerold@MINT19-0:~/Desktop/Moveslink$
Of course, I changed R/W permissions for the MS Mouse to 666: lrwxrwxrwx 1 root root 0 Feb 24 17:08 hidraw0 -> ../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:045E:00E1.0001/hidraw/hidraw0
Mouse not detected from hclient.exe
WORKS FINE WITH WINE 2.8 OR 3.3 FOR EXAMPLE NOTHING TO DO MANUALLY (CHANGES IN REGISTRY OR WHATEVER) ALSO WITH CROSSOVER 17.5.1 NOT WITH 18.x (USING WINE 3.14)
https://bugs.winehq.org/show_bug.cgi?id=46711
Gerold Gerold.Ruhland@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |setupapi
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- My first guess is that the build of 3.3 that you tested wasn't compiled with support for libSDL. Currently we don't load hidraw devices if we can use SDL; I'm not sure if this is really what we want to do.
Can you try disabling SDL via the registry and see if your other devices appear? I.e. open the key HKLM\CurrentControlSet\Services\WineBus and set the DWORD value "Enable SDL" to 0.
https://bugs.winehq.org/show_bug.cgi?id=46711
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|setupapi |-unknown
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #4 from Gerold Gerold.Ruhland@gmail.com --- I guess you mean HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WineBus There is no "Enable SDL" I will add it and set to 0 and try again.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #5 from Gerold Gerold.Ruhland@gmail.com --- GOOD NEWS. NOW IT IS WORKING
Wondering my Aric Stewart never told me about this setting, Since months I am reporting this problem.
gerold@MINT19-0:~/Desktop/Moveslink$ wine regedit.exe
gerold@MINT19-0:~/Desktop/Moveslink$ ls -l /dev/hidraw0 crw-rw-rw- 1 root root 241, 0 Feb 24 17:08 /dev/hidraw0
gerold@MINT19-0:~/Desktop/Moveslink$ WINEDEBUG=+setupapi,+plugplay,+hid_report,+hid wine hclient.exe 001e:trace:plugplay:ServiceMain starting service 0022:trace:plugplay:DriverEntry (0x138c0, L"\Registry\Machine\System\CurrentControlSet\Services\WineBus") 0022:trace:plugplay:udev_driver_init (0x5df60, L"\Registry\Machine\System\CurrentControlSet\Services\UDEV") 0026:warn:plugplay:try_add_device Unable to open udev device "/dev/input/event1": Permission denied 0026:warn:plugplay:try_add_device Unable to open udev device "/dev/input/event0": Permission denied 0026:warn:plugplay:try_add_device Unable to open udev device "/dev/input/event11": Permission denied 0026:warn:plugplay:try_add_device Unable to open udev device "/dev/input/event12": Permission denied 0026:warn:plugplay:try_add_device Unable to open udev device "/dev/input/event13": Permission denied 0026:trace:plugplay:bus_enumerate_hid_devices (0x7f8686be1d60) 0026:warn:plugplay:count_abs_axis ioctl(EVIOCGBIT, EV_ABS) failed: 22 Invalid argument 0026:warn:plugplay:count_buttons ioctl(EVIOCGBIT, EV_KEY) failed: 22 Invalid argument 0026:trace:plugplay:try_add_device Found udev device "/dev/hidraw0" (vid 045e, pid 00e1, version 0, serial L"0000") 0026:trace:plugplay:bus_create_hid_device (0x5df60, L"HIDRAW", 045e, 00e1, 0, 0, L"0000", 0, {3def44ad-242e-46e5-826d-707213f3aa81}, 0x7f8686be1da0, 32) 0026:trace:setupapi:SetupDiGetClassDevsExW {3def44ad-242e-46e5-826d-707213f3aa81} (null) (nil) 0x00000010 (nil) (null) (nil) 0026:trace:setupapi:SetupDiCreateDeviceInfoListExW {3def44ad-242e-46e5-826d-707213f3aa81} (nil) (null) (nil) 0026:trace:setupapi:SETUPDI_EnumerateInterfaces 0x5dc90, {3def44ad-242e-46e5-826d-707213f3aa81}, (null), 00000010 0026:trace:setupapi:SetupDiCreateDeviceInfoW devinfo 0x5dc90, name L"HIDRAW\Vid_045e&Pid_00e1&IM_1\0&0000&0", class {3def44ad-242e-46e5-826d-707213f3aa81}, description (null), hwnd (nil), flags 0x2, device_data 0x54eeb0. 0026:trace:setupapi:SETUPDI_CreateDeviceInfo 0x5dc90, {3def44ad-242e-46e5-826d-707213f3aa81}, L"HIDRAW\Vid_045e&Pid_00e1&IM_1\0&0000&0", 1 0026:trace:setupapi:SetupDiRegisterDeviceInfo devinfo 0x5dc90, data 0x54eeb0, flags 0, compare_proc (nil), context (nil), duplicate_data (nil). 0026:trace:setupapi:SetupDiDestroyDeviceInfoList devinfo 0x5dc90. 0026:trace:plugplay:handle_bus_relations (0x5e0f0) 0026:trace:plugplay:common_pnp_dispatch IRP_MN_QUERY_ID 0026:trace:plugplay:handle_IRP_MN_QUERY_ID (0x5e0f0, 0x5ec10) 0026:trace:plugplay:handle_IRP_MN_QUERY_ID BusQueryCompatibleIDs 0026:trace:plugplay:get_driver_for_id no driver found for L"HIDRAW\Vid_045e&Pid_00e1&IM_1\0&0000&0" 0026:trace:plugplay:get_driver_for_id no driver found for L"HIDRAW\Vid_045e&Pid_00e1" 0026:trace:plugplay:get_driver_for_id found driver L"WineHID" for L"HIDRAW" 0026:trace:hid:DriverEntry (0x5ef30, L"\Registry\Machine\System\CurrentControlSet\Services\WineHID") 0026:trace:plugplay:common_pnp_dispatch IRP_MN_QUERY_ID 0026:trace:plugplay:handle_IRP_MN_QUERY_ID (0x5e0f0, 0x5f0c0) 0026:trace:plugplay:handle_IRP_MN_QUERY_ID BusQueryInstanceID 0026:trace:hid:PNP_AddDevice PDO add device(0x5e0f0:L"HIDRAW\Vid_045e&Pid_00e1&IM_1\0&0000&0") 0026:trace:hid:HID_CreateDevice Create base hid device L"\Device\HID#000000000005EF30&000000000005E0F0" 0026:trace:hid:PNP_AddDevice Created device 0x5f530 0026:trace:hid:add_device (0x5ef30, 0x5f530) 0026:trace:plugplay:hid_internal_dispatch (0x5e0f0, 0x5fa40) 0026:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_DEVICE_ATTRIBUTES 0026:trace:plugplay:hid_internal_dispatch (0x5e0f0, 0x5fa40) 0026:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_DEVICE_DESCRIPTOR 0026:trace:plugplay:hid_internal_dispatch (0x5e0f0, 0x5fa40) 0026:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_REPORT_DESCRIPTOR 0026:trace:hid:ParseDescriptor Descriptor[274]: 5 c 9 1 a1 1 5 1 9 2 a1 2 85 13 5 c a 38 2 95 1 75 8 15 81 25 7f 81 6 85 14 6 0 ff a 1 fe 75 2 15 0 25 3 81 2 a 2 fe a 0 fe 95 2 75 1 25 1 81 2 a 3 ff 95 1 75 2 25 3 81 2 81 1 85 15 75 1 25 1 a b ... lots of messages ... 001b:trace:plugplay:service_handler shutting down 001e:trace:plugplay:ServiceMain service stopped 0023:trace:hid:UnloadDriver Driver Unload 0023:trace:hid:UnloadDriver 1 devices to unload 0028:trace:hid:hid_device_thread Device thread exiting 0023:trace:hid:HID_DeleteDevice Delete device(0x5f530) L"\Device\HID#000000000005EF30&000000000005E0F0" 0023:trace:plugplay:udev_driver_unload Unload Driver 0023:trace:plugplay:iohid_driver_unload Stub: Unload Driver 0023:trace:plugplay:sdl_driver_unload Unload Driver
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #6 from Gerold Gerold.Ruhland@gmail.com --- Since which WINE version does "Enable SDL" exist?
I tried with CrossOver 18.5.0 Beta 1 and it does not work. CO is using Wine 4.0
https://bugs.winehq.org/show_bug.cgi?id=46711
Gerold Gerold.Ruhland@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Gerold.Ruhland@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #7 from Gerold Gerold.Ruhland@gmail.com --- Does setting "Enable SDL" to 0 have the same effect like using the arg "--without-sdl"
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #8 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63687 --> https://bugs.winehq.org/attachment.cgi?id=63687 Original program is now terminating directly
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #9 from Gerold Gerold.Ruhland@gmail.com --- Unfortenatly the behavior with setting "Enable SDL" to 0 is not the same as with Wine 2.8 or 3.3
HID device is detected, but I can not read or write to the HID device using the original program or my own test program.
I attached a new log file using the original program.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #10 from Zebediah Figura z.figura12@gmail.com ---
Segmentation fault (core dumped)
Well, that's odd. (Not so much that it crashes as that the crash isn't caught by Wine's signal handlers.)
Is it possible for you attach the source of your test program directly? If not, can you identify which call causes the segmentation fault?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #11 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #7)
Does setting "Enable SDL" to 0 have the same effect like using the arg "--without-sdl"
Sort of, yes, but it's configurable at runtime.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #12 from Gerold Gerold.Ruhland@gmail.com ---
Well, that's odd. (Not so much that it crashes as that the crash isn't caught by Wine's signal handlers.)
Is it possible for you attach the source of your test program directly? If not, can you identify which call causes the segmentation fault?
Sorry for the late answer.
I don't have the source of the DLL which connects to the HID device.
To get rid off this error: 0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path.
I installed winbind sudo apt-get install winbind
Program is still crashing, but I got a "Program Error" window and saved the backtrace which I added to the attachements. It this helpfull?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #13 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63819 --> https://bugs.winehq.org/attachment.cgi?id=63819 Backtrace after installing winbind
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #14 from Gerold Gerold.Ruhland@gmail.com --- 0021:trace:plugplay:udev_driver_init Initialization successful 0021:warn:plugplay:iohid_driver_init IOHID Support not compiled into Wine.
How can I get rid off this warning?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #15 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #13)
Created attachment 63819 [details] Backtrace after installing winbind
Can you please attach a log with +setupapi,+plugplay,+ntoskrnl,+hid,+seh?
(In reply to Gerold from comment #14)
0021:trace:plugplay:udev_driver_init Initialization successful 0021:warn:plugplay:iohid_driver_init IOHID Support not compiled into Wine.
How can I get rid off this warning?
By running Mac OS ;-)
(It's harmless.)
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #16 from Gerold Gerold.Ruhland@gmail.com --- Ok. I will do this.
Another question. I did not find any information about the registry key "WineHID" here: https://wiki.winehq.org/Useful_Registry_Keys
Is there another site where I can get some infos about?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #17 from Gerold Gerold.Ruhland@gmail.com --- I attached a new log file with the debug options set you asked for.
As I said, the program starts and than crashed.
Worked fine with Wine 3.3 or CrossOver 17.5.1
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #18 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63835 --> https://bugs.winehq.org/attachment.cgi?id=63835 New log file with more debug options
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #19 from Gerold Gerold.Ruhland@gmail.com --- Maybe the problem is here:
0009:trace:hid:HidD_GetManufacturerString (0x74 0x486fb8 512) 0022:trace:hid:HID_Device_ioctl device 0x5f4c0 ioctl(b01ba) 0022:trace:plugplay:hid_internal_dispatch (0x5e140, 0x12590) 0022:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_STRING[00000001] 0022:warn:plugplay:get_sysattr_string Could not get manufacturer from device 0022:trace:hid:handle_minidriver_string got string L"" from minidriver
0009:trace:hid:HidD_GetProductString (0x74 0x486fb8 512) 0022:trace:hid:HID_Device_ioctl device 0x5f4c0 ioctl(b01be) 0022:trace:plugplay:hid_internal_dispatch (0x5e140, 0x12590) 0022:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_STRING[00000002] 0022:warn:plugplay:get_sysattr_string Could not get product from device 0022:trace:hid:handle_minidriver_string got string L"" from minidriver
0009:trace:hid:HidD_GetSerialNumberString (0x74 0x486fb8 512) 0022:trace:hid:HID_Device_ioctl device 0x5f4c0 ioctl(b01c2) 0022:trace:plugplay:hid_internal_dispatch (0x5e140, 0x12590) 0022:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_STRING[00000003] 0022:warn:plugplay:get_sysattr_string Could not get serial from device 0022:trace:hid:handle_minidriver_string got string L"" from minidriver
None of the strings are returned. This trace is from another test program and I got the source.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #20 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #18)
Created attachment 63835 [details] New log file with more debug options
https://source.winehq.org/git/wine.git/commitdiff/ea7b8ad9241559d5b9a0ab9082a7665928f86c9d may help with this; can you please retest with current git or when 4.4 is released tomorrow?
If it still doesn't work please attach a new log, with the same flags.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #21 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #16)
Another question. I did not find any information about the registry key "WineHID" here: https://wiki.winehq.org/Useful_Registry_Keys
Is there another site where I can get some infos about?
There is no "WineHID" registry key. (Well, that's not quite true: there is, but it doesn't contain any configuration useful to the user.)
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #22 from Gerold Gerold.Ruhland@gmail.com --- No success with 4.4
0009:trace:hid:HidD_GetManufacturerString (0x70 0x4b267c 512) 0022:trace:ntoskrnl:dispatch_ioctl ioctl b01ba device 0x5f490 file 0x60f20 in_size 512 out_size 512 0022:trace:ntoskrnl:IoBuildDeviceIoControlRequest b01ba, 0x5f490, 0x12540, 0, 0x61420, 512, 0, (nil), (nil) 0022:trace:ntoskrnl:IoAllocateIrp 2, 0 0022:trace:ntoskrnl:ExAllocatePoolWithTag 784 pool 0 -> 0x61630 0022:trace:ntoskrnl:IoInitializeIrp 0x61630, 784, 2 0022:trace:ntoskrnl:IoAllocateMdl (0x61420, 512, 0, 0, 0x61630) 0022:trace:hid:HID_Device_ioctl device 0x5f490 ioctl(b01ba) 0022:trace:ntoskrnl:IoBuildDeviceIoControlRequest b0013, 0x5f490, 0x1, 4, 0x43f550, 254, 1, (nil), 0x43f4f0 0022:trace:ntoskrnl:IoAllocateIrp 2, 0 0022:trace:ntoskrnl:ExAllocatePoolWithTag 784 pool 0 -> 0x12570 0022:trace:ntoskrnl:IoInitializeIrp 0x12570, 784, 2 0022:trace:plugplay:hid_internal_dispatch (0x5e110, 0x12570) 0022:trace:plugplay:hid_internal_dispatch IOCTL_HID_GET_STRING[00000001] 0022:warn:plugplay:get_sysattr_string Could not get manufacturer from device 0022:trace:ntoskrnl:IoCompleteRequest 0x12570 0 0022:trace:ntoskrnl:IoCompleteRequest calling 0x7fdf8cc18320( 0x5f490, 0x12570, 0x80 ) 0022:trace:ntoskrnl:IoCompleteRequest CompletionRoutine returned c0000016 0022:trace:ntoskrnl:IoCompleteRequest 0x12570 0 0022:trace:ntoskrnl:IoFreeIrp 0x12570 0022:trace:ntoskrnl:ExFreePoolWithTag 0x12570 0022:trace:hid:handle_minidriver_string got string L"" from minidriver 0022:trace:ntoskrnl:IoCompleteRequest 0x61630 0 0022:trace:ntoskrnl:IoCompleteRequest calling 0x7fdf8e260ec0( 0x5f490, 0x61630, 0x64 ) 0022:trace:ntoskrnl:IoCompleteRequest CompletionRoutine returned 0 0022:trace:ntoskrnl:IoFreeIrp 0x61630 0022:trace:ntoskrnl:IoFreeMdl 0x122a0 0022:trace:ntoskrnl:ExFreePoolWithTag 0x61630
Same for HidD_GetProductString and HidD_GetSerialNumberString.
Tested again with my program written in Delphi and hclient.exe from Microsoft DDK. Source available here, but I guess you know it: https://github.com/Microsoft/Windows-driver-samples/tree/master/hid/hclient
It's also what you recommand for tests here: https://wiki.winehq.org/Hid
----------------------------------- ... Tools to use with device testing hid_test.exe: Wine tests written around direct HID access, in the wine tree dlls/hid/tests. hclient.exe: This is distributed by Microsoft in the DDK (and various free download sites if you are so inclined). This tool will enumerate devices and allow for all various levels of control and exploration. ... -----------------------------------
BTW: where can I find "hid_test.exe"?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #23 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #22)
No success with 4.4
Can you please attach the full log?
BTW: where can I find "hid_test.exe"?
It's in the Wine build tree, after it's compiled, in dlls/hid/tests.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #24 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63957 --> https://bugs.winehq.org/attachment.cgi?id=63957 Log file from HIDTest.exe (own prog) under Wine 4.4
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #25 from Gerold Gerold.Ruhland@gmail.com --- Could you send me please the file hid_test.exe Don't know how to compile it.
https://bugs.winehq.org/show_bug.cgi?id=46711
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #26 from joaopa jeremielapuree@yahoo.fr --- https://wiki.winehq.org/Building_Wine
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #27 from Austin English austinenglish@gmail.com --- (In reply to Gerold from comment #25)
Could you send me please the file hid_test.exe Don't know how to compile it.
You can extract it from winetest.exe from https://test.winehq.org
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #28 from Gerold Gerold.Ruhland@gmail.com --- (In reply to Austin English from comment #27)
(In reply to Gerold from comment #25)
Could you send me please the file hid_test.exe Don't know how to compile it.
You can extract it from winetest.exe from https://test.winehq.org
Hi
Thanks for the tip. Wasn't aware about this site.
I extracted hid_test.exe and the program is crashing.
gerold@MINT19-0:~/Desktop$ wine cmd Microsoft Windows 6.1.7601 (4.4)
Z:\home\gerold\Desktop>hid_test device.c:47: Found device L"" (ff00, 01) wine: Unhandled page fault on write access to 0x00000000 at address 0x7b444e1a (thread 002c), starting debugger... 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x7b444e1a). 002e:fixme:dbghelp:elf_search_auxv can't find symbol in module Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7b444e1a ESP:0060f930 EBP:0060f958 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:00000000 ECX:3ed57200 EDX:0000000c ESI:0060f998 EDI:00000000 Stack dump: 0x0060f930: 00000001 7b448f66 0060f960 0000004c 0x0060f940: 0000004c 7b444de6 0060f970 00000000 0x0060f950: 0000004c 0060f998 0060f9c8 7eff94a3 0x0060f960: 0000004c 000b01a8 7eff93b5 7eff94a3 0x0060f970: 0000004c 0060f998 00000000 00000001 0x0060f980: 0060f9c4 00000000 00000000 0060f9e0 Backtrace: =>0 0x7b444e1a GetOverlappedResult+0x4a() in kernel32 (0x0060f958) 1 0x7eff94a3 HidD_FreePreparsedData+0xffffffff() in hid (0x0060f9c8) 2 0x7eff9ac5 HidD_GetPreparsedData+0x54() in hid (0x0060fa08) 3 0x00401b41 in hid_test (+0x1b40) (0x0060faf8) 4 0x004021bb in hid_test (+0x21ba) (0x0060fce8) 5 0x00402e66 in hid_test (+0x2e65) (0x0060fd38) 6 0x00404cf4 in hid_test (+0x4cf3) (0x0060fde8) 7 0x004013e2 EntryPoint+0xffffffff() in hid_test (0x0060fec0) 8 0x7b467b72 call_process_entry+0x11() in kernel32 (0x0060fed8) 9 0x7b469aae ExitProcess+0x1f2d() in kernel32 (0x0060ffd8) 10 0x7b467b7e call_process_entry+0x1d() in kernel32 (0x0060ffec) 0x7b444e1a GetOverlappedResult+0x4a in kernel32: movl %edx,0x0(%edi) Modules: Module Address Debug info Name (39 modules) PE 400000- 40b000 Export hid_test ELF 7b400000-7b803000 Dwarf kernel32<elf> -PE 7b420000-7b803000 \ kernel32 ELF 7bc00000-7bd09000 Deferred ntdll<elf> -PE 7bc10000-7bd09000 \ ntdll ELF 7c000000-7c004000 Deferred <wine-loader> ELF 7e4a5000-7e4c9000 Deferred imm32<elf> -PE 7e4b0000-7e4c9000 \ imm32 ELF 7e569000-7e59b000 Deferred libexpat.so.1 ELF 7e59b000-7e5e6000 Deferred libfontconfig.so.1 ELF 7e5e6000-7e605000 Deferred libz.so.1 ELF 7e605000-7e63f000 Deferred libpng16.so.16 ELF 7e63f000-7e6fc000 Deferred libfreetype.so.6 ELF 7e71c000-7e7d7000 Deferred msvcrt<elf> -PE 7e730000-7e7d7000 \ msvcrt ELF 7e7d7000-7e85e000 Deferred rpcrt4<elf> -PE 7e7e0000-7e85e000 \ rpcrt4 ELF 7e85e000-7e878000 Deferred version<elf> -PE 7e860000-7e878000 \ version ELF 7e878000-7e8f3000 Deferred advapi32<elf> -PE 7e890000-7e8f3000 \ advapi32 ELF 7e8f3000-7ea24000 Deferred gdi32<elf> -PE 7e900000-7ea24000 \ gdi32 ELF 7ea24000-7ec30000 Deferred user32<elf> -PE 7ea40000-7ec30000 \ user32 ELF 7ec30000-7eca1000 Deferred setupapi<elf> -PE 7ec40000-7eca1000 \ setupapi ELF 7eca1000-7ecb5000 Deferred libnss_files.so.2 ELF 7ecb5000-7ecd0000 Deferred libnsl.so.1 ELF 7ecd0000-7ecde000 Deferred libnss_nis.so.2 ELF 7eede000-7efe0000 Deferred libm.so.6 ELF 7efe7000-7f000000 Dwarf hid<elf> -PE 7eff0000-7f000000 \ hid ELF f7b10000-f7b1a000 Deferred libnss_compat.so.2 ELF f7b20000-f7b25000 Deferred libdl.so.2 ELF f7b25000-f7d01000 Deferred libc.so.6 ELF f7d01000-f7d20000 Deferred libpthread.so.0 ELF f7d40000-f7efb000 Dwarf libwine.so.1 ELF f7efd000-f7f25000 Deferred ld-linux.so.2 Threads: process tid prio (all id:s are in hex) 00000008 cmd.exe 00000009 0 0000000e services.exe 00000020 0 0000001b 0 00000013 0 00000010 0 0000000f 0 00000011 winedevice.exe 00000018 0 00000017 0 00000016 0 00000012 0 00000019 plugplay.exe 0000001d 0 0000001c 0 0000001a 0 0000001e winedevice.exe 00000027 0 00000026 0 00000025 0 00000022 0 00000021 0 0000001f 0 00000023 explorer.exe 0000002a 0 00000029 0 00000028 0 00000024 0 0000002b (D) Z:\home\gerold\Desktop\hid_test.exe 0000002c 0 <== System information: Wine build: wine-4.4 Platform: i386 (WOW64) Version: Windows 7 Host system: Linux Host version: 4.15.0-46-generic
Z:\home\gerold\Desktop>
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #29 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63971 --> https://bugs.winehq.org/attachment.cgi?id=63971 Trace from "hid_test.exe"
EXE extracted from "winetest.exe" downloaded here http://test.winehq.org/data/
https://bugs.winehq.org/show_bug.cgi?id=46711
Gerold Gerold.Ruhland@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|4.2 |4.4
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #30 from Gerold Gerold.Ruhland@gmail.com --- That hid_test.exe is crashing has nothing to do with the HID device I want to read from. I disconnected this device and changed the permissions for my USB mouse (currently MS Wireless IntelliMouse Explorer 2.0). Same exception error!
gerold@MINT19-0:~/Desktop/Moveslink$ ls -l /sys/class/hidraw total 0 lrwxrwxrwx 1 root root 0 Mar 24 2019 hidraw0 -> ../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:045E:00E1.0001/hidraw/hidraw0 lrwxrwxrwx 1 root root 0 Mar 24 2019 hidraw1 -> ../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:13BA:0018.0002/hidraw/hidraw1 lrwxrwxrwx 1 root root 0 Mar 24 2019 hidraw2 -> ../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:13BA:0018.0003/hidraw/hidraw2
gerold@MINT19-0:~/Desktop/Moveslink$ ls -l /dev/hidraw0 crw------- 1 root root 241, 0 Mar 24 2019 /dev/hidraw0
gerold@MINT19-0:~/Desktop/Moveslink$ sudo chmod 666 /dev/hidraw0 [sudo] password for gerold:
gerold@MINT19-0:~/Desktop/Moveslink$ ls -l /dev/hidraw0 crw-rw-rw- 1 root root 241, 0 Mar 24 2019 /dev/hidraw0
gerold@MINT19-0:~/Desktop/Moveslink$ wine hid_test.exe device.c:47: Found device L"" (0c, 01) wine: Unhandled page fault on write access to 0x00000000 at address 0x7b444e1a (thread 0009), starting debugger... 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x7b444e1a). 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7b444e1a ESP:0060f930 EBP:0060f958 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:00000000 ECX:8135ef00 EDX:0000000c ESI:0060f998 EDI:00000000 Stack dump: 0x0060f930: 00000001 7b448f66 0060f960 00000050 0x0060f940: 00000050 7b444de6 0060f970 00000000 0x0060f950: 00000050 0060f998 0060f9c8 7eff94a3 0x0060f960: 00000050 000b01a8 7eff93b5 7eff94a3 0x0060f970: 00000050 0060f998 00000000 00000001 0x0060f980: 0060f9c4 00000000 00000000 0060f9e0 Backtrace: =>0 0x7b444e1a GetOverlappedResult+0x4a() in kernel32 (0x0060f958) 1 0x7eff94a3 HidD_FreePreparsedData+0xffffffff() in hid (0x0060f9c8) 2 0x7eff9ac5 HidD_GetPreparsedData+0x54() in hid (0x0060fa08) 3 0x00401b41 in hid_test (+0x1b40) (0x0060faf8) 4 0x004021bb in hid_test (+0x21ba) (0x0060fce8) 5 0x00402e66 in hid_test (+0x2e65) (0x0060fd38) 6 0x00404cf4 in hid_test (+0x4cf3) (0x0060fde8) 7 0x004013e2 EntryPoint+0xffffffff() in hid_test (0x0060fec0) 8 0x7b467b72 call_process_entry+0x11() in kernel32 (0x0060fed8) 9 0x7b469aae ExitProcess+0x1f2d() in kernel32 (0x0060ffd8) 10 0x7b467b7e call_process_entry+0x1d() in kernel32 (0x0060ffec) 0x7b444e1a GetOverlappedResult+0x4a in kernel32: movl %edx,0x0(%edi) Modules: Module Address Debug info Name (41 modules) PE 400000- 40b000 Export hid_test ELF 7b400000-7b803000 Dwarf kernel32<elf> -PE 7b420000-7b803000 \ kernel32 ELF 7bc00000-7bd09000 Deferred ntdll<elf> -PE 7bc10000-7bd09000 \ ntdll ELF 7c000000-7c004000 Deferred <wine-loader> ELF 7e45f000-7e483000 Deferred imm32<elf> -PE 7e470000-7e483000 \ imm32 ELF 7e520000-7e552000 Deferred libexpat.so.1 ELF 7e552000-7e59d000 Deferred libfontconfig.so.1 ELF 7e59d000-7e5bc000 Deferred libz.so.1 ELF 7e5bc000-7e5f6000 Deferred libpng16.so.16 ELF 7e5f6000-7e6b3000 Deferred libfreetype.so.6 ELF 7e6b3000-7e6d6000 Deferred libtinfo.so.5 ELF 7e6d6000-7e6fc000 Deferred libncurses.so.5 ELF 7e71c000-7e7d7000 Deferred msvcrt<elf> -PE 7e730000-7e7d7000 \ msvcrt ELF 7e7d7000-7e85e000 Deferred rpcrt4<elf> -PE 7e7e0000-7e85e000 \ rpcrt4 ELF 7e85e000-7e878000 Deferred version<elf> -PE 7e860000-7e878000 \ version ELF 7e878000-7e8f3000 Deferred advapi32<elf> -PE 7e890000-7e8f3000 \ advapi32 ELF 7e8f3000-7ea24000 Deferred gdi32<elf> -PE 7e900000-7ea24000 \ gdi32 ELF 7ea24000-7ec30000 Deferred user32<elf> -PE 7ea40000-7ec30000 \ user32 ELF 7ec30000-7eca1000 Deferred setupapi<elf> -PE 7ec40000-7eca1000 \ setupapi ELF 7eea1000-7eeb5000 Deferred libnss_files.so.2 ELF 7eeb5000-7eed0000 Deferred libnsl.so.1 ELF 7eed0000-7eede000 Deferred libnss_nis.so.2 ELF 7eede000-7efe0000 Deferred libm.so.6 ELF 7efe7000-7f000000 Dwarf hid<elf> -PE 7eff0000-7f000000 \ hid ELF f7b73000-f7b78000 Deferred libdl.so.2 ELF f7b78000-f7d54000 Deferred libc.so.6 ELF f7d54000-f7d73000 Deferred libpthread.so.0 ELF f7d76000-f7d80000 Deferred libnss_compat.so.2 ELF f7d93000-f7f4e000 Dwarf libwine.so.1 ELF f7f50000-f7f78000 Deferred ld-linux.so.2 Threads: process tid prio (all id:s are in hex) 00000008 (D) Z:\home\gerold\Desktop\Moveslink\hid_test.exe 00000009 0 <== 0000000e services.exe 00000021 0 0000001c 0 00000018 0 00000013 0 00000010 0 0000000f 0 00000011 winedevice.exe 00000019 0 00000017 0 00000016 0 00000012 0 0000001a plugplay.exe 0000001e 0 0000001d 0 0000001b 0 0000001f winedevice.exe 00000028 0 00000027 0 00000026 0 00000023 0 00000022 0 00000020 0 00000024 explorer.exe 0000002b 0 0000002a 0 00000029 0 00000025 0 System information: Wine build: wine-4.4 Platform: i386 (WOW64) Version: Windows 7 Host system: Linux Host version: 4.15.0-46-generic gerold@MINT19-0:~/Desktop/Moveslink$
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #31 from Gerold Gerold.Ruhland@gmail.com --- How to find out why
HidD_GetProductString HidD_GetSerialNumberString HidD_GetManufacturerString
are always returning empty strings since Wine 3.3 (maybe later versions may work, but since 3.14 it does not work anymore)
I can not use IOCTL_HID_GET_PRODUCT_STRING from my application to do more tests.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #32 from Zebediah Figura z.figura12@gmail.com --- 0022:warn:plugplay:get_sysattr_string Could not get manufacturer from device
I'm not sure what to say; this means that udev_device_get_sysattr_value() is returning NULL.
Are you sure this worked in 3.3?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #33 from Gerold Gerold.Ruhland@gmail.com ---
Are you sure this worked in 3.3?
1000 (in words ONE THOUSAND) %
Used the HID device again today with CrossOver 17.5.1 (WINE 2.8)
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #34 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #33)
Are you sure this worked in 3.3?
1000 (in words ONE THOUSAND) %
Used the HID device again today with CrossOver 17.5.1 (WINE 2.8)
Can you attach a log with the same flags in 3.3?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #35 from Gerold Gerold.Ruhland@gmail.com ---
Can you attach a log with the same flags in 3.3?
I dont have a machine with this Wine version anymore, but I can give you the log from CrossOver 17.5.1 with Wine 2.8
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #36 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63981 --> https://bugs.winehq.org/attachment.cgi?id=63981 CrossOver log from HIDTest.exe
CrossOver 17.5.1 with Wine 2.8 HIDTest.exe is my own test program !!!
HidD_GetManufacturerString for example is returning the correct string via hid:handle_minidriver_string
https://bugs.winehq.org/show_bug.cgi?id=46711
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aric@codeweavers.com
--- Comment #37 from Zebediah Figura z.figura12@gmail.com --- Possibly https://source.winehq.org/git/wine.git/commitdiff/164517fe575564daa44f74cc3b... is to blame, though if that's the case it should have worked in 3.2 and failed in 3.3.
Aric, can you offer any insight as to why udev_device_get_sysattr_value() would fail?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #38 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 63984 --> https://bugs.winehq.org/attachment.cgi?id=63984 Trace log from hid_test.exe (Wine 3.0)
Made a test with "hid_test.exe" (from http://test.winehq.org/data/)
This old laptop has a Wine 3.0 version installed and your "hid_test.exe" is able to get the product string via HidD_GetProductString. Your test program does not seem to read the Manufacturer string or SerialNumber. Did not found any calls in the log file.
My own test program does return the correct strings.
Is there any debug version of wine avaible and how can I install it? Maybe the problem can be found using IDA?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #39 from Gerold Gerold.Ruhland@gmail.com --- I visited the Wine Developer's Guide/Debugging Wine and tried with WineDbg, but that could not lead me to the problem, why as example "HidD_GetManufacturerString" under Wine 4.4 does return an empty string.
I also tried the Windows version from the recommended GoVest and other debuggers like OllyDbg and IDA 7. Looks like the DLL "hid.dll" is always loaded and directly after that unloaded. That means, I will never get into "HidD_GetManufacturerString". The Linux version of IDA 7 did not run the Windows EXE.
My next idea is, how can I build my own version of the (hid)dll, where the functions "HidD_GetManufacturerString" etc. will return exactly the values I need for the original program for my HID device? Maybe the program will correctly run after it gets the correct values.
There exists a "hid.dll" in the system32 folder, but without any exports. Where is the source for this file? There exists also a "hid.dll.so" and I guess that the source for this file is stored in wine-4.4/dlls/hid right?
How can I compile just this file? I never compiled something under Linux and using Mint 19.1, "./configure" already fails.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #40 from Zebediah Figura z.figura12@gmail.com --- Created attachment 64030 --> https://bugs.winehq.org/attachment.cgi?id=64030 winebus.sys.so with 164517fe5 reverted
(In reply to Gerold from comment #39)
I visited the Wine Developer's Guide/Debugging Wine and tried with WineDbg, but that could not lead me to the problem, why as example "HidD_GetManufacturerString" under Wine 4.4 does return an empty string.
winedbg is not generally a very efficient way to determine what is wrong, especially here, since the problem seems to be in the interface with udev.
I also tried the Windows version from the recommended GoVest and other debuggers like OllyDbg and IDA 7. Looks like the DLL "hid.dll" is always loaded and directly after that unloaded. That means, I will never get into "HidD_GetManufacturerString". The Linux version of IDA 7 did not run the Windows EXE.
Probably something is wrong with the debuggers. DLL loading is working correctly according to the logs.
My next idea is, how can I build my own version of the (hid)dll, where the functions "HidD_GetManufacturerString" etc. will return exactly the values I need for the original program for my HID device? Maybe the program will correctly run after it gets the correct values.
By compiling Wine from source.
There exists a "hid.dll" in the system32 folder, but without any exports. Where is the source for this file? There exists also a "hid.dll.so" and I guess that the source for this file is stored in wine-4.4/dlls/hid right?
The "hid.dll" is a fake DLL, it's expected to look like that. I don't know where hid.dll.so is under your distribution.
How can I compile just this file?
./configure; make __builddeps__; make -C dlls/hid
I never compiled something under Linux and using Mint 19.1, "./configure" already fails.
With what error?
Anyway, if you're not comfortable compiling Wine from source, can you try replacing winebus.sys.so with the attached file? It contains 164517fe5 reverted.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #41 from Gerold Gerold.Ruhland@gmail.com ---
Anyway, if you're not comfortable compiling Wine from source, can you try replacing winebus.sys.so with the attached file? It contains 164517fe5 reverted.
Do I have to replace the attached file with the one stored in /opt/wine-devel/lib64/wine or /opt/wine-devel/lib/wine
???
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #42 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #41)
Anyway, if you're not comfortable compiling Wine from source, can you try replacing winebus.sys.so with the attached file? It contains 164517fe5 reverted.
Do I have to replace the attached file with the one stored in /opt/wine-devel/lib64/wine or /opt/wine-devel/lib/wine
???
That's the 32-bit .so, so the latter. It'll need a 32-bit prefix however. I don't have a 64-bit build tree handy at the moment.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #43 from Gerold Gerold.Ruhland@gmail.com ---
Do I have to replace the attached file with the one stored in /opt/wine-devel/lib64/wine or /opt/wine-devel/lib/wine
???
That's the 32-bit .so, so the latter. It'll need a 32-bit prefix however. I don't have a 64-bit build tree handy at the moment.
Looks like I need the 64-Bit version. When I replace the attached file with the one in "/opt/wine-devel/lib/wine", than it's like before. It does not change anything.
When I replace the file in "/opt/wine-devel/lib64/wine", it's even worse (maybe cause of it's not the 64-Bit version):
gerold@MINT19-1:~/Desktop/Moveslink$ wine HIDTest.exe 0021:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\WineBus": c0000142 0014:err:service:process_send_command service protocol error - failed to write pipe! 000f:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1114
The test program starts, but it does not find a HID device.
Same result with you "hid_test.exe"
gerold@MINT19-1:~/Desktop/Moveslink$ wine hid_test 0021:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\WineBus": c0000142 0014:err:service:process_send_command service protocol error - failed to write pipe! 000f:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1114 device.c:246: No device found for reading device.c:331: No device found for testing 0008:device: 0 tests executed (0 marked as todo, 0 failures), 0 skipped.
BTW: What do you mean with "It'll need a 32-bit prefix however". Do I have to rename the file?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #44 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #43)
BTW: What do you mean with "It'll need a 32-bit prefix however". Do I have to rename the file?
Create a new prefix, with WINEPREFIX=path/to/new/prefix WINEARCH=win32 (and set WINEPREFIX to the same value when running the program).
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #45 from Gerold Gerold.Ruhland@gmail.com --- OK. I misunderstood you and thought you mean "file prefix". Sorry.
I created a new prefix with WINEARCH=win32 WINEPREFIX=/$HOME/.win32 winecfg Did not found the folder "Program Files (x86)" in "$HOME/.win32" so I guess this is a working win32 configuration.
Started "regedit.exe" to disable SDL WINEPREFIX="$HOME/.wine32/" wine regedit.exe
Started the test program with WINEPREFIX="$HOME/.wine32/" wine HIDTest.exe Result: HID device detected but could not get manufacturer string
Replaced the "winbus.sys.so" file in "/opt/wine-devel/lib"
Started the test program with WINEPREFIX="$HOME/.wine32/" wine HIDTest.exe Result: No HID device detected!!!
Started your test program to make another test: gerold@MINT19-1:~/Desktop/Moveslink$ WINEPREFIX=~/.wine32/ wine hid_test.exe device.c:246: No device found for reading device.c:331: No device found for testing 0008:device: 0 tests executed (0 marked as todo, 0 failures), 0 skipped.
So maybe I need the 64-Bit version even if my test program is a 32-Bit application or the "winbus.sys.so" is not the one I need.
I saw, that there is a new Wine maintenance release 3.0.5 available. How can I install it (without uninstalling Wine development release 4.4)?
What Linux are you using? I could setup another PC to have the same environment. Maybe it makes it easier. I am retired and got the time for that.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #46 from Gerold Gerold.Ruhland@gmail.com ---
How can I compile just this file?
./configure; make __builddeps__; make -C dlls/hid
I never compiled something under Linux and using Mint 19.1, "./configure" already fails.
With what error?
gerold@MINT19-1:~/Downloads/0 - Wine/wine-4.4$ ./configure; make __builddeps__; make -C dlls/hid checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for g++... no checking for c++... no checking for gpp... no checking for aCC... no checking for CC... no checking for cxx... no checking for cc++... no checking for cl.exe... no checking for FCC... no checking for KCC... no checking for RCC... no checking for xlC_r... no checking for xlC... no checking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... no checking for cpp... cpp checking for ld... ld checking whether gcc -m32 works... no configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries. make: *** No rule to make target '__builddeps__'. Stop. make: Entering directory '/home/gerold/Downloads/0 - Wine/wine-4.4/dlls/hid' make: *** No targets specified and no makefile found. Stop. make: Leaving directory '/home/gerold/Downloads/0 - Wine/wine-4.4/dlls/hid'
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #47 from Gerold Gerold.Ruhland@gmail.com --- This seems to work ./configure --enable-win64
At least only some warnings at the end:
configure: WARNING: No OpenGL library found on this system. OpenGL and Direct3D won't be supported. configure: WARNING: libxml2 64-bit development files not found (or too old), XML won't be supported. configure: WARNING: libxslt 64-bit development files not found, xslt won't be supported. configure: WARNING: libgnutls 64-bit development files not found, no schannel support. configure: WARNING: libjpeg 64-bit development files not found, JPEG won't be supported. configure: WARNING: No sound system was found. Windows applications will be silent. configure: Finished. Do 'make' to compile Wine.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #48 from Gerold Gerold.Ruhland@gmail.com --- Guess I have to get rid off this error first:
configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.
Did not find a solution using Google yet.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #49 from Austin English austinenglish@gmail.com --- (In reply to Gerold from comment #48)
Guess I have to get rid off this error first:
configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.
Did not find a solution using Google yet.
You need 32-bit development libraries. These pages may be helpful: https://wiki.winehq.org/Building_Wine https://wiki.winehq.org/Building_Biarch_Wine_On_Ubuntu
if not, the forum can help provide support to build wine.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #50 from Zebediah Figura z.figura12@gmail.com --- I've finally managed to reproduce this on my own machine, so I should be able to debug and fix it myself now. Sorry for the runaround.
--- Comment #51 from Zebediah Figura z.figura12@gmail.com --- I've sent a patch (https://source.winehq.org/patches/data/161946) that restores missing device strings, and another (https://source.winehq.org/patches/data/161945) that fixes the crash in hid:device test.
If you can supply your HIDTest.exe program, or (better yet) the source thereof, I'll try to test with that and make sure it's working.
--- Comment #52 from Gerold Gerold.Ruhland@gmail.com ---
I've sent a patch (https://source.winehq.org/patches/data/161946) that restores missing device strings, and another (https://source.winehq.org/patches/data/161945) that fixes the crash in hid:device test.
Great news!
I assume, that these fixes are not yet in Wine 4.5 devel and that I have to build a new version myself. Or are there any packages already available with the changes?
Do I still need to disable SDL or do you think I can leave SDL enabled now? I don't need SDL I guess, cause I don't use a Joystick or Gamepad as I don't play games.
If you can supply your HIDTest.exe program, or (better yet) the source thereof, I'll try to test with that and make sure it's working.
I will attach these files tonight when I am back home.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #53 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #52)
Do I still need to disable SDL or do you think I can leave SDL enabled now? I don't need SDL I guess, cause I don't use a Joystick or Gamepad as I don't play games.
Disabling SDL is still necessary to use evdev, yes. This should be resolved too, but it may take a bit of thought.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #54 from Gerold Gerold.Ruhland@gmail.com --- Created attachment 64043 --> https://bugs.winehq.org/attachment.cgi?id=64043 HIDTest - Delphi Source and EXE
If you can supply your HIDTest.exe program, or (better yet) the source thereof, I'll try to test with that and make sure it's working.
Delphi Source and EXE from the program I used to test some major HID functions.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #55 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #54)
Created attachment 64043 [details] HIDTest - Delphi Source and EXE
If you can supply your HIDTest.exe program, or (better yet) the source thereof, I'll try to test with that and make sure it's working.
Delphi Source and EXE from the program I used to test some major HID functions.
Thanks, that seems to work for me with the aforementioned patch to winebus.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #56 from Gerold Gerold.Ruhland@gmail.com --- Do you have an idea when these patches will build in the next devel release?
I tried to create a 32-Bit version on my 64-Bit system but without success. At the end I had to reinstall everything. Could not install any other Wine version anymore. Always the error message for held packages but which one was not mentioned. Checked all log files I found on my system.
Is there a nightly build available that I can install?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #57 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #56)
Do you have an idea when these patches will build in the next devel release?
I tried to create a 32-Bit version on my 64-Bit system but without success. At the end I had to reinstall everything. Could not install any other Wine version anymore. Always the error message for held packages but which one was not mentioned. Checked all log files I found on my system.
Is there a nightly build available that I can install?
There are no nightly builds that I'm aware of, and the patches haven't been accepted yet anyway. If they're accepted, I anticipate that 4.6 will include them.
https://bugs.winehq.org/show_bug.cgi?id=46711
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |winebus.sys Keywords| |regression Regression SHA1| |164517fe575564daa44f74cc3bc | |4a6bbdd7d3f3d Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |cc3820ca99e65150958af5410ac | |2de77f9a4a505
--- Comment #58 from Zebediah Figura z.figura12@gmail.com --- Committed as https://source.winehq.org/git/wine.git/commitdiff/a0a3b6b90e2d938200bbe86fd131e1ed320d2744 and https://source.winehq.org/git/wine.git/commitdiff/cc3820ca99e65150958af5410ac2de77f9a4a505.
There were several problems uncovered by this bug, but the most central one was probably USB string reporting, so filling in fields accordingly.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #59 from Gerold Gerold.Ruhland@gmail.com --- It took me 2 days but finally I managed to create a 32-Bit version of Wine 4.4 with your patches. I can confirm, that your test-program "hid_test.exe" is working now (did not crash anymore) and my test-program "HIDTest.exe" is also working.
Another test-program returned the following error: wine: Call from 0x7b441f9c to unimplemented function hid.dll.HidD_GetIndexedString, aborting
Maybe this can be implemented too.
The original program for this HID device is now also able to detect and work with the device. I only saw this error message for now:
0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
Maybe not important for the original program, cause everything worked fine so far.
BTW: After using ./configure I got a lot of messages telling me, that libs are not installed. I only installed these libs to get a working version with your patch:
sudo apt-get install libc-dev sudo apt-get install libx11-dev sudo apt-get install libfreetype6-dev:i386 sudo apt-get install libudev-dev:i386 sudo apt-get install libgnutls28-devel:i386
(for Linux Mint 19-1 32-Bit Mate)
Exists a script or command to install all missing libs faster?
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #60 from Gerold Gerold.Ruhland@gmail.com --- Removing and re-installing "winbind" fixed this error:
0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #61 from Gerold Gerold.Ruhland@gmail.com --- Just noticed, that it is NOT necessary to disable SDL in Wine 4.4 after compiling with your patches. Everything is working with SDL enabled.
I also noticed, that the function "HidD_GetIndexedString" is available in CrossOver 18.5 based on Wine 4.0, which I found strange. Has this function deleted in Wine 4.4 and if yes, why?
Another thing I found out is, that all fake dll's in CrossOver seems to export the DLL functions, but not the fake dll's from Wine. Why do you do this? I am sure it would make Wine more compatible.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #62 from Zebediah Figura z.figura12@gmail.com --- (In reply to Gerold from comment #59)
Another test-program returned the following error: wine: Call from 0x7b441f9c to unimplemented function hid.dll.HidD_GetIndexedString, aborting
Maybe this can be implemented too.
Sure. It'd be nice to file a new bug for it.
BTW: After using ./configure I got a lot of messages telling me, that libs are not installed. I only installed these libs to get a working version with your patch:
sudo apt-get install libc-dev sudo apt-get install libx11-dev sudo apt-get install libfreetype6-dev:i386 sudo apt-get install libudev-dev:i386 sudo apt-get install libgnutls28-devel:i386
(for Linux Mint 19-1 32-Bit Mate)
Exists a script or command to install all missing libs faster?
Those are probably the only really important ones, yes.
apt at least has a command to install all build-time dependencies of a package, and probably other distributions do as well, though I think it'll end up installing much more than that that's not really necessary.
One of the things high on my to-do list is to improve our instructions for building Wine, to make it clearer what dependencies are needed and what for.
(In reply to Gerold from comment #61)
Just noticed, that it is NOT necessary to disable SDL in Wine 4.4 after compiling with your patches. Everything is working with SDL enabled.
I would guess that's because you were missing libsdl-dev when compiling ;-)
I also noticed, that the function "HidD_GetIndexedString" is available in CrossOver 18.5 based on Wine 4.0, which I found strange. Has this function deleted in Wine 4.4 and if yes, why?
No, I guess it was just never added. I don't know why that would be the case.
Another thing I found out is, that all fake dll's in CrossOver seems to export the DLL functions, but not the fake dll's from Wine. Why do you do this? I am sure it would make Wine more compatible.
Anti-cheat and anti-tamper systems generally need this; most programs don't. It's not in upstream Wine yet because the patches that exist for it do it in what is presumably a somewhat distasteful way. In Wine correctness is necessary for all patches to be submitted, but for CrossOver I can only imagine that making applications run would be more important.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #63 from Gerold Gerold.Ruhland@gmail.com --- (In reply to Zebediah Figura from comment #62)
(In reply to Gerold from comment #61)
Just noticed, that it is NOT necessary to disable SDL in Wine 4.4 after compiling with your patches. Everything is working with SDL enabled.
I would guess that's because you were missing libsdl-dev when compiling ;-)
You are right. "libsdl1.2" was installed and I tought that Wine is compiled with SDL enabled in this case. Only after installing "libsdl2" I had to disable SDL to get my test program working.
Regarding HidD_GetIndexedString. I have read, that there are HID devices (or the HID driver), where HidD_GetSerialNumber is returning an empty string and in this case HidD_GetIndexedString is used to get the serial number. It seems, this is what my other test-program (without source) is doing (at least for the MS-Mouse or the BarCode Reader, cause they don't have a serial number). I changed my own test-program, so that it will log the results of HidD_GetIndexedString with index 0,1,2 and 3. For my Ambit, the serial number is also returned using index 3, but it does not look like that this is valid for all HID devices.
https://bugs.winehq.org/show_bug.cgi?id=46711
--- Comment #64 from Gerold Gerold.Ruhland@gmail.com ---
I also noticed, that the function "HidD_GetIndexedString" is available in CrossOver 18.5 based on Wine 4.0, which I found strange. Has this function deleted in Wine 4.4 and if yes, why?
No, I guess it was just never added. I don't know why that would be the case.
I have to correct myself.
With my new test-program "HidTest.exe" I checked out "HidD_GetIndexedString" in CrossOver again. It is exported, but the function does not return a value. Seems to be a stub only.
I will try to add this function into my patched 4.4 version.
https://bugs.winehq.org/show_bug.cgi?id=46711
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #65 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.6.
https://bugs.winehq.org/show_bug.cgi?id=46711
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|winebus.sys |hid
https://bugs.winehq.org/show_bug.cgi?id=46711
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.0.x
https://bugs.winehq.org/show_bug.cgi?id=46711
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.x |---
--- Comment #66 from Michael Stefaniuc mstefani@winehq.org --- Removing the 4.0.x milestone from bug fixes included in 4.0.2.