USB2, mouse and X

From: Mattia Rossi <mrossi_at_swin.edu.au>
Date: Wed, 18 Mar 2009 16:16:20 +1100
Hi,

I've seen that there are a lot of issues with mice and the new USB2 
stack, but as my problem is still not resolved with the current kernel, 
i think it's time to report my problem:

My mouse (or maybe keyboard?) issues regard only the X window system (I 
tried fluxbox and KDE4). Mouse and keyboard are USB, attached via a USB 
hub (integrated in my monitor). They both work without flaws in the 
console, but it's a pain to write text in different windows in X. The 
typed text just doesn't get displayed some times, unless the mouse 
cursor is moved. Sometimes after typing some text, and moving the mouse 
afterwards, the text gets written, but letters will  be grouped together 
and look like this:

this iss  whahatppen

(this is what happens)

I guess it's related to the moused problems (it's a HP branded Logitech 
mouse), so here are the dumps for the mouse and keyboard, dmesg output 
and uname output:

FreeBSD 8.0-CURRENT #11 r189933M: Wed Mar 18 10:34:42 EST 2009 i386

usbus0: 12Mbps Full Speed USB 
v1.0                                                                                                                 

usbus1: 12Mbps Full Speed USB 
v1.0                                                                                                                 

usbus2: 480Mbps High Speed USB 
v2.0                                                                                                                

usbus3: 12Mbps Full Speed USB 
v1.0                                                                                                                 

usbus4: 12Mbps Full Speed USB 
v1.0                                                                                                                 

usbus5: 12Mbps Full Speed USB 
v1.0                                                                                                                 

usbus6: 480Mbps High Speed USB 
v2.0                                                                                                                

ad0: 152627MB <WDC WD1600AAJS-60B4A0 02.03A02> at ata0-master 
SATA300                                                                              

ugen0.1: <Intel> at 
usbus0                                                                                                                         

uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on 
usbus0                                                                           

ugen1.1: <Intel> at 
usbus1                                                                                                                         

uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on 
usbus1                                                                           

ugen2.1: <Intel> at 
usbus2                                                                                                                         

uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on 
usbus2                                                                           

ugen3.1: <Intel> at 
usbus3                                                                                                                         

uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on 
usbus3                                                                           

ugen4.1: <Intel> at 
usbus4                                                                                                                         

uhub4: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on 
usbus4                                                                           

ugen5.1: <Intel> at usbus5
uhub5: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus5
ugen6.1: <Intel> at usbus6
uhub6: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus6

uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub3: 2 ports with 2 removable, self powered
uhub4: 2 ports with 2 removable, self powered
uhub5: 2 ports with 2 removable, self powered
uhub2: 4 ports with 4 removable, self powered
uhub6: 6 ports with 6 removable, self powered

ugen6.2: <Standard Microsystems> at usbus6
uhub7: <Standard Microsystems product 0x2514, class 9/0, rev 2.00/0.00, 
addr 2> on usbus6
uhub7: 2 ports with 1 removable, self powered
ugen6.3: <CHICONY> at usbus6
ukbd0: <CHICONY HP Basic USB Keyboard, class 0/0, rev 1.10/3.00, addr 3> 
on usbus6
kbd2 at ukbd0
ugen6.4: <Logitech> at usbus6
ums0: <Logitech USB Optical Mouse, class 0/0, rev 2.00/43.01, addr 4> on 
usbus6
ums0: 3 buttons and [XYZ] coordinates

Keyboard:

