Opened 7 years ago

Closed 5 years ago

Last modified 5 years ago

#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:
Has a Patch: no 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

[2] https://raw.github.com/druga/haiku-stuff/c83ca2843173b2b03ce19daa5184d3c4743cb378/ps2_synaptics/patch-ps2_synaptics.cpp

Change History (9)

comment:1 by dukzcry, 7 years ago

Cc: lomka@… added

comment:2 by dukzcry, 7 years ago

*I suppose that any other device probing before synaptics detection will be painful, as well.

comment:3 by siarzhuk, 7 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. :(

in reply to:  3 comment:4 by dukzcry, 7 years ago

Last edited 5 years ago by dukzcry (previous) (diff)

comment:5 by pulkomandy, 5 years ago

All links provided here are dead. Does someone have a backup of these patches?

comment:7 by pulkomandy, 5 years ago

Resolution: fixed
Status: newclosed

Applied a cleaner version in hrev48425.

in reply to:  7 comment:8 by dukzcry, 5 years ago

Replying to pulkomandy:

Applied a cleaner version in hrev48425.

Thank you much!

comment:9 by pulkomandy, 5 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.

Note: See TracTickets for help on using tickets.