#8616 closed bug (fixed)
Synaptics not found (fix included)
Reported by: | dukzcry | Owned by: | siarzhuk |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Drivers/Mouse/PS2 | Version: | R1/Development |
Keywords: | Cc: | lomka@… | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
While using an old laptop with Synaptics touchpad of 5.9 version, i found, that the device is not get detected by Haiku. After digging in, i found few independent problems:
[1] probe_trackpoint() (IBM Trackpoint detection) messes synaptics probing (i.e. after messup, you're getting all 0x90 for all of minver, devid and majver, while it's a value for minver only. Right data gets later and catches by ps2_dev intr handler (gets dropped of course)). So, ps2_reset_mouse() after trackpoint probing fixes the problem. I suppose that any other device probing before synaptics detection will be painful.
[2] With my synaptics device, a small delay (after any of ps2_reset_mouse()) required, before touchpad can return correct data back to you.
[1] https://raw.github.com/druga/haiku-stuff/c83ca2843173b2b03ce19daa5184d3c4743cb378/ps2_synaptics/patch-ps2_dev.cpp
Change History (9)
comment:1 by , 12 years ago
Cc: | added |
---|
comment:2 by , 12 years ago
follow-up: 4 comment:3 by , 12 years ago
Thank you for your investigations and fixes. I'll overview them later. Unfortunately, current implementation of ps2 bus manager is not fully concurrency safe and need refactoring. There are so much workarounds already applied, so I'm afraid that such refactoring will be painfull, because nobody remember all those details and circumstances. :(
comment:5 by , 10 years ago
All links provided here are dead. Does someone have a backup of these patches?
follow-up: 8 comment:7 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Applied a cleaner version in hrev48425.
comment:8 by , 10 years ago
comment:9 by , 10 years ago
Let me know if everything works as expected, as I removed the snooze() in a later revision, the synaptics doc says it should not be needed.
*I suppose that any other device probing before synaptics detection will be painful, as well.