Goodix Touchscreen not working

Bug #1677257 reported by Gerry Dubois on 2017-03-29
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
kernel-package (Ubuntu)
Undecided
Unassigned

Bug Description

theatro@DiagServer2:~$ lsb_release -rd
Description: Ubuntu Zesty Zapus (development branch)
Release: 17.04

theatro@DiagServer2:~$ apt-cache policy kernel-package
kernel-package:
  Installed: (none)
  Candidate: 13.018
  Version table:
     13.018 500
        500 http://us.archive.ubuntu.com/ubuntu zesty/universe amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu zesty/universe i386 Packages

**** i2c error on touchscreen ****
[ 5.141800] Goodix-TS i2c-GDIX1001:00: i2c test failed attempt 1: -121
[ 5.169356] Goodix-TS i2c-GDIX1001:00: ID 911, version: 1060
[ 5.174325] input: Goodix Capacitive TouchScreen as /devices/pci0000:00/808622C1:05/i2c-13/i2c-GDIX1001:00/input/input5

I can dual boot my system with 16.04-LTS and the touch screen is operational. Fails with latest kernel.

root@DiagServer2:/home/theatro# cat /proc/version
Linux version 4.10.0-14-generic (buildd@lcy01-01) (gcc version 6.3.0 20170221 (Ubuntu 6.3.0-8ubuntu1) ) #16-Ubuntu SMP Fri Mar 17 15:19:26 UTC 2017

Log from working system
[ 9.133458] Goodix-TS i2c-GDIX1001:00: ID 911, version: 1060
[ 9.141453] input: Goodix Capacitive TouchScreen as /devices/pci0000:00/808622C1:05/i2c-13/i2c-GDIX1001:00/input/input5
theatro@DiagServe2r:~$ cat /proc/version
Linux version 4.4.0-66-generic (root@DiagServer) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87 SMP Tue Mar 21 14:36:31 CDT 2017

ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: kernel-package (not installed)
ProcVersionSignature: Ubuntu 4.10.0-14.16-generic 4.10.3
Uname: Linux 4.10.0-14-generic x86_64
ApportVersion: 2.20.4-0ubuntu2
Architecture: amd64
Date: Wed Mar 29 08:45:37 2017
InstallationDate: Installed on 2017-03-27 (1 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Beta amd64 (20170327)
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: kernel-package
UpgradeStatus: No upgrade log present (probably fresh install)

Gerry Dubois (gerryd) wrote :
John Erik (johneh) wrote :

Can confirm.

Works with Ubuntu 16.04.2 LTS,
Updating to 17.04 (daily) touch does not work.
Update Ubuntu 16.04.2 to kernel 4.10.0 (backport) and Touch does not work anymore.
(Just to clarify, the screen works, but touch(mouse) does not work.)

Device: GOLE GOLE1 (GOLE F1).

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in kernel-package (Ubuntu):
status: New → Confirmed
Gerry Dubois (gerryd) wrote :

Re: your clarification request. You are correct the screen works but it is the touch functions that don't work. From the logs it looks like a I2C communications issue.

Gerry Dubois (gerryd) wrote :

John, here's some additional information. I booted a live Fedora system with kernel 4.8 and it failed too. There appears to be a kernel patch available have a look here.
https://patchwork.kernel.org/patch/9654233

- Gerry

Gerry Dubois (gerryd) wrote :

The kernel patch referenced above did not resolve my problem looking more like a lower level i2c bus issue.

John Erik (johneh) wrote :

I tested a bunch of kernels (http://kernel.ubuntu.com/~kernel-ppa/mainline/).
Seems to stop working after kernel 4.5.0, But works on 4.4.58.

Gerry Dubois (gerryd) wrote :

I had a side conversation with the guy who recently patched the goodix.c driver ( referred to above). He pointed me at
Error -121 is -EREMOTEIO.
I guess you use the DesignWare I2C driver (for Bay Trail), the only occurence of that is in drivers/i2c/busses/i2c-designware-core.c.
A bit above it there's a dev_dbg, change it to dev_err and you should start to see errors in dmesg.
In the attached logs there are errors coming from this driver. I'm build a kernel now with the debug stuff turned on to see what I can see.

Gerry Dubois (gerryd) wrote :

Added attachment dmesg with designware debug turned on.

John Erik (johneh) wrote :

Gerry,
I copied goodix.c from Kernel 4.4.0, to kernel 4.10.0.14, compiled 4.10.0.14 and touch now works.
this may be used as a temporary workaround.

Majoris (majorisc) wrote :

Confirm. goodix.c from 4.4.0 worked in 4.10.x

Gerry Dubois (gerryd) wrote :

John,
Good news, I now have a working system. Thanks for all your help. While I have your attention would you mind weighing in on the patchwork patch I referenced above. Do you think it would be a good idea to make those changes to the goodix.c code from 4.4.0.
- Gerry

dino99 (9d9) wrote :

That package is a Debian one; and they are not aware of that issue (not seen into their bugs list). So to get a future fix for the next version, you should send them that issue.

dino99 (9d9) wrote :

Also can you confirm that issue with the supported kernel releases, like 4.15 ?

Changed in kernel-package (Ubuntu):
status: Confirmed → Incomplete
Launchpad Janitor (janitor) wrote :

[Expired for kernel-package (Ubuntu) because there has been no activity for 60 days.]

Changed in kernel-package (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers