-
Notifications
You must be signed in to change notification settings - Fork 5.2k
official 7inch DSI panel spurious touch events #4749
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
On first power up I do see spurious events being generated by the controller, but not after the first touch on the screen. Does that match with your observations? The ts controller is reporting these touches, so it seems to be in a funny state. |
It seems like they still ocurr after the first touch, even while I'm touching the screen. Maybe a slightly different display revision? It says What's more weird is that it seems like the evtest output while touching the screen
|
AIUI Something very odd is going on with those tracking IDs. The value the driver generates is between 0 and 15 due to the masking at https://github.com/raspberrypi/linux/blob/rpi-5.10.y/drivers/input/touchscreen/edt-ft5x06.c#L271. How evtest is seeing values of 24000 is really strange. |
That's correct. But reporting two
Either there should be a
could be a red herring, seems like you only really use the id reported by the FT to set the multitouch slot, so EDIT: Also seems like there's a flag you can set when calling |
The panel is producing rubbish initially. I've added logging to the driver, and in one message it's reporting
type 0 is event down, and type 2 is event on. The x and y co-ords are outside the display area, it's repeating ID/slot values.
First press for me (V1.0 panel) is stopping that, and it behaves normally from then on.
Ooh, magic. That means I can revert 16c7561 and make it a one-liner to set that flag. |
Ah I think I got it. In the old touch driver they didn't iterate up to the max supported points in this loop: linux/drivers/input/touchscreen/edt-ft5x06.c Line 253 in 30bb919
but to the number of current touch contacts, reported by the FT. Which is a single byte that's reported right before the first touch coordinate (so
Exactly 😄 |
Sadly it's not it.
but on first read the touchscreen is reporting 10 touch events in that register. |
Except it seems not to work - I'm not seeing any release events at all with that. |
oh. then I have no idea
true, that makes sense. though just to be sure did you call |
No I hadn't changed the #4750 has my latest patches, but it doesn't solve the garbage at the start. I'm trying extending the reset pulse (currently 6ms) to see if that helps, but I'm running out of ideas. I'm still not seeing the garbage results coming back after the first touch though. I am on a Pi3B+, but that shouldn't make any difference. |
I upgraded the kernel:
But this didn't fix touch unfortunately. It does a right-click, garbled something.
Seeing similar crap with Raspberry pi 3b+
Also had to add I'm disappointed this official touchscreen is so broken on a official OS. You would expect it to be tested at least once by someone... Update it seems enabling the
See https://forums.raspberrypi.com/viewtopic.php?p=1935740#p1935740 |
@6by9 do you have the firmware sources so you can look at what the closed-source driver did differently? or is there no obvious deviation there? I have a i2c sniffer that i used for debugging the last two times the DSI panel was buggy (😉), I'll use that and see if I find something |
I don't know what changed but I can't reproduce it anymore. |
Describe the bug
To reproduce
rpi-update
(because touch needs edt-ft5x06 touchscreen fixes #4736 to be working at all)evtest
(sudo apt install evtest
) and select thegeneric ft5x06
deviceExpected behaviour
Actual behaviour
evtest
output)System
raspinfo.txt
Logs
output of
evtest
The text was updated successfully, but these errors were encountered: