misc/89166: jumpy mouse movement

Steffen Schumacher ssch at wheel.dk
Wed Nov 16 18:30:21 GMT 2005


>Number:         89166
>Category:       misc
>Synopsis:       jumpy mouse movement
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 16 18:30:20 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Steffen Schumacher
>Release:        6.0-RELEASE
>Organization:
>Environment:
ws# uname -a
FreeBSD ws.schumacheren.dk 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov  3 09:36:13 UTC 2005     root at x64.samsco.home:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
My brand new ps/2 optical (800dpi) wireless mouse is moving rather jumpy around on the screen. Its perfect in windows. (PN535MA is a part of Labtecs ultra flat wireless mouse and keyboard bundle)
This problem is regardless if I use X alone or in combination with moused
I've tried disabling the probe by psm to detect which type it is:
hint.psm.0.flags="0x200" in device hints file. This actually helps alot, I wouldn't use the word perfect but definately a big improvement. The problem with this is that the wheel then stops working :o(
I've tried fiddeling with the resolution for moused but not getting any noticable improvement. I also tried specifying various protos for moused but it just defaults to generic.
I think it might be that FreeBSD is not sampling the mouse often enough? The mouse buttons doesn't always work on the first click, and I would say that aprox. 50 % of them come through - same thing with the wheel.

some debug info:
ws# dmesg | grep -B4 psm
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> flags 0x4 irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3

ws# /etc/rc.d/moused stop
Stopping moused.
ws# moused -dft mousesystems -r 800 -p /dev/psm0 -t auto
moused: proto params: f8 80 00 00 8 00 ff
moused: port: /dev/psm0  interface: ps/2  type: sysmouse  model: IntelliMous
moused: received char 0x87
moused: received char 0x0
moused: received char 0xff
moused: received char 0x0
moused: received char 0x0
moused: received char 0x0
moused: received char 0x0
moused: received char 0x7f
moused: assembled full packet (len 8) 87,0,ff,0,0,0,0,7f
moused: tv:  1132168436 650892
moused: flags:80000000 buttons:00000000 obuttons:00000000
moused: activity : buttons 0x00000000  dx 0  dy 1  dz 0
moused: received char 0x87
moused: received char 0x0
moused: received char 0xff
moused: received char 0x0
moused: received char 0x0
moused: received char 0x0
moused: received char 0x0
moused: received char 0x7f
moused: assembled full packet (len 8) 87,0,ff,0,0,0,0,7f
moused: tv:  1132168436 701557
moused: flags:80000000 buttons:00000000 obuttons:00000000
moused: activity : buttons 0x00000000  dx 0  dy 1  dz 0
moused: received char 0x87
moused: received char 0x0
moused: received char 0x0
moused: received char 0x0
moused: received char 0x1
moused: received char 0x0
moused: received char 0x0
moused: received char 0x7f
moused: assembled full packet (len 8) 87,0,0,0,1,0,0,7f
moused: tv:  1132168437 7211
moused: flags:80000000 buttons:00000000 obuttons:00000000
moused: activity : buttons 0x00000000  dx 0  dy -1  dz 0
moused: received char 0x87
moused: received char 0x0
moused: received char 0x0
moused: received char 0x0
moused: received char 0x1
moused: received char 0x0
moused: received char 0x0
moused: received char 0x7f
moused: assembled full packet (len 8) 87,0,0,0,1,0,0,7f
moused: tv:  1132168437 33275
moused: flags:80000000 buttons:00000000 obuttons:00000000
moused: activity : buttons 0x00000000  dx 0  dy -1  dz 0

ws# sysctl -a | grep psm
debug.psm.loglevel: 0
debug.psm.hz: 20
debug.psm.errsecs: 2
debug.psm.errusecs: 0
debug.psm.secs: 0
debug.psm.usecs: 500000
debug.psm.pkterrthresh: 2
hw.psm.tap_threshold: 25
hw.psm.tap_timeout: 125000
dev.psmcpnp.0.%desc: PS/2 mouse port
dev.psmcpnp.0.%driver: psmcpnp
dev.psmcpnp.0.%location: handle=\_SB_.PCI0.SBRG.PS2M
dev.psmcpnp.0.%pnpinfo: _HID=PNP0F13 _UID=0
dev.psmcpnp.0.%parent: acpi0
dev.psmcpnp.0.wake: 0
dev.psm.0.%desc: PS/2 Mouse
dev.psm.0.%driver: psm
dev.psm.0.%parent: atkbdc0

I don't know if there is anything openly wrong with this (I don't know anything about ps/2) but I know how to modify kernel / psm / moused code so I'll be happy to test stuff out. I can't stand it working in ms but not in fbsd
>How-To-Repeat:
              Sorry! I think you need to get this mouse in order to test it. I would definately consider paying if this would be needed. 
Otherwise you would just have to use it I guess.
>Fix:
              Guessing: increase the samplerate if it isn't IRQ driven.
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list