goodix / gt9xx_driver_android

Android driver source code for gt9xx series TPIC.
41 stars 29 forks source link

strange, touchscreen stopped working suddently #9

Open naveensingh opened 5 years ago

naveensingh commented 5 years ago

After checking some info I found this

goodix-ts

bus : 0018 vendor: dead product: beef ver:28bb sysfs: /devices/virtual/input/input4 handlers: sysrq kbd kgsl event4

So, my touchscreen got fried or it's possible to fix it ?

ghost commented 5 years ago

dead and beef are in the driver, gt9xx.c

ghost commented 5 years ago

no, your touchscreen is not fried

ghost commented 5 years ago

my sensor have this values too, due to https://github.com/goodix/gt9xx_driver_android/blob/master/gt9xx.c#L1598

naveensingh commented 5 years ago

okay, but my touchscreen isn't working, what could be the cause then ?

ghost commented 5 years ago

you need to proper define dtsi configuration in your main chipset dtsi file, for example msm8916-qrd-skuh.dtsi. there are many dtsi configurations. this is my configuration for gt915l with msm8916 chipset https://github.com/LWJGLRobot/android_kernel_asus_x00ad/blob/lineage-15.1/arch/arm/boot/dts/qcom/msm8916-qrd-skuh.dtsi#L335. and can you please upload your dmesg there. the reason why you could not see touchscreen logs may be the small size of kernel ring(dmesg) buffer, you need to increase that.

naveensingh commented 5 years ago

I'm using stock kernel with stock dtb. my dmesg here : https://pastebin.com/VxXcZvJA i have a question, is it neceassary to modify dts files for usb to work in msm8916 kernel (using kernel source of similar device like x00ad).

naveensingh commented 5 years ago

I'm using stock kernel with stock dtb. my dmesg here : https://pastebin.com/VxXcZvJA i have a question, is it necessary to modify dts files for usb to work in msm8916 kernel (using kernel source of similar device like x00ad).

ghost commented 5 years ago

Goodix-TS 5-0014: Regulator get failed vcc_i2c ret=-19

ghost commented 5 years ago

and you have old 2.2 driver version

ghost commented 5 years ago

GTP Product id doesn't match. ret=2

ghost commented 5 years ago

IC Version: 970_1050 FILE PID:915L two different models of goodix touch are in dmesg

ghost commented 5 years ago

this is a problem PID != Ic PID, update aborted!

naveensingh commented 5 years ago

So, what can i do now ? if i use kernel source of another device which works on my device (with some bugs), this driver will work ?

ghost commented 5 years ago

fitstly you need to get goodix touch config, key map, gpio pins and some other things and put it in your main dtsi file. and yes, you can update goodix driver to latest version from this repository.

naveensingh commented 5 years ago

when i compiled my dtb using make dtbs, i get it compiled but it doesn't boot. i checked other device's dtb, & found that the one i compiled is appended into another dtb which is used in boot.img, how do i append my msm8916-qrd-pd1510f.dtb into a bootable dtb ?

ghost commented 5 years ago

if you mean dtb.img: "cat some.dtb >> dtb.img"

naveensingh commented 5 years ago

I took dmesg of another same phone with working touchscreen, it also uses same dtb & kernel but touchscreen is recognised as gt915l instead of gt970. I replaced my touch panel, that didn't help, it's still not working :( Is there any specific firmware region for touch panel in qualcomm's emmc ?

naveensingh commented 5 years ago

I found this in logcat I/InputReader( 895): Touch device 'input_mt_wrapper' could not query the properties of its associated display. The device will be inoperable until the display size becomes available. I/InputReader( 895): Device added: id=6, name='input_mt_wrapper', sources=0x00002002 I/InputReader( 895): Device added: id=5, name='qpnp_pon', sources=0x00000101 I/InputReader( 895): Touch device 'goodix-ts' could not query the properties of its associated display. The device will be inoperable until the display size becomes available. I/InputReader( 895): Device added: id=4, name='goodix-ts', sources=0x00001103 I/InputReader( 895): Reconfiguring input devices. changes=0x00000004 I/InputReader( 895): Device reconfigured: id=4, name='goodix-ts', size 540x960, orientation 0, mode 1, display id 0 I/InputReader( 895): Device reconfigured: id=6, name='input_mt_wrapper', size 540x960, orientation 0, mode 4, display id 0

ghost commented 5 years ago

"Touch device 'goodix-ts' could not query the properties of its associated display" please use correct dtsi configuration: touchscreen-size-y, touchscreen-size-x, you need to get goodix,cfg-group1 (2,3,...) from original device kernel source, and some other things. after that your touchscreen would work perfectly.

ghost commented 5 years ago

"Is there any specific firmware region for touch panel in qualcomm's emmc ?" no, goodix driver loads firmware from local file or gt9xx.h or in some cases from /system partition.

ghost commented 5 years ago

you can read gt9xx.c and gt9xx_update.c for more information