https://bugs.winehq.org/show_bug.cgi?id=41722
Bug ID: 41722 Summary: hidtest.exe crashes if Microsoft Natural Ergonomic Keyboard 4000 or Stamps.com Digital Scale is plugged in Product: Wine Version: 1.9.23 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: hid Assignee: wine-bugs@winehq.org Reporter: alexhenrie24@gmail.com Distribution: ---
With the patch for HidP_GetSpecificButtonCaps patch from this morning, hidtest.exe correctly detects my Logitech mouse :-D However, it has a pagefault if my keyboard or scale is plugged in.
https://bugs.winehq.org/show_bug.cgi?id=41722
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |hardware CC| |aric@codeweavers.com URL| |http://initprog.org/hidtest | |.exe/en-download-1632.html Depends on| |41721
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #1 from Alex Henrie alexhenrie24@gmail.com --- Created attachment 56145 --> https://bugs.winehq.org/attachment.cgi?id=56145 WINEDEBUG=+hid
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #2 from Alex Henrie alexhenrie24@gmail.com --- Created attachment 56146 --> https://bugs.winehq.org/attachment.cgi?id=56146 lsusb -v
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #3 from Aric Stewart aric@codeweavers.com --- Is that the full +hid log, Can I also see +plugplay? I am not seeing the descriptor parser which would be interesting.
Keyboards are evil right now so I can imagine problems there.
-aric
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #4 from Alex Henrie alexhenrie24@gmail.com --- Created attachment 56148 --> https://bugs.winehq.org/attachment.cgi?id=56148 winebus debug output for scale
I think this is what you're looking for. The attached log was created by running `WINEDEBUG=+hid,+plugplay ./wine net start winebus` with only the scale plugged in.
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #5 from Aric Stewart aric@codeweavers.com --- Created attachment 56149 --> https://bugs.winehq.org/attachment.cgi?id=56149 Hid test client (old)
Here try this hclient.exe test. This is the old one from the ddk that works for me. I cannot get hidtest.exe you link to working here yet.
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #6 from Austin English austinenglish@gmail.com --- The content of attachment 56149 has been deleted for the following reason:
Don't attach copyrighted binaries
https://bugs.winehq.org/show_bug.cgi?id=41722
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #7 from Alex Henrie alexhenrie24@gmail.com --- The old hclient runs under Wine and detects the scale. However, there are major discrepancies between what hclient reports on Wine and what hclient reports on Windows. To give you a general idea...
Windows says that the usage page is 0x8D. Wine says 0xFF8D.
Windows says that the version number is 0x110. Wine says 0x1.
Windows says that there are 3 feature buttons. Wine says 0.
Windows says that there are 4 feature values. Wine says 7.
Windows says that there are 2 input buttons. Wine says 0.
Windows says that there are 2 input values. Wine says 4.
Windows says that there is 1 output button. Wine says 0.
Windows says that there is 1 output value. Wine says 2.
https://bugs.winehq.org/show_bug.cgi?id=41722
--- Comment #8 from Aric Stewart aric@codeweavers.com --- Thanks for those data points.
I have long suspected that windows treats any element with a data size of 1 bit as a button even if the usage page is not the button usage page.
And this shows that. Plugging the report descriptor from your device into the report descriptor parser. (http://eleccelerator.com/usbdescreqparser/) I see a number of 1 bit elements that we report as values, but look like they should be reported as buttons.
Here is the report descriptor from your log, copied here for ease:
5 8d 9 20 a1 1 9 30 a1 2 85 1 75 8 95 1 15 1 25 c 9 27 a1 2 19 21 29 2a b1 0 c0 9 50 a1 2 19 51 29 5c b1 0 c0 c0 9 31 a1 2 85 2 75 1 95 2 15 0 25 1 19 80 29 81 91 2 75 6 95 1 91 3 c0 9 32 a1 2 85 3 75 8 15 1 9 70 a1 2 25 8 19 71 29 78 81 0 c0 9 50 a1 2 25 c 19 51 29 5c 81 0 c0 15 81 25 7f 9 41 81 2 75 10 15 0 27 ff ff 0 0 9 40 81 2 c0 9 34 a1 2 85 5 75 8 95 1 9 50 a1 2 15 1 25 c 19 51 29 5c b1 0 c0 15 81 25 7f 9 41 b1 2 75 10 15 0 27 ff ff 0 0 9 40 b1 3 c0 9 35 a1 2 85 6 75 10 95 2 15 0 27 ff ff 0 0 9 60 9 61 b1 3 c0 9 3a a1 2 85 6 9 ff 15 0 26 ff 0 75 8 95 7 91 2 c0 c0
https://bugs.winehq.org/show_bug.cgi?id=41722 Bug 41722 depends on bug 41721, which changed state.
Bug 41721 Summary: hidtest.exe crashes on unimplemented function hid.dll.HidP_GetSpecificButtonCaps https://bugs.winehq.org/show_bug.cgi?id=41721
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED