| From | Sent On | Attachments |
|---|---|---|
| Andriy Gapon | Jan 25, 2008 5:06 am | |
| Andriy Gapon | Jan 30, 2008 7:29 am | |
| Vojtech Pavlik | Jan 30, 2008 9:02 am | |
| Andriy Gapon | Feb 1, 2008 1:35 am | |
| Vojtech Pavlik | Feb 1, 2008 1:37 am | |
| Andriy Gapon | Feb 1, 2008 2:56 am | |
| Andriy Gapon | Feb 4, 2008 8:09 am | .patch |
| Andriy Gapon | Feb 7, 2008 12:56 pm | |
| Andriy Gapon | Feb 17, 2008 11:19 am | |
| Andriy Gapon | Feb 25, 2008 1:03 pm | |
| Rink Springer | Feb 25, 2008 1:55 pm | |
| Andriy Gapon | Feb 25, 2008 2:13 pm |
| Subject: | mouse problems [A4 Tech OP-3D] | |
|---|---|---|
| From: | Andriy Gapon (av...@icyb.net.ua) | |
| Date: | Feb 1, 2008 1:35:22 am | |
| List: | org.freebsd.freebsd-hardware | |
on 30/01/2008 18:45 Vojtech Pavlik said the following:
On Wed, Jan 30, 2008 at 05:30:02PM +0200, Andriy Gapon wrote:
[snip]
I see that Linux driver and FreeBSD driver are (mostly) equivalent in "IntelliMouse Explorer" detection. I wonder if Linux handles this mouse well, and if yes, then how.
I don't know, honestly, I never tried this specific mouse. A4-Tech is infamous of producing mice with all kinds of strange quirks and bugs.
But not this time :) I tried to boot Knoppix live CD and it recognized the mouse as having ImExPS/2 protocol which the same as I found by try-and-error.
I compared FreeBSD and Linux sources more thoroughly and found the following: http://lxr.linux.no/linux+v2.6.24/drivers/input/mouse/psmouse-base.c#L464 static int im_explorer_detect(struct psmouse *psmouse, int set_properties) { struct ps2dev *ps2dev = &psmouse->ps2dev; unsigned char param[2];
intellimouse_detect(psmouse, 0);
I.e., first thing the explorer probe does is massaging a mouse with IntelliMouse magic commands.
I did the same in FreeBSD psm.c, i.e., added a call to enable_msintelli() at the very start of enable_msexplorer(). And voil? - everything is perfect, correct ID is returned, probing succeeds, the mouse works great.
I think that this change is quite safe to make in FreeBSD, because with Linux user-base we can be 99% percent sure that this change won't break anything.
on 25/01/2008 14:35 Andriy Gapon said the following:
I've recently got a cheap PS/2 mouse A4 Tech OP-3D: http://www.a4tech.com/EN/product2.asp?CID=114&SCID=115&MNO=OP-3D
It looks like your regular mouse with a combined middle-button/scroll-wheel. The only unusual feature is an additional button for "double-click" - I am not sure if it's simulated within the mouse itself or if it is reported to controller/driver.
There is a problem with this mouse though: if I don't do anything special then this mouse acts very erratically and misbehaves all it can - movements are ignored or reported as button clicks, button clicks get reported as movements or clicks of different buttons, etc. One cure that I initially found was to kill moused, disconnect and reconnect the mouse and restart moused, after that moused worked well. Then, I found out that I could achieve the same if I specify 0x200 flag (no id probing). Judging from verbose dmesg the mouse is detected as a generic ps/2 mouse with or without this flag, there is no difference whatsoever. So it seems that probing for various mouse models somehow hoses this mouse.
Question #1: maybe some kind of additional mouse reset should be performed after all probes failed and we settle on generic?
Well, while flag 0x200 makes the mouse behave reasonably, it seems that the presence of the wheel is not detected (or mouse is configured to ignore it?), so I can not use it.
Question #2: what are the further steps to debug this issue so that this mouse is properly recognized? I really would like to get the wheel working.
I can provide any additional information needed. Thank you.
-- Andriy Gapon
-- Andriy Gapon






.patch