• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[FIX] Touchscreen freeze / dead zone(s) after MHC19J

Search This thread

sfhub

Senior Member
Oct 23, 2008
5,342
7,219
Users in the code.google thread are also reporting it worked for them.
If someone wants to send me (or post)

/vendor/firmware/synaptics_fw.bin

from there 7.1.1 DP2 setup, I can create a TWRP update that will apply that to Nougat releases (which will be a sticky fix, meaning you don't need to touch your vendor partition and can relock your bootloader and run totally stock with no warnings)
 
G

GuestD2181

Guest

sfhub

Senior Member
Oct 23, 2008
5,342
7,219
Thanks much, could you also do me a favor and run

md5sum /vendor/firmware/synaptics_fw.bin

from terminal emulator or adb shell prompt?

I am going to skip updating to npf26f and just want to make sure I didn't somehow introduce some corruption of the firmware prior to testing it on my screen (which would be bad if corrupted)

I have

b047d927b6926a67c7f71e6ba70de925

on my download.
 
G

GuestD2181

Guest
Thanks much, could you also do me a favor and run

md5sum /vendor/firmware/synaptics_fw.bin

from terminal emulator or adb shell prompt?

I am going to skip updating to npf26f and just want to make sure I didn't somehow introduce some corruption of the firmware prior to testing it on my screen (which would be bad if corrupted)

I have

b047d927b6926a67c7f71e6ba70de925

on my download.
822757b1529d20724f7f4c2324b2b274.jpg


Does that mean there's been a corruption?

Sent from my Nexus 5X using Tapatalk
 

sfhub

Senior Member
Oct 23, 2008
5,342
7,219
Does that mean there's been a corruption?
Not sure where it happened but the one that I downloaded from your link doesn't match the one in your /vendor/firmware directory.

I tried downloading a second time and it comes up with the md5 I posted earlier so I don't think it is on my side.

It could be just 1 byte different.

I didn't expect there to be any difference, so sorry to bug you again, could you do

ls -l /vendor/firmware/synaptics_fw.bin

from terminal or adb shell prompt

the firmware I have downloaded is around 120kb whereas previous firmware was all around 94kb. Not necessarily an issue, but just surprising they would add that much code when prior changes were more minor.

Maybe you could tar the file up first then upload the tar file. Sometimes software thinks a .bin file needs to get converted to some other format.

cd /sdcard
tar cvf firmware.tar /vendor/firmware/synaptics_fw.bin
 
G

GuestD2181

Guest
Not sure where it happened but the one that I downloaded from your link doesn't match the one in your /vendor/firmware directory.

I tried downloading a second time and it comes up with the md5 I posted earlier so I don't think it is on my side.

It could be just 1 byte different.

I didn't expect there to be any difference, so sorry to bug you again, could you do

ls -l /vendor/firmware/synaptics_fw.bin

from terminal or adb shell prompt

the firmware I have downloaded is around 120kb whereas previous firmware was all around 94kb. Not necessarily an issue, but just surprising they would add that much code when prior changes were more minor.

Maybe you could tar the file up first then upload the tar file. Sometimes software thinks a .bin file needs to get converted to some other format.

cd /sdcard
tar cvf firmware.tar /vendor/firmware/synaptics_fw.bin
a7764b894a777e685f636cb8e822f2f4.jpg


https://drive.google.com/file/d/0B5xOqNjmcV7HcENYYmVUSG9TTDQ/view?usp=drivesdk

Sent from my Nexus 5X using Tapatalk

---------- Post added at 07:33 AM ---------- Previous post was at 07:27 AM ----------

Not sure what happened earlier but it should all be fine now sorry

Sent from my Nexus 5X using Tapatalk
 

sfhub

Senior Member
Oct 23, 2008
5,342
7,219
Not sure what happened earlier but it should all be fine now sorry
Thanks so much for uploading.

I created and tested a new update-touch-npf26f.zip in case someone wants to test it to see if it fixes the problem.

I test flashed it onto my Android N N5D91L build and my screen is still working so it can't be that bad :)

Unfortunately I can't tell if it fixes the problem because I never had the problem.

I can say that the firmware build stayed the same on this one, only the device configuration changed, so it looks like some minor tweaking fixed everything.

All you need to do is flash this in TWRP and theoretically it should fix your touchscreen problems going forward.

It will not touch anything in your vendor nor your system directories so you will be completely stock.

You do *NOT* need root/supersu installed.

You can flash and reflash any ROM you want and the touchscreen fix should remain persistent.

update-touch-npf26f.zip

Once someone confirms this fixes the problem I'll update the first post to tell people to use this instead.
 
Last edited:

chris16jd

New member
Apr 13, 2016
1
0
Thanks so much for uploading.

I created and tested a new update-touch-npf26f.zip in case someone wants to test it to see if it fixes the problem.

I test flashed it onto my Android N N5D91L build and my screen is still working so it can't be that bad :)

Unfortunately I can't tell if it fixes the problem because I never had the problem.

I can say that the firmware build stayed the same on this one, only the device configuration changed, so it looks like some minor tweaking fixed everything.

All you need to do is flash this in TWRP and theoretically it should fix your touchscreen problems going forward.

It will not touch anything in your vendor nor your system directories so you will be completely stock.

You do *NOT* need root/supersu installed.

You can flash and reflash any ROM you want and the touchscreen fix should remain persistent.

update-touch-npf26f.zip

Once someone confirms this fixes the problem I'll update the first post to tell people to use this instead.

No luck with that new file. It is still requiring that I have to go over to the left side to wake up the screen.
 

wkJason

Member
Sep 12, 2016
26
0
Hi SFhub, can you let me know if I can remove TWRP after flashing the file you created and how can I do so without removing the kernel patch together with TWRP. Thanks
 
Last edited:

sfhub

Senior Member
Oct 23, 2008
5,342
7,219
Hi SFhub, can you let me know if I can remove TWRP after flashing the file you created and how can I do so without removing the kernel patch together with TWRP. Thanks
You can remove TWRP. There is no kernel patch.

Touchscreen firmware is loaded directly into touchscreen processor, which has separate storage from the OS and is unaffected by flashing ROMs (unless the new ROM comes with newer touchscreen firmware)

I'll check if the latest OS releases have the updated firmware and that is probably easiest if they do.
 

wkJason

Member
Sep 12, 2016
26
0
You can remove TWRP. There is no kernel patch.

Touchscreen firmware is loaded directly into touchscreen processor, which has separate storage from the OS and is unaffected by flashing ROMs (unless the new ROM comes with newer touchscreen firmware)

I'll check if the latest OS releases have the updated firmware and that is probably easiest if they do.


Thanks for your help, I updated my Nexus 5x to 7.1.1 NPF26F and it fixed the issue. I tried to use dmesg command but got permission denied so cannot confirm firmware version
 

edward8

Member
Jun 6, 2016
6
0
i am really new to this stuff i just got a nexus 5x where the screen is unresponsive without plugging any usb it's on the setup wizard screen and only the top left part work.
What can I do to make it work ? there is 2 methods but how do I use them i am a bit clueless. I need to update to lastest version as the post say but I follow the link and don't know what to do ? how do I update ? The nexus is viewable in the explorer but I can't access it. Can someone pelase explain me the step by step please ?
What about the 2nd option with twrp and the .zip file I get a link with a .img and I don't know what to do...

Can someone please take the time to explain me the things to do for a total noob ?

best regards
 

sfhub

Senior Member
Oct 23, 2008
5,342
7,219
i am really new to this stuff i just got a nexus 5x where the screen is unresponsive without plugging any usb it's on the setup wizard screen and only the top left part work.
What can I do to make it work ? there is 2 methods but how do I use them i am a bit clueless. I need to update to lastest version as the post say but I follow the link and don't know what to do ? how do I update ? The nexus is viewable in the explorer but I can't access it. Can someone pelase explain me the step by step please ?
What about the 2nd option with twrp and the .zip file I get a link with a .img and I don't know what to do...

Can someone please take the time to explain me the things to do for a total noob ?

best regards
Just install the latest factory image from Google and if it is a firmware problem, it should be resolved.
 

edward8

Member
Jun 6, 2016
6
0
thank you for your reply please tell me the step by step i currently can't do anything with the phone since the touchscreen isn't working please tell me exactly what to do thank you very much
 

edward8

Member
Jun 6, 2016
6
0
can someone please explain me how to do this with TWRP please for christmas sake !

"run the following update-touch-npf26f.zip in TWRP"


how to i install twrp what should I do please
 

breedlma

New member
Feb 11, 2017
1
0

Hi sfhub,

Thanks for all the effort on this so far. This is the only place I have found with a solution to this problem.

Quick question: where can I download the and image of Android 7.1.1 DP2 NPF26F (or newer)?

The link you shared seems to only show 7.1.1 (NMF26F, Dec 2016), 7.1.1 (N4F26I, Jan 2017), and 7.1.1 (N4F26O, Feb 2017).
 

nexus5000

New member
May 14, 2017
1
0
Hi sfhub,

I flashed official 7.1.2(May) and then your permanent fix(update-touch-npf26f.zip) using twrp 3.1.0-0. Now the screen flickers. After that, I tried to flash to 6.0, 6.0.1, 7.1.1, android o, but the issue is still there. The problem becomes more severe when I touch the screen, so I assume it is related to the touch screen fix. Before I applied your permanent fix, the screen is good. During I flash the fix, the screen timeout and turn off once. Is it possible to fix my screen? If it can't be fixed, what about replacing the screen since I don't know if the firmware is in the screen itself?
I have a video demonstrate this issue below.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    NEW permanent fix (thanks trevonn for uploading the npf26f firmware)
    As of 11/22/16 Google has finally released a fix for the touchscreen, but only on the beta channel.

    Either install Android 7.1.1 DP2 NPF26F (or newer)
    or
    run the following update-touch-npf26f.zip in TWRP.

    DOES require unlocked bootloader
    does NOT require you to run beta 7.1.1
    does NOT require root/supersu
    makes NO modifications to your system nor vendor partitions
    you will still be completely stock once the update is done, touchscreen firmware is uploaded to the screen's internal processor
    IS persistent, you can install any ROM, custom, stock, doesn't matter, fix will remain
    =======================
    OLD instructions
    To make it easier for people to try this fix, I created an update.zip that can be run from TWRP. This will roll back your Synaptics touchscreen firmware to the one that was included with MMB29K - MMB29V and thus fix the problem described above.

    The old manual method is still available in the post below.

    Update: On Android N (Nougat) 7.0 in addition to bootloader being unlocked you MUST install SuperSU 2.77 or newer PRIOR to running update-touch-vendor.zip There was a security change in 7.0 that causes data written to /vendor to rollback to original. Changes are physically there but get treated as data corruption and "fixed" automaticaly by reed solomon forward error correction. This auto-correct "feature" is disabled if dm-verity is disabled (installing SuperSU would take care of this for you)

    You DO need to unlock your bootloader but you do NOT need to be root, however if you choose the 2nd option (update-touch-vendor) it would be best if you were root or you'll see the RED Android corrupt message.

    The reason that happens with the 2nd option (update-touch-vendor) is to allow you to run the older touchscreen firmware with a ROM MHC19J (or newer) the /vendor partition needs to be modified to include the older touchscreen firmware (otherwise upon first boot, your rolled back touch screen firmware will get overwritten with the newer touchscreen firmware in /vendor/firmware). Because of how the Merkel-hashtree verification works, if you touch anything in /vendor (or /system), even just changing the date on a file or mounting r/w, it will complain about corruption. If you are running root, it will disable the dm-verity checks for /vendor (and /system), and you will just see the standard ORANGE bootloader unlocked warning.

    This was ONLY tested with TWRP 3.0.2-0 for Marshmallow and TWRP 3.0.2-2 for Nougat and with stock ROMs, though it should work with most if not all ROMs.

    I ONLY tested it with TWRP flashed onto the recovery partition (ie did not test temporarily loading twrp using "fastboot boot twrp.img")

    There are two files available:
    • update-touch.zip - install this file using TWRP if you just want to rollback the touchscreen firmware.
      This REQUIRES you first flash a release OLDER than MHC19J, for example MMB29V and
      Do NOT upgrade to MHC19J (or newer) until Google fixes the problem
    • update-touch-vendor.zip - install this file using TWRP if you would like to rollback your touchscreen firmware
      AND keep your existing MHC19J (or newer) Android system release
      I also suggest you DISABLE your lockscreen PIN/Pattern before doing any installing of update-touch-vendor.
      It is generally good practice to do this whenever you start modifying partitions that are being verified, otherwise parts of Android can get confused and think your phone is stolen and someone is trying to break in, thus attempt to lock you out.
    5
    ..........
    TLDR - Permanent Fix is in the 2nd post
    ..........

    Update: [2016.11.28]
    I created a NEW permanent fix that will work on all versions, MM 6.0.1, N 7.0, N 7.1.1. Does NOT require root/supersu, does NOT require running beta 7.1.1.
    See 2nd post
    Thanks to user Trevonn for uploading npf26f touchscreen firmware.

    Update: [2016.11.23]
    http://forum.xda-developers.com/nex...dead-zones-t3361123/post69748579#post69748579
    https://code.google.com/p/android/issues/detail?id=205223#c146
    According to user Trevonn and users on the google bug report thread, the previously mentioned fix appears to have made it into the beta release channel, Android 7.1.1 DP2

    Update: [2016.10.14]
    https://code.google.com/p/android/issues/detail?id=205223#c120
    Project Member #120 [email protected]

    Hi,
    The development team has fixed the issue that you have reported and it will be available in a future build
    Thanks

    Status: FutureRelease

    Update: [2016.10.12]
    https://code.google.com/p/android/issues/detail?id=205223#c119
    Project Member #119 [email protected]

    Update : we are working on the fix and will update more on this when we will fix this issue

    Update: [2016.10.05]
    https://code.google.com/p/android/issues/detail?id=205223#c112
    Project Member #112 [email protected]

    We are still working on the issue, we will update on this once we have any updates
    Update: [2016.09.26]

    Google finally looking into the problem and changed priority from small to high.

    https://code.google.com/p/android/issues/detail?id=205223#c96
    Project Member #96 [email protected]

    update: This issue was tough to reproduce, we have got all the information from the external thread and we are making progress on it, thanks for the inputs. we will keep you posted more on this issue as it becomes available

    Cc: [email protected]
    Labels: -Priority-Small Priority-High
    Update: [2016.09.03]

    Due to security changes in Android N (Nougat) 7.0 you now need to have SuperSU installed for this fix to work.

    Android M (Marshmallow) 6.x.x users do not need to have SuperSU installed, though it would be preferable.

    Update: [2016.07.23]

    Video demonstration of issue (thanks Troy Spicer):
    https://www.youtube.com/watch?v=sfoAVnFFZrg

    Update: [2016.06.21]

    Google finally assigned the bug to development for further investigation.

    If someone at Google is reading this thread, the super quick way to mitigate the problem is to simply package the older synaptics touchscreen firmware released with mmb29k-mmb29v and update the version # so it will overwrite existing firmware.

    You can figure out what is wrong with the touchscreen firmware at a later date.

    The downside of rolling back, ie having a touchscreen that doesn't behave ONLY while charging for some people where the end-user can obtain a new charger and workaround the problem, if they even use the phone while charging, is IMO better than having a touchscreen that is unusable for some people ALL the time with no simple workaround for the average user other than RMA.

    https://code.google.com/p/android/issues/detail?id=205223#c54
    Project Member #54 [email protected]

    Hi,
    We have passed this defect on to the development team and will update this issue with more information as it becomes available.
    Thanks

    Status: Assigned
    Labels: Defect-29526586

    Background:

    There is a well documented problem for some charger/device/voltage combos where the touchscreen will become unresponsive when connected to the stock charger. Ultimately the problem is with the charger design but it appears Google made some attempt to mitigate the problem with software in the MHC19J release.

    See this thread for the power adapter touchscreen not responsive details
    https://productforums.google.com/forum/#!msg/nexus/-rSxrBUMKr0/ao-N4Y6nAgAJ

    Unfortunately in doing so it seems they may have put out a Synaptics touchscreen firmware that introduced a brand new problem for folks who've never had any touchscreen problems before, affecting them during *normal* usage rather than the more isolated case of only during charging.

    Basically the symptoms are you start getting freezes / dead zones when you leave your device untouched for a couple of seconds. You can cycle the screen on/off to reset the touchscreen but the problem eventually comes back again after a few seconds. It even occurs upon startup when you need to enter your lock code or pattern, making it difficult to get into your device. For most people it will be on the right side of the screen and happen after about 6 seconds of inactivity. Swiping from left to right will sometimes restore responsiveness for a few more seconds.

    My theory is Google put out a new Synaptics touchscreen firmware that adjusted the sensitivity of the touchscreen to compensate for the "noise" being generated by the bad power adapters. The change may have been too aggressive as it seems to have had a side effect of being too insensitive for some folks' touchscreen variations resulting in freezes / dead zones.

    See these threads for the touchscreen freezes / dead zones after MHC19J details
    http://forum.xda-developers.com/nexus-5x/help/touchscreen-freeze-t3335521
    https://code.google.com/p/android/issues/detail?id=205223
    https://www.reddit.com/r/nexus5x/comments/4anxs3/nexus_5x_not_responding_to_touches_occasionally/

    So normally you'd just flash an older factory image and everything would be back to normal. Unfortunately for touchscreen firmware, flashing older factory images will have no effect. Once you have the new touchscreen firmware it will stay in place until a newer one comes out. Thus you can't actually get back to "true" factory by flashing the MDA89E factory image.

    There is a way you can force a touchscreen firmware flash. This will be described in the next post.
    2
    I've had a go at this now, and I think I have successfully reverted back to the old version of Android and the touchscreen firmware. However, now I get the 'device is corrupt' message upon startup. I haven't locked the bootloader again, and I think TWRP recovery is still installed. Do you think flashing the normal recovery back onto the phone then locking the bootloader again will sort this? The phone seems to work fine otherwise, and the touch issue is gone.

    I basically did this:

    Step 1 and 2 of the guide to unlock the bootloader and install TWRP, then step 10 (to put the older Android release you suggested onto the phone). Then installed TWRP recovery again, as I had flashed it off in step 10, then installed the zip file you posted using TWRP (the first one, not the one that requires rooting). I know the order is a bit silly, I wasn't entirely sure what I was doing!

    'Your phone is corrupt and can't be trusted". That's normal. I think it goes away if you're rooted, but not otherwise.
    Your phone isnt actually corrupt, it's just the touchscreen firmware's hash isn't matching, so the OS thinks it is.

    Well during testing, it seems I cannot mount /vendor the same way as before as the mount succeeds, but the directory is empty.

    Unfortunately I got my phone into some weird state because TWRP keeps asking me for a password even though I don't have one set.

    This happened right after I downgraded TWRP to 3.0.2-0 to test if mounting /vendor worked any differently in that release.

    Now neither 3.0.2-2 nor 3.0.2-0 can decrypt my user data. 3.0.2-2 just keeps asking for a password when none has been set.

    Every time I have TWRP loaded that seems to happen if I have a PIN on my lockscreen and it's required for the phone to turn on. I don't know what the password is, so I turned off the PIN and it let me in.

    Also note that when I copied synaptics_fw.bin to /vendor and ran update-touch.zip, the script reported it worked correctly (ergo, md5 confirmed), but the issue resurfaced upon first boot unless I had flashed superSU.

    Also I don't seem to have this problem, with mount succeeding but the directory being empty. After I turned off my PIN everything works normally, I can see the other files in /vendor/firmware.
    There was once it loaded and didn't complain about a password but nothing seemed to work anyway, maybe that's what happened.
    2
    But, is there anywhere to complain about this? They might not even acknowledge this as a bug right now.
    Looks like the last complaint got them past the threshold of ignore and go away to something they should investigate further.

    https://code.google.com/p/android/issues/detail?id=205223#c54
    Project Member #54 [email protected]

    Hi,
    We have passed this defect on to the development team and will update this issue with more information as it becomes available.
    Thanks

    Status: Assigned
    Labels: Defect-29526586
    1
    I didn't have this problem until I replaced my screen. With the new screen (without doing anything to the software/firmware), the problem started. I found this thread and have the same exact problem. The firmware fix didn't help, though. I verified that the correct firmware (md5sum) is installed in /vendor. Is there anything else I can do?