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

Search This thread

afremont

Senior Member
Aug 31, 2013
79
16
Again, I read only the very first post of this thread and the conclusions were based on wrong assumptions regarding new OTA updates.

I noticed that the "fw_data.b" ektf3k firmware files in kitkat and marshmallow are identical so nothing has changed over the years. The firmware in CM12.1 which I use has several different bytes to those in stock kernel. The OP either had access to Elan's NDA documentation and patched a particular firmware or used various official Elan firmware versions in the packages posted here.

Maybe it's not available now, but the various updates and releases that they put out back then had different firmware files. Most devices will work fine with one of those various files, it's just a matter of finding the one that works for you. The different release source trees had different versions. I was going to build marshmallow and include the firmware that worked for me, but I couldn't find the ektf3k file in the source tree. I'll have to look again when I decide to tinker with that stuff again. It takes about a day to compile it all on an I7-2600 machine.

Firmware files all contain a date, and are automatically flashed when the kernel boots if the date is later than the installed firmware. I think sfhub modified the date so that it never met that condition as newer releases came out, but he never released his source so I'm really guessing. I modified the routine that called the flasher so that it would flash in any firmware that had a different date, so that I could roll back. Unfortunately, that doesn't lock the firmware into place like sfhub's thingys. I never gave out the kernel I built since it was only for my device and sfhub supplied something easier for people to do.

It's been a while, but as I recall, I couldn't find the actual source file for the firmare in the tree for marshmallow, or maybe it was lollipop, I just don't remember. I'm still running the old kitkat release. I need to download the source again and try to figure it all out sometime.
 

k23m

Senior Member
Jan 3, 2016
1,009
606
I was going to build marshmallow and include the firmware that worked for me, but I couldn't find the ektf3k file in the source tree. I'll have to look again when I decide to tinker with that stuff again.
Please check here. I think the OP preset a sky high FW version number to prevent overwriting.

There is no firmware documentation - "fw_data.b" is just a hex blob.
 
Last edited:

rodhull

Senior Member
Apr 11, 2010
54
10
Might be useful to some if you're thinking of replacing your current Nexus 7 (2013):

I have a 16Gb model (stated as being produced in 2013), and its screen has always been flaky even from new. I managed to improve it almost entirely by using ts10 but it was never completely fixed. That version of firmware for me completely fixed the grounding issue (I could finally use it whilst it was resting on furniture or floor without me holding it which before was impossible) but I still got ghost and/or missed touches from time to time even when holding it normally. Matters got even worse after a bump cracked the glass last year in the extreme lower right corner (only ~1.5cm diameter confined to the bezel only) and the frequency of ghost/missed touches just increased.

So I decided to replace it. I love the form factor and Nexus experience so there wasn't really any other choice but another Nexus 7 (2013) and having learned on these forums that at least one person had got one that had a "December 2015" production date, hoping it would have an improved touchscreen experience...

So, I received another Nexus 7 (2013) (32Gb model this time) very recently, purchased from Argos in the UK (it does have December 2015 as the production date) and I have absolutely zero touchscreen issues with this hardware variant, so have not had to apply any of these firmwares or resort to opening the case to fiddle with shielding etc.
 
  • Like
Reactions: maybeme2 and utfluc

SoulSmasher

Senior Member
May 13, 2012
566
159
Istanbul
Hello,

After applying this, if I lock the bootloader can I keep on getting ota on stock rom ? I only unlocked for this purpose.

Thanks in advance,

Edit: I can confirm this fixed my issue with flo 16GB with number 10. Touch screen is now as it should be. Thanks!
 
Last edited:

Natakranta

Senior Member
Mar 19, 2013
3,251
6,175
Dublin
Hello,

After applying this, if I lock the bootloader can I keep on getting ota on stock rom ? I only unlocked for this purpose.

Thanks in advance,

