On Sun, 21 Aug 2005, Jamie Guinan wrote: > On Thu, 26 May 2005, jklaas wrote: > > > I bought two MP-8866 based Playstation to USB controllers. One works > > fine, the other doesn't. I haven't sniffed it on windows yet, and I'm > > hoping to see if I can resolve this from Linux only. > > > > Here's the output from dmesg: > > > > usb 1-1: new low speed USB device using ohci_hcd and address 6 > > input: USB HID v1.00 Mouse [1241:1111] on usb-0000:00:03.0-1 > > usb 1-2: new low speed USB device using ohci_hcd and address 7 > > usb 1-2: string descriptor 0 read error: -32 > > usb 1-2: string descriptor 0 read error: -32 > > input: USB HID v1.00 Joystick [0925:8866] on usb-0000:00:03.0-2 > > > > The top one is the troublesome controller. > > > > Here's the lsusb fro the two of them. > > > > Bus 002 Device 003: ID 0925:8866 Lakeview Research WiseGroup Ltd, MP-8866 > > Dual Joypad > > Bus 001 Device 007: ID 0925:8866 Lakeview Research WiseGroup Ltd, MP-8866 > > Dual Joypad > > Hi, I recently got one of these too, and while it works fine in WinXP, > it shows up but does not generate any button/joystick events in Linux. > I've tried both a Sony PSX controller and a Level6 dancepad. I did > try the start+up+select trick, but that (1) didn't help, (2) wasn't > needed under XP. > > As a reference point, I have an EMS/USB unit that works absolutely > fine. While it would be cheaper/easier to just junk the WiseGroup > unit and buy another EMS, I want to at least try and figure out > what's wrong. > > I'm going to try "usbmon", and since I'm running 2.6.12, I'll go > ahead and upgrade to 2.6.13-rc6 while I'm at it.
Ok, I did get around to this, using 2.6.13 (final). The EMS unit on plug-in shows these C callbacks with data (I edited out the S lines), d242dce0 2943627131 C Ci:015:00 0 18 = 12010001 00000008 430b0300 12190102 0001 d242dce0 2943633122 C Ci:015:00 0 9 = 09022200 01010280 32 d242dce0 2943643179 C Ci:015:00 0 34 = 09022200 01010280 32090400 00010300 00020921 00010001 228e0007 05810308 d242dce0 2943730099 C Ci:015:00 0 142 = 05010904 a1018501 05091901 29101500 25013500 45017501 95108102 05010930 The usbmon log is then quiet until I start a joystick test program which does open(/dev/input/js0), then usbmon starts streaming this endlessly, d242d860 2971399609 S Ii:015:01 -115 8 D d242d860 2971415503 C Ii:015:01 0 8 D d242d860 2971415609 S Ii:015:01 -115 8 D d242d860 2971431535 C Ii:015:01 0 8 D ... I can press buttons, and the joystick test program reads them correctly... but nothing changes in usbmon log, just the same stream. Then the Wisegroup unit, on plug-in, d242d660 3095139882 C Ci:017:00 0 18 = 12010001 00000008 25096688 88020102 0001 d242d660 3095144848 C Ci:017:00 0 9 = 09022200 01010080 c8 d242d660 3095152860 C Ci:017:00 0 34 = 09022200 01010080 c8090400 00010300 00000921 00010001 22bc0007 05810307 d242d660 3095223907 C Ci:017:00 0 188 = 05010904 a1018501 0901a100 05091901 290c1500 25013500 45017501 950c8102 Again the log goes quiet until I start a joystick test app on /dev/input/js0, when it streams endlessly, d242d460 3098842266 S Ii:017:01 -115 7 D d242d460 3098850250 C Ii:017:01 0 7 D d242d460 3098850271 S Ii:017:01 -115 7 D d242d460 3098858234 C Ii:017:01 0 7 D ... I noticed that the number is different - 7 instead of 8. So I turned on DEBUG and DEBUG_DATA in hid-core.c, and I found that the EMS happily returns button info with each "report", drivers/usb/input/hid-core.c: report (size 8) (numbered) drivers/usb/input/hid-core.c: report 1 (size 7) = 00 00 80 80 80 80 41 hid-debug: input Button.0001 = 0 hid-debug: input Button.0002 = 0 ... but with the Wisegroup, hid_input_report() doesn't like what its seeing, drivers/usb/input/hid-core.c: report (size 7) (numbered) drivers/usb/input/hid-core.c: report 0 (size 6) = 00 00 00 01 00 00 drivers/usb/input/hid-core.c: undefined report_id 0 received drivers/usb/input/hid-core.c: report (size 7) (numbered) drivers/usb/input/hid-core.c: report 0 (size 6) = 00 00 00 01 00 00 drivers/usb/input/hid-core.c: undefined report_id 0 received ... thus things never propagate up to the joystick layer. On other attempts the data bytes changed, but same error, drivers/usb/input/hid-core.c: report (size 7) (numbered) drivers/usb/input/hid-core.c: report 0 (size 6) = 00 00 02 01 20 00 drivers/usb/input/hid-core.c: undefined report_id 0 received drivers/usb/input/hid-core.c: report (size 7) (numbered) drivers/usb/input/hid-core.c: report 0 (size 6) = 00 00 02 01 20 00 drivers/usb/input/hid-core.c: undefined report_id 0 received ... Hmmm... -Jamie ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel