Take that multi-touch! Fix and lock in what works for YOU regardless of updates

Search This thread

sfhub

Senior Member
Oct 23, 2008
5,350
7,231
By now folks realize there are different hardware variances for the touchscreen which is one reason why some people have issues and others do not.

Don't you hate it when you have a workable system, then an update comes along which fixes something, let's say GPS, but then your touchscreen goes down the tubes? Suddenly you have dead spots, dead bands, ghost/phantom touches, stuck touches, broken drags, etc. Touchscreen works ok when held or plugged in, but is unusable on a table?

Never fear, I've put together packages to handle 3 different variances of the touchscreen.

I was able to make the touchscreen usable again on 3 of 4 test units. The 4th was always bad even out of the box so it might be hopeless for that one.

I do NOT claim this will fix everyones' touchscreen and that isn't even the goal as it might be an impossible task.

The goal is to make 70-80% of the problem units usable (again), but even if only 50% become usable this is an improvement over the current situation.

On to the packages:

In the attached boot-ts.7z file you'll find 4 files:
  • boot-ts10-lock.img
  • boot-ts20-lock.img
  • boot-ts30-lock.img
  • boot-ts-unlock.img
the ts10, ts20, and ts30 packages handle 3 variances on the touchscreen

You basically try each one to see which works best for your particular touchscreen.

Once you find one (and hopefully you do) then it is locked in place so future updates won't mess up your touchscreen again. No more OTA performance anxiety.

Now let's say there is an update in the future which has touchscreen fixes you want to use, that is where the 4th package comes into play. Once you use the ts-unlock image, you will once again be using touchscreen updates from the manufacturer. If that update doesn't work out, you can go back and use the ts10/20/30 package that was working for you.

Ok, so how does all this work?

I tried to make the process as simple as possible (has been tested on JWR66N, JSS15J, and JSS15Q, will work on LTE and custom ROMs also):

Your bootloader must be UNLOCKED to use these packages. Unlocking your bootloader is covered in this post.

  1. unpack the boot-ts.7z package using 7-zip
    • you'll be left with a boot-ts directory with the aforementioned files
  2. connect your tablet by USB
    • make sure USB debugging is enabled
      Settings->About tablet [tap "Build number" 7 times]
      Settings->Developer options [check "USB debugging"]
    • you can find adb/fastboot drivers HERE
  3. in a command prompt in the boot-ts directory type (commands in italics)
    • adb reboot bootloader
      • wait for the bootloader screen to come up
      • alternatively use Power+VolDown to get to the bootloader/fastboot screen
    • fastboot boot boot-ts10-lock.img
      • this is how you try out package ts10
      • the screen will hang for 18-24 seconds, this is NORMAL, do not touch
      • this does NOT flash over your existing kernel
      • wait until Android is COMPLETELY booted
      • Note: if you are on Android 4.4 the stock 4.3 kernel will not get past the BouncingBalls
        • wait 120 seconds for the boot to settle down
        • press/hold the Power button 10-15 seconds until the tablet reboots
        • proceed to next step
    • adb reboot
      • after booting to Android you MUST reboot at least once
      • IGNORE any instability up to this point, it is expected
      • if adb reboot does not work for some reason, use the power button to shutdown/reboot
      • once you are booted into Android the 2nd time, try out the touchscreen and see if it feels usable
      • if there is instability, give it one more reboot back into Android before judging
  4. if things are not working acceptably
    • repeat step #3, with ts20, and ts30 if needed
  5. hopefully between ts10, ts20, and ts30, you will have found a package that works for you
    • there is nothing else for you to do
    • you can reboot and use your normal ROMs, custom ROMs, stock kernels, custom kernels, etc.
    • your touchscreen package is locked in place and won't change unless you want it to
  6. if you want to go back to the way it was before and/or you want a future touchscreen update from the manufacturer
    • repeat step #3 using boot-ts-unlock.img
    • upon first reboot you will have the touchscreen software from the installed ROM/kernel

Please post feedback with:
  • the version of software you are running
  • what was/is broken
  • whether any of the packages helped

Remember to click thanks if you find this useful.

That's it folks, hope this helps somebody.
 

Attachments

  • boot-ts.7z
    7.5 MB · Views: 53,296
  • boot-ts-exp1.7z
    7.4 MB · Views: 12,164
  • boot-ts-exp2.7z
    7.5 MB · Views: 8,661
Last edited:

neonlite

Senior Member
Dec 24, 2006
168
6
Rotterdam
www.danhnguyen.nl
very interesting! lots of FC after loading the file, cant really "Power off using power button" because of FC-windows, using adb reboot instead.

current ROM: [ROM][CM10.2][4.3][CyanogenMod FLO Kangs][DJL10.2][LINARO][Build 10-TEST][2013/08/27]

ts-10: no more jumping in google maps while zooming/panning, but still jumping in other apps. after second reboot, starts jumping in maps again. after third reboot, no jumping on rightside of screen.

screenshot using two fingers

ts-20: lots of jumping on right side of the screen, zooming/panning in gmaps is still jumpy. after third reboot, still jumpy in gmaps.
ts-30: still jumps of right side of the screen, just a few mm from the right bezel,zooming/panning in gmaps is still jumpy. after second reboot, same effect. after third reboot, still jumpy on right side of screen.

so what exactly are in those files?
 

Attachments

  • Screenshot_2013-09-01-09-57-04.jpg
    Screenshot_2013-09-01-09-57-04.jpg
    21.7 KB · Views: 16,778
Last edited:

sfhub

Senior Member
Oct 23, 2008
5,350
7,231
very interesting! lots of FC after loading the file, cant really "Power off using power button", using adb reboot instead.
tried ts-10. no more jumping in google maps while zooming/panning, but still jumping in other apps, will try others.
so what exactly are in those files?
When you say lots of FCs, can you tell me what ROM/version you are running?

You should IGNORE any instability in that first boot. While you can boot into android using the files I'm providing (and in some cases run fine), there could be mismatches in versions depending on what you have currently installed, which is why I say in RED you must reboot at least once before the system will become stable.

Once you do that reboot, you are back on your original software with just the touchscreen controller updated.
 
Last edited:

sfhub

Senior Member
Oct 23, 2008
5,350
7,231
ts-30: still jumps of right side of the screen, just a few mm from the right bezel,zooming/panning in gmaps is still jumpy. after second reboot, seems most stable.
You must IGNORE any results from that first boot for all the packages, especially since you are running CM because (on that first boot) you are essentially running CM with a stock kernel without any kernel mods CM may need.

On CM I would actually not pass judgment until perhaps a second reboot.

One shouldn't have as much instability in that first boot if they are running a stock ROM.

Can you compare the behavior to what you had before trying them out?

I presume you had some issues before, hence trying these out.
 
Last edited:

neonlite

Senior Member
Dec 24, 2006
168
6
Rotterdam
www.danhnguyen.nl
You must IGNORE any results from that first boot for all the packages, especially since you are running CM because (on that first boot) you are essentially running CM with a stock kernel without any kernel mods CM may need.

On CM I would actually not pass judgment until perhaps a second reboot.

One shouldn't have as much instability in that first boot if they are running a stock ROM.

Can you compare the behavior to what you had before trying them out?

I presume you had some issues before, hence trying these out.

yes, ignored all FC's. no problem.
ts-10 is running perfectly, no more jumpy stuff. maps/right side of screen, hold and drag working great too.
 
  • Like
Reactions: sfhub

OJ in Compton

Senior Member
Aug 5, 2010
315
49
I really appreciate how much effort you've put into helping others with troubled devices here.

Could we get some clarification on what exactly the 3 packages are? Are these touchscreen settings customized by you or simply the settings from each of the 3 versions of 4.3 we have had available to us?
 

pashinator

Senior Member
Nov 17, 2010
714
70
Wirral
You sent me here from the other thread and i must thank you, the ts10 one worked fine and now no screen problems, cancelled my replacement. :) Just a question though, if you tap hard on the camera corner of the tablet whilst holding it in the air, do you hear a small rattle?
 

liorec

New member
Sep 1, 2013
2
2
i've been a long time lurker at the xda forums and your multitouch fix made me register and become a member just to say thanks. ts10 fixed my multitouch issues, going to observer for a few more days and update you if there are bugs. thanks a lot!
 
  • Like
