FORUMS
Remove All Ads from XDA

How to Fix MTK Touch Panel Configuration (wrong touch mapping) with GtpAdbTool

9 posts
Thanks Meter: 3
 
By iamreal2, Junior Member on 27th January 2016, 02:28 PM
Post Reply Email Thread
This is a summary of my own repair work. I am NO expert of Android. I do NOT know anything about MTK platform. It is to document my findings in the hope that it may help someone else. Sorry in advance if there is anything inaccurate/wrong. I bear no responsibility if you somehow brick your phone - in my opinion it is pretty hard to completely brick an MTK. All hyperlinks are accurate at the time of writing.

Phone
Elephone S2 Plus
MTK6735 / 5.5" 1280x720 / 2GB+16GB / Android 5.1 / Touch Panel controller: Goodix GT9157-1040

What happened?
Elephone's support to its phones is quite limited. The stock ROM shipped with this phone is dated 20150916. There's been a lot of freezes, malfunctioning - sometimes your just can't turn it off. Battery is not removable. When you managed to turn it off, restart takes forever - getting stuck on the EIB boot logo. So I decided to reflash it. Only available ROM's for this are published on Elephone's forum. Unfortunately I did not realize that ROM's for the smaller version of this phone (i.e. Elephone S2) are not compatible with this S2 Plus.
  1. I flashed latest ROM for S2 (this is wrong like I mentioned above - not compatible with S2 Plus) with SP Flash Tool but unknowningly selected the "Format All+Download" option in SP Flash Tool - DON'T DO THIS! It wipes out IMEI/Wifi MAC/BT MAC.... Phone reboot with blank screen.
  2. So I flashed Elephone S2 plus_stock ROM_Android 5.1_20150619 again with "Download" only option in SP Flash Tool - it actually doesn't matter anymore as the damages have been done. By "damages" I mean - a) IMEI/Wifi MAC/BT MAC wiped out; b) Touch Panel configuration was replaced with that for S2 (my mistake in Step 1).
  3. Now phone restarts fine BUT touch panel coordinates are completely wrong - you hit somewhere it thinks you touched somewhere else. it feels like top half and bottom half are shifted including the 3 soft buttons. Even though the problems with NO IMEI/Wifi MAC/BT MAC are easy to fix, you can only fix them when you can actually operate the phone with its touch screen.
    • So I keep the phone charging for a while and then connect my wireless mouse/keyboard via OTG cable to operate the phone. (I used a USB Doctor to test if the "dead" phone is actually charging - it is!)
    • To fix missing IMEI - http://bbs.elephone.hk/thread-887-1-1.html - note if you use *#*#3646633#*#* Engineering mode to fix IMEI, the Tutorial had SIM1 and SIM2 command code reversed - in my case, it's 10 for SIM1 and 7 for SIM2.
    • To fix Wifi MAC/BT MAC - http://bbs.elephone.hk/forum.php?mod...hread&tid=4664 - Use the SN Writer there in the post, I find other SN Writer I downloaded doesn't work with this phone - it gets stuck on META Mode.
    • *I have my phone package for finding original IMEI's and my home router has a cached WIFI MAC. I don't really care about BT MAC - it may be impossible to find the original anyway but it works.
  4. Now I have everything back to normal except for the inoperable Touch Panel. I referred to this post on Elephone's forum guessing that such Touch Panel firmware (which stands for TouchPanel firmware - it really is just a configuration file of 186 bytes that tells the TouchPanel controller the panel's information and how to relate touches to screen coordinates) should be the cause of this problem as I may have flashed with the wrong configuration from the S2 ROM. So I went ahead and flashed that TP firmware (S550-TWS200296-HD-GT970-v98-20150730.cfg) using the GtpAdbTool link in that post. GtpAdbTool is provided by the manufacturer - Goodix provided the touch panel solutions.
  5. The TP firmware flash went successful BUT it didn't work. Then I looked carefully on the screenshots of that post and found that the detected chipset is GT9157-1040 which is the same as mine but the downloaded firmware's file name suggests the firmware is for a GT970 chipset (filename - S550-TWS200296-HD-GT970-v98-20150730.cfg). At the beginning I thought they might be compatible but after checking Goodix's website I found they are very different - GT970 supports 10-point multitouch whereas GT9157 supports 5-point only - they are DIFFERENT! This is how Elephone is treating their support work - making obvious mistakes and this could've caused such touch panel malfunctioning to innocent users! On a side-topic, I also found that their CWM recovery for S2 Plus is actually adopted from their P8000's CWM, it can only be used to install a zip won't work with MTK Droid Tool etc. Interestingly the last screenshot of that post did show it flashed the correct firmware with the name HF5521-GT9157-Config-20150601-1040-V92.cfg but it is nowhere to be found. Now I am quite sure what was the problem but I couldn't find the correct configuration. I was going to ask Elephone to provide that file but couldn't get in touch with them at all. I even asked in that post if they've made a mistake - no response.