Edit: I can confirm this fixed my issue with flo 16GB with number 10. Touch screen is now as it should be. Thanks!
You don't have to lock your phone/tablet bootloader to receive OTA. It has nothing to do with bootloader locked or unlocked. OTA checks only if system and (not 100% sure here) karnel are not changed from the official factory version. So unless you rooted or otherwise changed sth with system / karnel, you can still take the OTA.
But wiat a minute, we are in Nexus 7 section, what OTA are we talking about? No more updates here :D
And since you have bootloader unlocked open your eyes to new dimension and fastboot flash TWRP recovery and flash some nice ROM with root. I'd recommend Pure Nexus Mod with open gapps nano, theme ready gapps on top of it, SuperSU 2.76, and ElementalX karnel
Enjoy!

The Answer to The Ultimate Question of Life, the Universe, and Everything is: CLEAN FLASH.
 

SoulSmasher

Senior Member
May 13, 2012
566
159
Istanbul
You don't have to lock your phone/tablet bootloader to receive OTA. It has nothing to do with bootloader locked or unlocked. OTA checks only if system and (not 100% sure here) karnel are not changed from the official factory version. So unless you rooted or otherwise changed sth with system / karnel, you can still take the OTA.
But wiat a minute, we are in Nexus 7 section, what OTA are we talking about? No more updates here :D
And since you have bootloader unlocked open your eyes to new dimension and fastboot flash TWRP recovery and flash some nice ROM with root. I'd recommend Pure Nexus Mod with open gapps nano, theme ready gapps on top of it, SuperSU 2.76, and ElementalX karnel
Enjoy!

The Answer to The Ultimate Question of Life, the Universe, and Everything is: CLEAN FLASH.

Hello,

Thanks for the detailed explaination, I really appreciate that! :good:

I've been using Cyanogenmod over years with various of my phones. This is the first nexus device I've ever had, and I wanted to keep using stock nexus rom for that time being. Since I've heard this wouldn't be getting any updates I've already swiched to CyanogenMod :laugh:
 
  • Like
Reactions: Wannabedeveloper
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.
Running stock 6.0.1 (August security update) on the N7 2013 (wifi only), the touch screen was terrible before ParrotMod. ParrotMod made it bearable, but flashing the TS10 made it 100% functional. Thank you!

EDIT: Ooops, did a QUICK REPLY and took OP's...OP quoted.
 
Last edited:
  • Like
Reactions: keynith

akism

Member
Oct 16, 2006
14
1
The file boot-ts10-lock.img worked for me after a nexus 7 fhd screen replacement.
Thank you
 

big_finger

New member
Oct 14, 2016
1
0
hi all ,

I did step by step by this guide .

adb reboot bootloader ==>okie

fastboot boot boot-ts10-lock.img ==> waiting for device , i stuck on this step . This cmd screen displays "Wating for device " .I wait for 10 minutes but doesn't happen :(

Please give me some advices.
 
Last edited:

Red_81

Senior Member
Dec 5, 2010
1,366
671
St.Louis Metro
hi all ,

I did step by step by this guide .

adb reboot bootloader ==>okie

fastboot boot boot-ts10-lock.img ==> waiting for device , i stuck on this step . This cmd screen displays "Wating for device " .I wait for 10 minutes but doesn't happen :(

Please give me some advices.

You do not have the correct fastboot drivers installed. I think the Android SDK would install them for your device.

Sent from my XT1095 using Tapatalk
 
Oct 15, 2018
11
1
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.

Hey can I try this on htc desire 816 ??? Please reply
 
Oct 15, 2018
11
1
No, I wouldn't advise that. I don't know if there is any similarity between the hardware, but this is extremely hardware specific.

Sent from my Moto G (4) using Tapatalk

OK thanks @afremont for your reply ...actually I was looking for this same kind of software stuff for my HTC desire 816 because screen sucks and its quite unresponsive ... Can you recommend me something that can help me ...thanks in advance and sorry for disturbing ??
 

jhford

Senior Member
My deb

I just flashed a new stock ROM, and I have a brand new touchscreen assembly which is totally unresponsive. I know the innards of this device "inside and out." I tried all 3 images in OP and none work. Does anyone have any other suggestions?
Thankds
 

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.