Reactions: sfhub

rsfinsrq

Senior Member
My tablet was working perfectly on the JSS15J then JSS15Q came along and I found letters "sticking" while typing and the screen was unresponsive to touch while laying flat on a table. I flashed the ts-10-lock image and so far, so good. I have been typing for awhile now with no "sticking" letters, and while laying flat on a table. I have not encountered the unresponsive screen at all flat on its back or otherwise. I will continue running through scenarios that used to give me problems and report back if I encounter anything. Also, running Bulletproof kernel and no impact with kernel functions.

Thank you sfhub!
 
  • Like
Reactions: jayochs and Chadneu

bandit_knight

Senior Member
Aug 1, 2010
117
16
Krakow
Can anyone verify if placing the N7 on a Macbook Pro keyboard still triggers the multitouch craziness with the patch?

This is the video of my N7 placed on my MBPs' keyboard.
http://www.youtube.com/watch?v=H05N1P0dpTo

Can this really be only a software problem?

I am not really experiencing other touchscreen issues with my N7 except for some very rare stuck touches. This one I triggered by accident.
 

sfhub

Senior Member
Oct 23, 2008
5,350
7,231
Can anyone verify if placing the N7 on a Macbook Pro keyboard still triggers the multitouch craziness with the patch?
So this guy goes to the doctor's office and says my head hurts everytime I hit the wall. The doctor says, then stop hitting the wall.

Couldn't you just slide it over and don't use the tablet on top of the keyboard?

Have you considered the MacBook Pro might be emitting interference? Stray currents and voltages? It doesn't take much to throw these capacitative touchscreens off.

On this thread, most people have it much worse than you making the tablet very hard to use. We are trying to get these units back into a state that is at least usable.

Your case, while an interesting science project really isn't something someone would feel any sense of urgency to help address.
 

roy827

Member
Nov 25, 2012
13
25
Great work

Incredible!! tried the ts10 and OMG everything is fixed!! Great work, sfhub!!

you should work in Google, seriously! shouldnt he, everybody?

My device is:

1) 4.3 JSS15Q
2) two finger touching registered as one finger, and muiti-touches ghosted. hold on the Left side of screen and the touch is registered repeatedly
1) TS10
 
  • Like
Reactions: sfhub

player911

Inactive Recognized Developer
Sep 8, 2006
7,952
1,205
Cincinnati
www.SnapSiteAdmins.com
Yea I booted 10 first and it is great. I can't reproduce any of the bugs I've seen before using YAMMT.

Google Maps Pinch/Zoom is working flawlessly. I couldn't even zoom in before.

The OP says to "fastboot boot boot-ts10-lock.img". Should we eventually "fastboot flash boot-ts10-lock.img" to make it permanent?

My N7 is:
HW rev_e
Bootloader....... FLO-03.14

15Q - CM 10.2 Kanged Build 9

Sitting the N7 on my Logitech Keyboard doesn't make it go crazy either! LOGITECH FTW
 
Last edited:

afremont

Senior Member
Aug 31, 2013
79
16
It is the touchscreen controller software.

How do you "lock" it in so that it won't get updated? Is it just a file in the filesystem, if so how do you prevent "fastboot erase" from getting rid of it? I've looked at ektf3k.c and know where I need to make a change so that it will replace any non-matching version, but I don't really know where the actual firmware is stored. It doesn't seem to be in the vendor part of the kernel tree or in the actual ektf3k.c or ektf3k.h files. Where is it kept? kept in fw_data.b

I'm new to Android, but I'm not new to Linux or reverse engineering so please be patient with me. Just looking for a technical description of how you did what you did. What exactly is in the .img files?

EDIT: I haven't booted any of them yet, but I'm guessing these are Linux kernel images with a modified version of the elan driver. Sorry for being stupid, I'm just trying to put this all together in my head and I can't cope with anything that seems like magic. Thanks for your time.

EDIT: Ok, I figured out where the firmware is stored. I also successfully built a ROM with my compiled kernel and flashed them to the tablet. No brick, it booted the second try and seems to work. ;) Of course there's no apps on it hardly.