What could've happened to your phone?
Even if you haven't flashed a wrong ROM, you could face this issue if you flashed a wrong TP firmware (I hate to call it "firmware" - should be "configuration" instead).

How it is fixed
I started playing with the GtpAdbTool and found some pretty powerful features - General Config
GtpAdbTool - General Config

When you come to General Config interface, click the 'Read Config' button as shown below. It prints your current TP configuration (186 bytes) from 0x8407. This is my current configuration after the fix. Note that the first byte is the version number. Second last byte is the 8-bit checksum of the first 184 bytes. I figured out that the checksum is a simple 8-bit hex checksum by trial and error. Last byte always show 0x00 but in your config file (aka TP firmware) it is always 0x01 - after the writing process last byte decrease by 1 to indicate successful writing.
General Config - Read Config

The 'Read Config from /proc' button is what actually helped. Your touch panel configuration that is stored in /proc never gets changed and you can just use this to construct a config file and write it back in the main interface. But there's a big problem here - GtpAdbTool won't allow you to write any configuration with the version number lower than its current configuration. In my case, the correct configuration from /proc is 0x5C(i.e. V92) but the wrong config file from that elephone.hk forum post I flashed has a version number of 0x66(i.e. V98). As I mentioned above, you can see from the last screenshot of that elephone.hk forum post[/B] the correct TP Firmware to be flashed has the name - HF5521-GT9157-Config-20150601-1040-V92.cfg and the downloaded firmware name is S550-TWS200296-HD-GT970-v98-20150730.cfg
General Config - Read Config from /proc - 1 of 2
General Config - Read Config from /proc - 2 of 2

Now it's really simple. You just need to copy the "GT9XX config init value" (first 186 bytes only - end with 0x01) after you click "Read Config from /proc" to a text editor and update the first byte (version#) to be the same as your current config's version number (1st byte). After this, you take the first 184 bytes (i.e. without the last 2 bytes) and calculate 8-bit checksum. You can use http://www.planetimming.com/checksum8.html . You may need to copy the first 184 bytes to a text editor and remove all '0x' and replace ',' with a space - this is the required format in that checksum calculator. Use the calculated checksum to replace the second last byte and make sure last byte is 0x01. In my case, I changed the 1st byte to 0x62 and recalculated checksum to be 0x75. Construct the new config file and flash it back in the main interface. Restart your phone - ALL GOOD! I am also attaching my config file here if you don't mind a config with a version number 0x62 (while it's really 0x5C actually). If your current config version number is lower than or equal to this, you can use it directly.

Phew~~~~~~~~~~!!! Hope this helps.
The Following 2 Users Say Thank You to iamreal2 For This Useful Post: [ View ] Gift iamreal2 Ad-Free
 
 
28th January 2016, 12:55 PM |#2  
Senior Member
Thanks Meter: 27
 
More
i am so happy to hear to you helped me whit this post...i dont know what to say really thanks, will try it in few hours
The Following User Says Thank You to Kcetin20 For This Useful Post: [ View ] Gift Kcetin20 Ad-Free
7th March 2016, 12:12 PM |#3  
Member
Thanks Meter: 18
 
More
Quote:
Originally Posted by kcetin20

i am so happy to hear to you helped me whit this post...i dont know what to say really thanks, will try it in few hours

работает!
The Following User Says Thank You to kalipso888 For This Useful Post: [ View ] Gift kalipso888 Ad-Free
8th March 2016, 01:05 AM |#4  
Senior Member
Thanks Meter: 27
 
More
Quote:
Originally Posted by kalipso888

работает!

Spasiba,здоровье!
8th March 2016, 01:47 AM |#5  
Member
Thanks Meter: 18
 
More
+5
Quote:
Originally Posted by Kcetin20

Spasiba,здоровье!

Кстати, кому интересно, сегодня слетел IMEI, после сброса настроек, восстанавливал следующим образом:
[spoiler]без всяких доп. программ, т.к. остальные способы мне не помогли,
IMEI записаны под батарей телефона. переписываем их или запоминаем.

