Recently there has been a increasing number of touchscreen that have completely failed after flashing a rom or using one of the calibration apps.
After many hours of investigation, trial and error and lots of frustration here is what I think is causing faulty touchscreens.
After the failure the firmware on the touchscreen’s show as 18.104.22.168 this is either a fault code or a default firmware code that means the firmware is corrupt. Currently there is no way to fix this issue *fixed for most, see update below*. The utility for flashing new firmware to the controller (TPutility.apk) fails to upload the firmware to the touchscreen because before the upload it checks that the current firmware and configuration file is compatible with the firmware you are trying upload. This check fails because the firmware’s don’t match. Maybe someone can alter the firmware update tool to omit these checks so an firmware upload can be forced I see that as the only hope it solve this problem without replacing the touchscreen.
The firmware update for the touchscreen a totally different thing to a Rom/firmware flash. They are stored on different IC’s. The Rom is stored on the the internal NAND ram on the mainboard, the touchscreen firmware and config files are stored on the touchscreen controller which is part of the touchscreen. The only rom that contains a update for the touchscreen controller in a official Viewsonic Rom (version 1.11) but the touchscreen update is not done through NVflash (the method of flashing most Rom’s) it is done after the rom flash on first boot (before the language selection). No custom rom that I know of or have used contains a firmware update for the touchscreen so it is unlikely that flashing a rom is responsible for the corrupt firmware. It is possible that the first boot of any Rom triggers a mass calibration or reset of the touchscreen controller but the failure can happen at any time because of a design flaw in the P10AN01 motherboard and some touchscreens. I will try to explain the 2 separate problems that when combined cause this issue.
Here are some pictures of the motherboard and touchscreen controller so you can see what’s causing the issue.
The ITC7260 touchscreen controller is mounted on a ribbon connector and is part of the touchscreen.
The connector to the left of the touchscreen controller (unplugged) is the battery connection (the reason I point this out will be come apparent shortly).
The small black I.C. (U15) down and to the right of the touchscreen connector is the battery charging/Power control IC.
Do you see the first problem yet?
All power flowing in and out of the battery is going right under touchscreen controller and the unshielded touchscreen connector. This Is why the touchscreens goes crazy when charging, E.M. interference from the power passing right under the touchscreen controller is messing with the very sensitive measurements of capacitance taken by the controller. The later model touchscreen is redesigned to include a Faraday shield on the ribbon that reduces this interference but it doesn't completely solve the problem.
In addition to the E.M. interference the heat caused from charging and draining the battery is slowly cooking the touchscreen controller, sitting mm’s away. To compound the problem the Vega’s passive cooling is poor and some Rom’s run hotter than others (although I have seen the problem happen on stock Rom’s).
The Heat leads to the second issue, The touchscreen controller is getting cooked and on some touchscreens leading to death of the controller.
Maybe the IC is going faulty due to the heat or maybe the ribbon/I.C. is developing dry joints (basically micro cracks in the solder joints caused by heating and cooling). I have inspected a few faulty ribbons/I.C’s with a microscope but I can’t see any dry joints on the ribbon/pins (just because I cant see them doesn't mean they are not there).
The bottom line is the flashing a rom is not causing the problem although it may seem like it if its happened to you. I believe total failure occurs in most cases when a Rom runs for the first time (after a flash or a factory reset).
Cooling the you tablet down is maybe the only way to prevent this fault from happening. You could do my full Mylar cooling mod http://www.modaco.co...nk-cooling-mod/ but this means unplugging the touchscreen ribbon and if you already have a flaky touchscreen this could be a bad Idea as you may damage the ribbon/controller. If you are uncomfortable unplugging the touchscreen removing the Mylar panel from the inside of the back panel helps cooling a lot by itself so I would recommend doing that at least.
Edit, This is just my theory about what is causing the issue. It may not be caused by heat at all, or there could be several reason why people are getting 99 firmware. People have reported it happening randomly, after dropping the tablet, after flashing roms (new and old, so not just vegacream beta 3) and after not using the tablet for a few months. On this evidence there is no single cause.
There are 2 models of touchscreens fitted to P1AN01’s I have only seen the 99 firmware issue happen on the 101H model touchscreen. Most Advent Vega’s I have seen/repaired have the 101H model but I have repaired one advent Vega (smashed touchscreen) that had the newer A19 model so they are fitted to some Vega’s.
Viewsonic 10s’s are fitted with both A19 and 101H models touchscreens. The other P10AN01’s with different names like P.O.V. Mobii Tegra Tab could use either but they are likly to use the redesigned A19 model if the where produced later than the Advent Vega. Both models have the same ITE7260 touchscreen controller and use the same firmware* so they are interchangeable so if you had a faulty or smashed 101H touchscreen you can fit the more reliable A19 as a replacement. The A19 model as I have already mentioned is a design revision and has a better copper mesh built into the ribbon, this acts as a faraday shield to reduce interference. It helps a lot.
Other than the design of the ribbon the touchscreens are the same.
A19 Touchscreen Ribbon, notice the thicker copper mesh.
101H Touchscreen Ribbon
What is the shuttle test rom doing at first boot?
Answer checking/updating the config file on the touchscreen controller and mass calibrating the touchscreen (maybe more too).
How do I know this? Because I have seen it do it.
When I first got some A19 screens decided to I updated the firmware on the first one I tried (because it was for me and just because I had some newer firmware). This was a risk because I had already seen 2 of the 101H models fail during the update never to work again (they were dodgy before the flash attempt, it was a last effort to get them working). Anyway the firmware update worked and the touchscreen still worked. I after the FW update I checked the file versions and the FW had updated but the config file was still the same. No problem, the TS was working, so I installed Honeyice (what I was running at the time). I noticed immediately that it was a bit insensitive around the top and bottom even after calibration in shuttle tools so I flashed the factory test rom to see if the calibration at first boot helped. After the calibration used the TPutility and checked the FW and config files again. The config file said what I expected it to say after the FW update. I have tested this on both models of touchscreen. The touchscreen has worked flawlessly since.
Viewsonic 10s service manual (sorry cant post it’s copy written)
ITE7260 User programming guide http://www.docin.com/p-165227169.html
Shuttle Test Rom https://dl.dropbox.c...0.4_std_dev.exe (flash with power plugged in and then remove the power before booting as users report that failures can occur if you leave the power plugged in. The calibration tool tell you to unplug but its easy to forget. Learned from experience (R.I.P. Mikhail’s touchscreen you will be missed but we will learn from your sacrifice)
Eduardo for looking at the TPutility for me.
The users that has had this issue and have helped me gather this information Mikhail and Ysuzuk to name a couple.
Other useful files
TPUtility.apk https://dl.dropbox.c..._20110227_0.apk. (needs to be used in Android 2.2)
Viewsonic 10s stock Rom version 1.11 http://in.viewsonic....icle.php?id=474
(The only Rom I know of that contains a firmware update for the touchscreen but wont help people showing 99 firmware) Same rules as the test Rom, Plugged in for Rom flash and unplug for first boot and TS firmware update.
I Also have some raw firmware files but these are dangerous if used incorrectly so I am not posting them. If you want them PM me and I will send them to you to use at your own risk*.
99 firmware fix found
OK thanks to Reddragon, some sneaky Russians and Google translate we now have a fix for the 99 firmware issue that will hopefully fix most touchscreens showing 99 firmware. At time of writing this it has been tested on 7 different touchscreens and has fixed 6 so it dosent work on every touchscreen but should work on most.
The fix requires the use of a USB mouse, another factory rom (110318_std_tp_fw_test_img.exe), a modified tputility.apk (TpUtility2_20110322_0.apk) and valid firmware files for your touchscreen.
What to do?
1. Flash the new test rom (NVflash) https://dl.dropbox.c...fw_test_img.exe
2. Put https://dl.dropbox.c..._20110322_0.apk on your SD card and use ifile manager to install tputility2.
3. Put the correct firmware and config files in the root of your SD card (i.e not in a folder).
4. Open TPutility2 and select Firmware upgrade. (The firmware will now flash to the controller but the touchscreen will not work imediatly).
5. Now flash the original test rom https://dl.dropbox.c...0.4_std_dev.exe This will now calibrate the sceen at first boot and (fingers crossed) it will now work correctly. you can now flash the rom of your choice.
The one touchscreen this hasn't worked on takes the firmware flash and shows the correct firmware afterwards (using the new test rom) but after flashing another rom it show 99 firmware again.
This is the latest fw and config files for the 101H touchscreen, Dont flash it to A19 touchscreens because it wont work properly.
This is the latest fw for the A19 touchscreen and also works on the 101H too. Use this one to if your not sure.
This is the firmware from a similar tablet (DVC P10). It works (badly) on the P10AN01 but If you have flashed the latest 101H fw to an A19 touchscreen, flashing the correct firmware wont fix it (bottom half of the screen touches are reversed) you will need to flash this firmware first and then the original test rom, calibrate, flash the new test rom, install tputility2, flash correct firmware for your touchscreen and and then flash original test rom to calibrate.
Nuther edit, 2 more firmwares to try if you don't get fully functionality back with the others, again these may not work fully but may correct dead area's or backwards readings if you get them after using the other firmwares
You may have to flash a few different firmwares to get 100% functionality back but if you manage to load any firmware onto your touchscreen you should be able to get it working fully, you may have to go around in circles flashing firmware and roms but you should get there in the end.
Good Luck and if it works let us know, especailly if you had to do it differently but managed to get it working.
Jisu amablemente ha traducido esta guía al español y la ha publicado en un popular site de habla española sobre Android. Aquí tenéis un enlace a su traducción: http://www.htcmania....269#post5096269
If you think I have missed anything or have any questions let me know and I will add it.
Edited by richardmlea, 05 July 2012 - 10:24 PM.