I'm kinda thinking out loud here, please correct anything that I get wrong:

I started off with the assumption that there was a closed source driver, but that seems to have been incorrect on my part. After looking at the code a little more, I see that ektf3k.c appears to be the lowest level driver, outside the embedded firmware. The driver does only update the firmware in the case that the flash is empty (FFFF.....) or the firmware presented is a higher version (just as you said of course). It appears that a simple change will make it flash any version presented that is different than the one currently flashed in. I plan to try this on my tablet and see if there are any unexpected repercussions from doing so.

I wish I had a datasheet for the controller (hint hint anyone). ;)

DISCLAIMER: I know that you have already solved this problem in an arguably better way, I just want to tinker around a little. Thanks again. :good::good::good:
 
Last edited:

lespaulman67

Senior Member
Aug 23, 2013
109
10
By now folks realize there are different hardware variances for the touchscreen which is one reason why some people have issues and others do not.

Don't you hate it when you have a workable system, then an update comes along which fixes something, let's say GPS, but then your touchscreen goes down the tubes?

Never fear, I've put together packages to handle 3 different variances of the touchscreen.

I was able to make the touchscreen usable again on 3 of 4 test units. The 4th was always bad even out of the box so it might be hopeless for that one.

I do NOT claim this will fix everyones' touchscreen and that isn't even the goal as it might be an impossible task.

The goal is to make 70-80% of the problem units usable (again), but even if only 50% become usable this is an improvement over the current situation.

On to the packages:

In the attached boot-ts.7z file you'll find 4 files:
  • boot-ts10-lock.img
  • boot-ts20-lock.img
  • boot-ts30-lock.img
  • boot-ts-unlock.img
the ts10, ts20, and ts30 packages handle 3 variances on the touchscreen

You basically try each one to see which works best for your particular touchscreen.

Once you find one (and hopefully you do) then it is locked in place so future updates won't mess up your touchscreen again. No more OTA performance anxiety.

Now let's say there is an update in the future which has touchscreen fixes you want to use, that is where the 4th package comes into play. Once you use the ts-unlock image, you will once again be able to get touchscreen updates from the manufacturer. If that update doesn't work out, you can go back and use the ts10/20/30 package that was working for you.

Ok, so how does all this work?

I tried to make the process as simple as possible (has been tested on JWR66N, JSS15J, and JSS15Q):

Your bootloader must be UNLOCKED to use these packages. Unlocking your bootloader is covered in the stickies.

  1. unpack the boot-ts.7z package using 7-zip
    • you'll be left with a boot-ts directory with the aforementioned files
  2. connect your tablet by USB
    • make sure USB debugging is enabled
    • you can find adb/fastboot drivers HERE
  3. in a command prompt in the boot-ts directory type (commands in italics)
    • adb reboot bootloader
      • wait for the bootloader screen to come up
      • alternatively use Power+VolDown to get to the bootloader/fastboot screen
    • fastboot boot boot-ts10-lock.img
      • this is how you try out package ts10
      • the screen will hang for 18-24 seconds, this is NORMAL, do not touch
      • this does NOT flash over your existing kernel
    • adb reboot
      • after booting to Android you MUST reboot at least once
      • IGNORE any instability up to this point, it is expected
      • once you are booted into Android the 2nd time, try out the touchscreen and see if it feels usable
      • if there is instability, give it one more reboot back into Android before judging
  4. if things are not working acceptably
    • repeat step #3, with ts20, and ts30 if needed
  5. hopefully between ts10, ts20, and ts30, you will have found a package that works for you
    • there is nothing else for you to do
    • you can reboot and use your normal ROMs, custom ROMs, stock kernels, custom kernels, etc.
    • your touchscreen package is locked in place and won't change unless you want it to
  6. if you want to go back to the way it was before and/or you want a future touchscreen update from the manufacturer
    • repeat step #3 using boot-ts-unlock.img
Please post feedback with:
  • the version of software you are running
  • what was/is broken
  • whether any of the packages helped

Remember to click thanks if you find this useful.

That's it folks, hope this helps somebody.


