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 Changed 7 years ago by dukzcry

Cc: lomka@… added

comment:2 Changed 7 years ago by dukzcry

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

comment:3 Changed 7 years ago by siarzhuk

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:4 in reply to:  3 Changed 7 years ago by dukzcry

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

comment:5 Changed 5 years ago by pulkomandy

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

comment:7 Changed 5 years ago by pulkomandy

Resolution: fixed
Status: newclosed

Applied a cleaner version in hrev48425.

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

Replying to pulkomandy:

Applied a cleaner version in hrev48425.

Thank you much!

comment:9 Changed 5 years ago by pulkomandy

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.