Most recent kernel where this bug did *NOT* occur: 2.6.20-rc4 Distribution: Ubuntu Hardware Environment: atlon xp1700, usb mouse ID 1267:0210 Logic3 / SpectraVideo plc Software Environment: Problem Description: Using the wheel as a button does not work with kernels after 2.6.20-rc4. The 3rd button has to be emulated pressing bother left and right buttons at the same time. Does not matter if the mouse is connected to a hub or one of the ports on the motherboard. Using git bisect I narrowed the problem down to commit 35068976916fdef82d6e69ef1f8c9a1c47732759 I had been using the master branch with that commit reverted. With the commit reverted the mouse works normally again. lsusb -d 1267:0210 -v Bus 001 Device 003: ID 1267:0210 Logic3 / SpectraVideo plc Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x1267 Logic3 / SpectraVideo plc idProduct 0x0210 bcdDevice 0.01 iManufacturer 0 iProduct 2 PS/2+USB Mouse iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 72 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0000 (Bus Powered)
Reply-To: akpm@linux-foundation.org How'd we manage to break it between -rc4 and -final? :( Begin forwarded message: Date: Tue, 27 Feb 2007 13:10:19 -0800 From: bugme-daemon@bugzilla.kernel.org To: bugme-new@lists.osdl.org Subject: [Bugme-new] [Bug 8099] New: middle button on usb mouse not working http://bugzilla.kernel.org/show_bug.cgi?id=8099 Summary: middle button on usb mouse not working Kernel Version: 2.6.20 Status: NEW Severity: normal Owner: greg@kroah.com Submitter: boddingt@internode.on.net Most recent kernel where this bug did *NOT* occur: 2.6.20-rc4 Distribution: Ubuntu Hardware Environment: atlon xp1700, usb mouse ID 1267:0210 Logic3 / SpectraVideo plc Software Environment: Problem Description: Using the wheel as a button does not work with kernels after 2.6.20-rc4. The 3rd button has to be emulated pressing bother left and right buttons at the same time. Does not matter if the mouse is connected to a hub or one of the ports on the motherboard. Using git bisect I narrowed the problem down to commit 35068976916fdef82d6e69ef1f8c9a1c47732759 I had been using the master branch with that commit reverted. With the commit reverted the mouse works normally again. lsusb -d 1267:0210 -v Bus 001 Device 003: ID 1267:0210 Logic3 / SpectraVideo plc Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x1267 Logic3 / SpectraVideo plc idProduct 0x0210 bcdDevice 0.01 iManufacturer 0 iProduct 2 PS/2+USB Mouse iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 72 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0000 (Bus Powered) ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
I am unfortunately not able to reproduce it with my USB mouse. Could you please compile the kernel with debugging hid/usbhid options turned on (*) and send me the output? (both from working and non-working configurations). Also output from evtest /dev/input/event<number_corresponding_to_mouse> would be helpful. (*) on pre-2.6.21-rc1 kernel this means adding #define DEBUG #define DEBUG_DATA to hid/hid-core.c and usb/input/hid-core.c and hid/hid-input.c. (the defines must of course be placed below corresponding #undef, if there are any). On 2.6.21-rc1 the HID debugging can be turned on in menuconfig menu, in HID devices section.
On Tue, 27 Feb 2007, Andrew Morton wrote: > How'd we manage to break it between -rc4 and -final? :( > Begin forwarded message: > Date: Tue, 27 Feb 2007 13:10:19 -0800 > From: bugme-daemon@bugzilla.kernel.org > To: bugme-new@lists.osdl.org > Subject: [Bugme-new] [Bug 8099] New: middle button on usb mouse not working Well one more example of exhausting fight with broken devices. It's not a real showstopper - it's not that it breaks middle button on all usb mice for everyone; might be that it breaks only for this specific kind of device/setup. Anyway, I will handle this.
Created attachment 10551 [details] fix for non-working middle wheel as a button for 0x1267:0x0210 in 2.6.20 I am going to push upstream this patch, which fixes the problem. Please read comments in the patch text for detailed explanation.
I compiled 2.6.20 with your patch and the mouse now works as expected. Evtest shows a clean button press and clean release. Thanks. I had collected the data you had asked for a little bit before you posted about the patch. A snippet just from evtest. This was for 2.6.20-rc4 Event: time 1172650582.378177, type 1 (Key), code 274 (MiddleBtn), value 1 Event: time 1172650582.378200, type 0 (Reset), code 0 (Reset), value 0 Event: time 1172650582.578139, type 1 (Key), code 274 (MiddleBtn), value 0 Event: time 1172650582.578165, type 0 (Reset), code 0 (Reset), value 0 and with a later kernel where the button was not working I was getting Event: time 1172650946.195169, type 1 (Key), code 274 (MiddleBtn), value 1 Event: time 1172650946.195174, type 1 (Key), code 274 (MiddleBtn), value 0 Event: time 1172650946.195189, type 0 (Reset), code 0 (Reset), value 0
Patch has been merged upstream, closing bug.