So if we do this can we lock the boot loader backup. If for some reason it doesn't work will I be able to take it back for exchange. After unlocking the boot loader. Do people leave the boot loader unlocked . Is the software staying the same meaning will I be ok downloading future updates.
 

Frozenthunder

Senior Member
Apr 21, 2012
386
79
Is there a way to find out what variance is installed right now on the device? I got JSS15Q and my tablet is useable but sometimes there are ghost touches or the touch is stuck or gets interrupted and the likes.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 331
    By now folks realize there are different hardware variances for the touchscreen which is one reason why some people have issues and others do not.

    Don't you hate it when you have a workable system, then an update comes along which fixes something, let's say GPS, but then your touchscreen goes down the tubes? Suddenly you have dead spots, dead bands, ghost/phantom touches, stuck touches, broken drags, etc. Touchscreen works ok when held or plugged in, but is unusable on a table?

    Never fear, I've put together packages to handle 3 different variances of the touchscreen.

    I was able to make the touchscreen usable again on 3 of 4 test units. The 4th was always bad even out of the box so it might be hopeless for that one.

    I do NOT claim this will fix everyones' touchscreen and that isn't even the goal as it might be an impossible task.

    The goal is to make 70-80% of the problem units usable (again), but even if only 50% become usable this is an improvement over the current situation.

    On to the packages:

    In the attached boot-ts.7z file you'll find 4 files:
    • boot-ts10-lock.img
    • boot-ts20-lock.img
    • boot-ts30-lock.img
    • boot-ts-unlock.img
    the ts10, ts20, and ts30 packages handle 3 variances on the touchscreen

    You basically try each one to see which works best for your particular touchscreen.

    Once you find one (and hopefully you do) then it is locked in place so future updates won't mess up your touchscreen again. No more OTA performance anxiety.

    Now let's say there is an update in the future which has touchscreen fixes you want to use, that is where the 4th package comes into play. Once you use the ts-unlock image, you will once again be using touchscreen updates from the manufacturer. If that update doesn't work out, you can go back and use the ts10/20/30 package that was working for you.

    Ok, so how does all this work?

    I tried to make the process as simple as possible (has been tested on JWR66N, JSS15J, and JSS15Q, will work on LTE and custom ROMs also):

    Your bootloader must be UNLOCKED to use these packages. Unlocking your bootloader is covered in this post.

    1. unpack the boot-ts.7z package using 7-zip
      • you'll be left with a boot-ts directory with the aforementioned files
    2. connect your tablet by USB
      • make sure USB debugging is enabled
        Settings->About tablet [tap "Build number" 7 times]
        Settings->Developer options [check "USB debugging"]
      • you can find adb/fastboot drivers HERE
    3. in a command prompt in the boot-ts directory type (commands in italics)
      • adb reboot bootloader
        • wait for the bootloader screen to come up
        • alternatively use Power+VolDown to get to the bootloader/fastboot screen
      • fastboot boot boot-ts10-lock.img
        • this is how you try out package ts10
        • the screen will hang for 18-24 seconds, this is NORMAL, do not touch
        • this does NOT flash over your existing kernel
        • wait until Android is COMPLETELY booted
        • Note: if you are on Android 4.4 the stock 4.3 kernel will not get past the BouncingBalls
          • wait 120 seconds for the boot to settle down
          • press/hold the Power button 10-15 seconds until the tablet reboots
          • proceed to next step
      • adb reboot
        • after booting to Android you MUST reboot at least once
        • IGNORE any instability up to this point, it is expected
        • if adb reboot does not work for some reason, use the power button to shutdown/reboot
        • once you are booted into Android the 2nd time, try out the touchscreen and see if it feels usable
        • if there is instability, give it one more reboot back into Android before judging
    4. if things are not working acceptably
      • repeat step #3, with ts20, and ts30 if needed
    5. hopefully between ts10, ts20, and ts30, you will have found a package that works for you
      • there is nothing else for you to do
      • you can reboot and use your normal ROMs, custom ROMs, stock kernels, custom kernels, etc.
      • your touchscreen package is locked in place and won't change unless you want it to
    6. if you want to go back to the way it was before and/or you want a future touchscreen update from the manufacturer
      • repeat step #3 using boot-ts-unlock.img
      • upon first reboot you will have the touchscreen software from the installed ROM/kernel

    Please post feedback with:
    • the version of software you are running
    • what was/is broken
    • whether any of the packages helped

    Remember to click thanks if you find this useful.

    That's it folks, hope this helps somebody.
    9
    After many days of testing various patches, I've concluded on TS-16. Below are my test summary if it helps anyone.

    Problems I faced with
    - stucked touches, rather frequent
    - ghost touches, very seldom. Only noticeable in very touch intensive games.
    - missed touches, seems to happen a lot with typing.
    - all the above happened regardless hand held or on a non conducting surface. Happens a lot more on a non conducting surface. A reboot usually fixes things for a while before it starts again.

    TS10
    - Works well, but has very seldom 5sec freezes that recoveries and goes wonky at bottom of screen after extended uses.
    - Fixes stucked touches.
    - No noticeable ghost touches or missed touches.

    TS20
    - Works and feels better both single n multi touch compared to TS10.
    - BUT has unexplainable random system freezes that requires hard reset. Happens very occasionally and only in touch intensive programs.
    - Fixes stucked touches, ghost and most missed touches.

    TS25 and TS30
    - Fixes stucked touches.
    - Ghost touches becomes more frequent near bottom of screen.
    - Touch feels a lil wonky too.

    TS18
    - Fixes stucked touches.
    - Ghost touches and missed touches are unnoticeable.
    - Multi touch in Google maps is less responsive.
    - Random freezes also encountered as per TS20

    TS14
    - Fixes stucked touches
    - Ghost touches and missed touches are unnoticeable.
    - good responsiveness in google maps.
    - typing feels a little inaccurate.

    TS8 TS6 AND TS9
    - all feels very sensitive.
    - feels random wonkyness
    - fixes stucked touches
    - no noticeable Ghost touches and missed touches.
    - typing seems overly sensitive and results in many errors.
    - random wonkyness happens after extended use and short self recovered freezes.

    TS16 - my favourite
    - Fixes stucked touches
    - no noticeable ghost touches or missed touches
    - no random freezes experienced, not even the self recoverable freezes.
    - good balance of sensitivity and accuracy.
    - good multi touch responses in Google maps and Google earth.
    - no problems in most instances when using on a flat surface.

    Just a note to everyone. I have given at least 3-4 reboots after each update, and run them for at least 24 hours playing touch sensitive and intensive games like Turbo racing using multitouch to slide and more around.

    Hope this helps. Thank you sfhub for filling the gaps where Google and Asus have not. Great patches for everyone to suit your usage patterns.

    This entire message is typed using my nexus 7 2013 in dolphin browser.
    7
    Had enough. Smashed the N7 against a wall. Display broken. Worst piece of #%#& I bought in years. Never again.

    Gesendet von meinem GT-I9505 mit Tapatalk
    6
    Can anyone verify if placing the N7 on a Macbook Pro keyboard still triggers the multitouch craziness with the patch?
    So this guy goes to the doctor's office and says my head hurts everytime I hit the wall. The doctor says, then stop hitting the wall.

    Couldn't you just slide it over and don't use the tablet on top of the keyboard?

    Have you considered the MacBook Pro might be emitting interference? Stray currents and voltages? It doesn't take much to throw these capacitative touchscreens off.

    On this thread, most people have it much worse than you making the tablet very hard to use. We are trying to get these units back into a state that is at least usable.

    Your case, while an interesting science project really isn't something someone would feel any sense of urgency to help address.
    6
    ts-30: still jumps of right side of the screen, just a few mm from the right bezel,zooming/panning in gmaps is still jumpy. after second reboot, seems most stable.
    You must IGNORE any results from that first boot for all the packages, especially since you are running CM because (on that first boot) you are essentially running CM with a stock kernel without any kernel mods CM may need.

    On CM I would actually not pass judgment until perhaps a second reboot.

    One shouldn't have as much instability in that first boot if they are running a stock ROM.

    Can you compare the behavior to what you had before trying them out?

    I presume you had some issues before, hence trying these out.