usbconfig -u 6 -a 3 do_request 0x81 0x06 0x2200 1 0x100
REQUEST = <0x06 0x0c 0x00 0x09 0x01 0xa1 0x01 0x85 0x01 0x25 0x01 0x15 
0x00 0x75 0x01 0x0a 0x8a 0x01 0x0a 0x11 0x00 0x0a 0x12 0x00 0x0a 0x23 
0x02 0x0a 0x21 0x02 0x0a 0x13 0x00 0x0a 0x14 0x00 0x0a 0x15 0x00 0x95 
0x08 0x81 0x06 0x81 0x01 0x81 0x01 0x81 0x01 0x81 0x01 0xc0 0x06 0x00 
0xff 0x09 0x01 0xa1 0x01 0x85 0x02 0x25 0x01 0x15 0x00 0x75 0x01 0x0a 
0x8a 0x01 0x0a 0x25 0x02 0x0a 0x24 0x02 0x0a 0x23 0x02 0x0a 0x21 0x02 
0x0a 0x2a 0x02 0x0a0x27 0x02 0x0a 0x26 0x02 0x95 0x08 0x81 0x06 0x81 
0x01 0x81 0x01 0x81 0x01 0x81 0x01 0x15 0x00 0x27 0xff 0xff 0xff 0x7f 
0x09 0x30 0x75 0x20 0x95 0x01 0xb1 0x02 0xc0><%u#!%u%$#!*'&'0u >

usbconfig -u 6 -a 3 do_request 0x81 0x06 0x2200 0 0x100
REQUEST = <ERROR>

Mouse:

usbconfig -u 6 -a 4 do_request 0x81 0x06 0x2200 1 0x100
REQUEST = <0x05 0x01 0x09 0x02 0xa1 0x01 0x09 0x01 0xa1 0x00 0x05 0x09 
0x19 0x01 0x29 0x03 0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x03 0x81 0x02 
0x75 0x05 0x95 0x01 0x81 0x01 0x05 0x01 0x09 0x30 0x09 0x31 0x09 0x38 
0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x03 0x81 0x06 0xc0 0xc0><)%uu018%u>

usbconfig -u 6 -a 4 do_request 0x81 0x06 0x2200 0 0x100
REQUEST = <ERROR>

And that's the dmesg output for the mouse if it's attached to one of the 
front ports of the PC:

ums0: at uhub7, port 2, addr 4 (disconnected)
ugen6.4: <Logitech> at usbus6 (disconnected)
ugen1.2: <Logitech> at usbus1
ums0: <Logitech USB Optical Mouse, class 0/0, rev 2.00/43.01, addr 2> on 
usbus1
ums0: 3 buttons and [XYZ] coordinates

And the dumps (which don't change - just to eliminate the USB hub as 
problem source):

usbconfig -u 1 -a 2 do_request 0x81 0x06 0x2200 1 0x100
REQUEST = <0x05 0x01 0x09 0x02 0xa1 0x01 0x09 0x01 0xa1 0x00 0x05 0x09 
0x19 0x01 0x29 0x03 0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x03 0x81 0x02 
0x75 0x05 0x95 0x01 0x81 0x01 0x05 0x01 0x09 0x30 0x09 0x31 0x09 0x38 
0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x03 0x81 0x06 0xc0 0xc0><)%uu018%u>

usbconfig -u 1 -a 2 do_request 0x81 0x06 0x2200 0 0x100
REQUEST = <0x05 0x01 0x09 0x02 0xa1 0x01 0x09 0x01 0xa1 0x00 0x05 0x09 
0x19 0x01 0x29 0x03 0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x03 0x81 0x02 
0x75 0x05 0x95 0x01 0x81 0x01 0x05 0x01 0x09 0x30 0x09 0x31 0x09 0x38 
0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x03 0x81 0x06 0xc0 0xc0><)%uu018%u>

Additional observation:
After unplugging the mouse from the hub and plugging it into the front 
USB connector, I need to switch to a console from X to have the moused 
(I suppose) kick in, in order to be able to use the mouse again. When I 
switch back to X it works, otherwise it won't. (Probably because it 
wants me to move the mouse before it continues operating.. or some crap 
like that..)

X is xorg-7.4 with server xorg-server-1.5.3_7

KDE4 is the latest 4.2.1 from today. Completely rebuilt.

moused is actually disabled/missing from rc.conf and the X server is 
started with "AllowEmptyInput" "off"
as described by the last UPDATING information in /usr/ports and/or /usr/src.

Would be nice if this issue (which persists since the introduction of 
USB2) could be solved.

Thanks

Mat
Received on Wed Mar 18 2009 - 04:35:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:44 UTC