Затем заходим в инженерное меню ( *#*#3646633#*#*)
далее ищем CDS Information => Radio Information => Phone 1. В строке после AT+ пишем E. Выйдет на выбор AT+EGMR=1,7,"" и AT+EGMR=1,10,"".
выбираем сначала AT+EGMR=1,7,"". В кавычках пишем ваш первый IMEI. (должно получится AT+EGMR=1,7,"867312665444899") Под строкой нажимаем на SEND AT COMMAND. Внизу выходит надпись AT command is Sent.
затем, аналогично, вписываем второй IMEI в кавычки, но уже после AT+EGMR=1,10,""
жмем SEND AT COMMAND, видим внизу снова AT command is Sent.
перезагружаем телефон и всё работает
Для тех, у кого выдает ошибку «This command is not allowed in UserBuild» после отправки команды первым способом: Поставьте пробел после плюса! То есть AT+ EGMR=1,7,»ваш имей»
[/spoiler]
8th March 2016, 06:23 PM |#6  
Senior Member
Thanks Meter: 27
 
More
Quote:
Originally Posted by kalipso888

Кстати, кому интересно, сегодня слетел IMEI, после сброса настроек, восстанавливал следующим образом:
[spoiler]без всяких доп. программ, т.к. остальные способы мне не помогли,
IMEI записаны под батарей телефона. переписываем их или запоминаем.

Затем заходим в инженерное меню ( *#*#3646633#*#*)
далее ищем CDS Information => Radio Information => Phone 1. В строке после AT+ пишем E. Выйдет на выбор AT+EGMR=1,7,"" и AT+EGMR=1,10,"".
выбираем сначала AT+EGMR=1,7,"". В кавычках пишем ваш первый IMEI. (должно получится AT+EGMR=1,7,"867312665444899") Под строкой нажимаем на SEND AT COMMAND. Внизу выходит надпись AT command is Sent.
затем, аналогично, вписываем второй IMEI в кавычки, но уже после AT+EGMR=1,10,""
жмем SEND AT COMMAND, видим внизу снова AT command is Sent.
перезагружаем телефон и всё работает
Для тех, у кого выдает ошибку «This command is not allowed in UserBuild» после отправки команды первым способом: Поставьте пробел после плюса! То есть AT+ EGMR=1,7,»ваш имей»
[/spoiler]

If I understand Russian it would be perfect blayt...talk English
8th March 2016, 07:11 PM |#7  
Member
Thanks Meter: 18
 
More
Quote:
Originally Posted by Kcetin20

If I understand Russian it would be perfect blayt...talk English

YES

---------- Post added at 08:11 PM ---------- Previous post was at 08:09 PM ----------

Quote:
Originally Posted by kcetin20

if i understand russian it would be perfect blayt...talk english

ПО АНГЛИЙСКИ НЕ ВАРИК ЕПТИ)))
9th March 2016, 06:11 AM |#8  
Member
Thanks Meter: 18
 
More
translit
Quote:
Originally Posted by Kcetin20

If I understand Russian it would be perfect blayt...talk English


Incidentally, it is interesting, today flew IMEI, after reset, restore the following way:
[Spoiler] without any extra. programs, as other methods do not help me,
IMEI is recorded under the phone battery. rewrite them or remember.
Then we go into the engineering menu (* # * # 3646633 # * # *)
Further looking CDS Information => Radio Information => Phone 1. In the line after writing AT + E. Will the choice of AT + EGMR = 1,7, "" and AT + EGMR = 1,10, "".
choose the first AT + EGMR = 1,7, "". The quotes are writing your first IMEI. (Should get AT + EGMR = 1,7, "867312665444899") Under the line click on the SEND AT COMMAND. Below goes the inscription AT command is Sent.
then, similarly, we enter the second IMEI in quotation marks, but after the AT + EGMR = 1,10, ""
click SEND AT COMMAND, see the bottom again AT command is Sent.
restart the phone and it works
For those who have an error «This command is not allowed in UserBuild» after sending the command the first method: Put a space after the plus! That is, the AT + EGMR = 1,7, »your bear"
19th September 2016, 02:01 PM |#9  
Junior Member
Thanks Meter: 2
 
More
hi i have all the files to flash the file for fix touch but my phone not have enable usb debugging any solution??
thanks!!
tha gtpadbtool not see my phone when i conect with pc
19th September 2016, 06:42 PM |#10  
Junior Member
Thanks Meter: 0
 
More
Quote:
Originally Posted by markpro

hi i have all the files to flash the file for fix touch but my phone not have enable usb debugging any solution??
thanks!!
tha gtpadbtool not see my phone when i conect with pc

If you can not enable USB debugging it does not work ??
19th September 2016, 07:38 PM |#11  
Junior Member
Thanks Meter: 2
 
More
Quote:
Originally Posted by kalif55

If you can not enable USB debugging it does not work ??

when i conect it shows me error usb
now i translate from chinese Device is not connected or connected to multiple USB devices , keep a USB device connection
when i conect the phone regognize automatically?
any help?
i have usb error
can i open usb debugging from pc?
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes