USB2, mouse and X
Mattia Rossi
mrossi at swin.edu.au
Tue Mar 17 22:35:08 PDT 2009
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
More information about the freebsd-current
mailing list