[HACK][SOURCE] Forced touchscreen fw update

Search This thread

Trevomader

Senior Member
Jan 22, 2012
129
21
Try the attached file. It's stock A011.

If it succeeds and you reboot the driver should then flash the kernel's stock which is A044 (it should show _xa044).

Well i just unlocked with "boot-ts-unlock.img", now it shows xa029 and tried to apply A044.b, after rebooting still shows xa029, so maybe the patch is not working on glitch.

Regardless, i'm going to try your new file and report.

Considering the new file is to unlock and mine is already unlocked, nothing to report.
 
Last edited:

CTCaer

Senior Member
Mar 24, 2012
367
975
well if it was not working you wouldn't had a064 in the first place.

Maybe I'm missing something here. Can you also post logs ([ektf3k] tagged logs)?

The logs style when force flashing is:
Code:
"Update touch firmware with the file path:%s"
"Firmware update start!"
"Start firmware update!"
"pages_number=%d"
.
.
.
[LIST]
[*]"Failed the touch firmware update!"[/LIST][B]or[/B][LIST]
[*]"Finish the touch firmware update!"
[/LIST]

Firmware update finish ret=%d retry=%d !"

To check them there are 3 different ways:
logcat
dmesg
cat /proc/kmsg

you can also pipe them to grep ("logcat | grep ektf3k")

Sorry for making you test it, but I'm at my job right now and working since morning
 
  • Like
Reactions: Trevomader

Trevomader

Senior Member
Jan 22, 2012
129
21
Well most likely because i was using boot-ts25-lock.img before i started looking at the version, so it was already at x64 and kept there since i started trying to patch.

The log:

Code:
<4>[    1.355255] [ektf3k]:[elan] elan_ktf3k_ts_init
<4>[    1.355865] [ektf3k]:[ELAN] Start HW reset!
<4>[    1.613555] [ektf3k]:[elan]detect intr=>Old FW
<4>[    1.613708] [ektf3k]:The boot code is old!
<4>[    1.643463] [ektf3k]:[elan] __hello_packet_handler: hello packet 55:55:55:55
<4>[    1.643646] [ektf3k]:[elan] hello packet's rc = 0
<4>[    1.856018] [ektf3k]:[elan] __fw_packet_handler: firmware version: 0xa029
<4>[    1.858123] [ektf3k]:[elan] __fw_packet_handler: X resolution: 0x007e
<4>[    1.860260] [ektf3k]:[elan] __fw_packet_handler: Y resolution: 0x00d2
<4>[    1.862304] [ektf3k]:[elan] __fw_packet_handler: firmware id: 0x3029
<4>[    1.864410] [ektf3k]:[elan] __fw_packet_handler: boot code id: 0x6047
<4>[    1.864501] [ektf3k]:[Elan] Max X=2239, Max Y=1343
<4>[    1.865539] [ektf3k]:The firmware was version 0xA044 and id:0x3029
<4>[    1.865692] [ektf3k]:Start firmware update!
<4>[    1.865814] [ektf3k]:[ELAN] Start HW reset!
<4>[    2.123352] [ektf3k]:Send command into IAP mode
<4>[    2.233856] [ektf3k]:pages_number=367
<4>[    2.240142] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.274139] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[    2.275054] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[    2.282501] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.313568] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.313720] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.319671] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.353515] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.353607] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.359649] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.393524] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.393676] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.399627] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.433532] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.433685] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.433807] [ektf3k]:Failed the touch firmware update!
<4>[    2.433959] [ektf3k]:Finish the touch firmware update!
<4>[    2.434173] [ektf3k]: /proc/ektf_dbg created
<4>[    2.434814] [ektf3k]:[elan] Start touchscreen elan-touchscreen in interrupt mode
<4>[    2.434997] [ektf3k]:[ELAN]misc_register finished!!
<4>[  256.527008] [ektf3k]:[elan] elan_ktf3k_ts_suspend: enter
<4>[  387.116760] [ektf3k]:[elan] elan_ktf3k_ts_resume: enter
<4>[  387.118286] [ektf3k]:[elan] dump repsponse: 58
<4>[  790.317108] [ektf3k]:[elan] elan_ktf3k_ts_suspend: enter
<4>[ 1100.306030] [ektf3k]:[elan] elan_ktf3k_ts_resume: enter
<4>[ 1100.308929] [ektf3k]:[elan] dump repsponse: 58
<4>[ 1208.579498] [ektf3k]:Update touch firmware with the file path:/data/fw/A044.b
<4>[ 1208.654571] [ektf3k]:Firmware update start!
<4>[ 1208.654663] [ektf3k]:Start firmware update!
<4>[ 1208.654815] [ektf3k]:[ELAN] Start HW reset!
<4>[ 1208.915313] [ektf3k]:Send command into IAP mode
<4>[ 1209.025421] [ektf3k]:pages_number=400
<4>[ 1209.031921] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.065521] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[ 1209.065856] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[ 1209.072021] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.105499] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.105712] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.111602] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.145538] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.145721] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.153076] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.185546] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.185913] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.192871] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.225524] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.225738] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.226043] [ektf3k]:Failed the touch firmware update!
<4>[ 1209.226257] [ektf3k]:Finish the touch firmware update!
<4>[ 1209.226440] [ektf3k]:Firmware update finish ret=-1 retry=0 !
<4>[ 1209.226745] [ektf3k]:Start firmware update!
<4>[ 1209.226928] [ektf3k]:[ELAN] Start HW reset!
<4>[ 1209.485351] [ektf3k]:Send command into IAP mode
<4>[ 1209.595611] [ektf3k]:pages_number=400
<4>[ 1209.602996] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.635528] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[ 1209.635742] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[ 1209.643127] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.675537] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.675903] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.683197] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.715667] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.715881] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.723175] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.755554] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.755767] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.763153] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.795684] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.796020] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.796203] [ektf3k]:Failed the touch firmware update!
<4>[ 1209.796539] [ektf3k]:Finish the touch firmware update!
<4>[ 1209.796752] [ektf3k]:Firmware update finish ret=-1 retry=1 !
<4>[ 1209.797058] [ektf3k]:Start firmware update!
<4>[ 1209.797271] [ektf3k]:[ELAN] Start HW reset!
<4>[ 1210.055480] [ektf3k]:Send command into IAP mode
<4>[ 1210.165588] [ektf3k]:pages_number=400
<4>[ 1210.172790] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.205566] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[ 1210.205963] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[ 1210.213531] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.245544] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.245758] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.253051] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.285552] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.285888] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.293121] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.325561] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.325775] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.333160] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.365539] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.365722] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.366058] [ektf3k]:Failed the touch firmware update!
<4>[ 1210.366271] [ektf3k]:Finish the touch firmware update!
<4>[ 1210.366577] [ektf3k]:Firmware update finish ret=-1 retry=2 !

well if it was not working you wouldn't had a064 in the first place.

Maybe I'm missing something here. Can you also post logs ([ektf3k] tagged logs)?

The logs style when force flashing is:
Code:
"Update touch firmware with the file path:%s"
"Firmware update start!"
"Start firmware update!"
"pages_number=%d"
.
.
.
[LIST]
[*]"Failed the touch firmware update!"[/LIST][B]or[/B][LIST]
[*]"Finish the touch firmware update!"
[/LIST]

Firmware update finish ret=%d retry=%d !"

To check them there are 3 different ways:
logcat
dmesg
cat /proc/kmsg

you can also pipe them to grep ("logcat | grep ektf3k")

Sorry for making you test it, but I'm at my job right now and working since morning
 
Last edited:

CTCaer

Senior Member
Mar 24, 2012
367
975
Hmm it fails to write the 1st page, 3 times, so it stops trying.

I don't know what causes this...

Btw what version number locking the boot-ts images use?

For example I'm using 99 but it falls back to 64 when showing and checking


EDIT:
Also a successful update should give a ret=0
 
Last edited:

habylab

Senior Member
Dec 3, 2010
6,228
1,200
So you are saying A011 is the best for you? Why not 44 which has so many fixes? I'm on 44. Never really noticed issues, only from time to time.

I currently have dreadful issues, so excuse this post.

Followed the readme instructions, and it says it could not create the file or folder? What could I be doing wrong?

Sent from my Nexus 8 (2015). Running a custom ROM and kernel. My phone is currently a Galaxy S3, end of August an HTC One M8! Tapatalk'd
 
Last edited:

habylab

Senior Member
Dec 3, 2010
6,228
1,200
Sad that I couldn't follow these instructions. I'd love to downgrade, as my touch is all over the place at least once a week.

Until there is an easy flash method however, I won't be able to. Have followed instructions as mentioned above, but couldn't pull it off.

Sent from my Nexus 8 (2015). Running a custom ROM and kernel. My phone is currently a Galaxy S3, end of August an HTC One M8! Tapatalk'd
 

Trevomader

Senior Member
Jan 22, 2012
129
21
Well, so i ended up with a bricked device, my tablet is stuck at google logo, and through twrp/adb i can see dmesg:

Code:
<4>[    1.053405] [ektf3k]:[elan] elan_ktf3k_ts_init
<4>[    1.053619] [ektf3k]:[ELAN] Start HW reset!
<4>[    1.310119] [ektf3k]:The boot code is new!
<4>[    5.810272] [ektf3k]:[elan] __hello_packet_handler: IRQ is not low!
<4>[    5.810668] [ektf3k]:I2C message no Ack!
<4>[    5.810729] [ektf3k]:[elan] hello packet's rc = -22
<4>[    5.810791] [ektf3k]:Main code fail
<4>[    5.810913] [ektf3k]:[Elan] Max X=2239, Max Y=1343
<4>[    5.811370] [ektf3k]:Start firmware update!
<4>[    5.811431] [ektf3k]:[ELAN] Start HW reset!
<4>[    5.840270] [ektf3k]:Send command into IAP mode
<4>[    5.840606] [ektf3k]:Sending packet broken
<4>[    5.840942] [ektf3k]:Sending packet broken
<4>[    5.841278] [ektf3k]:Sending packet broken
<4>[    5.841583] [ektf3k]:Sending packet broken
<4>[    5.841949] [ektf3k]:Sending packet broken
<4>[    5.842254] [ektf3k]:Sending packet broken
<4>[    5.842590] [ektf3k]:Sending packet broken
<4>[    5.842895] [ektf3k]:Sending packet broken
<4>[    5.843261] [ektf3k]:Sending packet broken
<4>[    5.843566] [ektf3k]:Sending packet broken
<4>[    5.843933] [ektf3k]:Sending packet broken
<4>[    5.843994] [ektf3k]:Failed sending I2C touch firmware packet.
<4>[    5.950500] [ektf3k]:Sending packet broken
<4>[    5.950775] [ektf3k]:Sending packet broken
<4>[    5.951141] [ektf3k]:Sending packet broken
<4>[    5.951446] [ektf3k]:Sending packet broken
<4>[    5.951782] [ektf3k]:Sending packet broken
<4>[    5.952087] [ektf3k]:Sending packet broken
<4>[    5.952392] [ektf3k]:Sending packet broken
<4>[    5.952758] [ektf3k]:Sending packet broken
<4>[    5.953063] [ektf3k]:Sending packet broken
<4>[    5.953430] [ektf3k]:Sending packet broken
<4>[    5.953735] [ektf3k]:Sending packet broken
<4>[    5.953826] [ektf3k]:Failed sending I2C touch firmware packet.
<4>[    5.953918] [ektf3k]:pages_number=367
<4>[    5.954254] [ektf3k]:Sending packet broken
<4>[    5.954559] [ektf3k]:Sending packet broken
<4>[    5.954895] [ektf3k]:Sending packet broken
<4>[    5.955200] [ektf3k]:Sending packet broken
<4>[    5.955505] [ektf3k]:Sending packet broken
<4>[    5.955841] [ektf3k]:Sending packet broken
<4>[    5.956176] [ektf3k]:Sending packet broken
<4>[    5.956481] [ektf3k]:Sending packet broken
<4>[    5.956848] [ektf3k]:Sending packet broken
<4>[    5.957153] [ektf3k]:Sending packet broken
<4>[    5.957458] [ektf3k]:Sending packet broken
<4>[    5.957580] [ektf3k]:Failed sending I2C touch firmware packet.
<4>[    5.957763] [ektf3k]:Failed the touch firmware update!
<4>[    5.957824] [ektf3k]:Finish the touch firmware update!
<4>[    5.957946] [ektf3k]: /proc/ektf_dbg created
<4>[    5.958221] [ektf3k]:[elan] Start touchscreen elan-touchscreen in interrupt mode
<4>[    5.958374] [ektf3k]:[ELAN]misc_register finished!!

Is there a way to fix this? Thanks in advance.
 

crazyyyk

Senior Member
Aug 14, 2013
53
6
The log:

Code:
<4>[    1.355255] [ektf3k]:[elan] elan_ktf3k_ts_init
<4>[    1.355865] [ektf3k]:[ELAN] Start HW reset!
<4>[    1.613555] [ektf3k]:[elan]detect intr=>Old FW
<4>[    1.613708] [ektf3k]:The boot code is old!
<4>[    1.643463] [ektf3k]:[elan] __hello_packet_handler: hello packet 55:55:55:55
<4>[    1.643646] [ektf3k]:[elan] hello packet's rc = 0
<4>[    1.856018] [ektf3k]:[elan] __fw_packet_handler: firmware version: 0xa029
<4>[    1.858123] [ektf3k]:[elan] __fw_packet_handler: X resolution: 0x007e
<4>[    1.860260] [ektf3k]:[elan] __fw_packet_handler: Y resolution: 0x00d2
<4>[    1.862304] [ektf3k]:[elan] __fw_packet_handler: firmware id: 0x3029
<4>[    1.864410] [ektf3k]:[elan] __fw_packet_handler: boot code id: 0x6047
<4>[    1.864501] [ektf3k]:[Elan] Max X=2239, Max Y=1343
<4>[    1.865539] [ektf3k]:The firmware was version 0xA044 and id:0x3029
<4>[    1.865692] [ektf3k]:Start firmware update!
<4>[    1.865814] [ektf3k]:[ELAN] Start HW reset!
<4>[    2.123352] [ektf3k]:Send command into IAP mode
<4>[    2.233856] [ektf3k]:pages_number=367
<4>[    2.240142] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.274139] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[    2.275054] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[    2.282501] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.313568] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.313720] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.319671] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.353515] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.353607] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.359649] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.393524] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.393676] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.399627] [ektf3k]:sendI2CPacket send 132 bytes
<4>[    2.433532] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[    2.433685] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[    2.433807] [ektf3k]:Failed the touch firmware update!
<4>[    2.433959] [ektf3k]:Finish the touch firmware update!
<4>[    2.434173] [ektf3k]: /proc/ektf_dbg created
<4>[    2.434814] [ektf3k]:[elan] Start touchscreen elan-touchscreen in interrupt mode
<4>[    2.434997] [ektf3k]:[ELAN]misc_register finished!!
<4>[  256.527008] [ektf3k]:[elan] elan_ktf3k_ts_suspend: enter
<4>[  387.116760] [ektf3k]:[elan] elan_ktf3k_ts_resume: enter
<4>[  387.118286] [ektf3k]:[elan] dump repsponse: 58
<4>[  790.317108] [ektf3k]:[elan] elan_ktf3k_ts_suspend: enter
<4>[ 1100.306030] [ektf3k]:[elan] elan_ktf3k_ts_resume: enter
<4>[ 1100.308929] [ektf3k]:[elan] dump repsponse: 58
<4>[ 1208.579498] [ektf3k]:Update touch firmware with the file path:/data/fw/A044.b
<4>[ 1208.654571] [ektf3k]:Firmware update start!
<4>[ 1208.654663] [ektf3k]:Start firmware update!
<4>[ 1208.654815] [ektf3k]:[ELAN] Start HW reset!
<4>[ 1208.915313] [ektf3k]:Send command into IAP mode
<4>[ 1209.025421] [ektf3k]:pages_number=400
<4>[ 1209.031921] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.065521] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[ 1209.065856] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[ 1209.072021] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.105499] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.105712] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.111602] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.145538] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.145721] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.153076] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.185546] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.185913] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.192871] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.225524] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.225738] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.226043] [ektf3k]:Failed the touch firmware update!
<4>[ 1209.226257] [ektf3k]:Finish the touch firmware update!
<4>[ 1209.226440] [ektf3k]:Firmware update finish ret=-1 retry=0 !
<4>[ 1209.226745] [ektf3k]:Start firmware update!
<4>[ 1209.226928] [ektf3k]:[ELAN] Start HW reset!
<4>[ 1209.485351] [ektf3k]:Send command into IAP mode
<4>[ 1209.595611] [ektf3k]:pages_number=400
<4>[ 1209.602996] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.635528] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[ 1209.635742] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[ 1209.643127] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.675537] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.675903] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.683197] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.715667] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.715881] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.723175] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.755554] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.755767] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.763153] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1209.795684] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1209.796020] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1209.796203] [ektf3k]:Failed the touch firmware update!
<4>[ 1209.796539] [ektf3k]:Finish the touch firmware update!
<4>[ 1209.796752] [ektf3k]:Firmware update finish ret=-1 retry=1 !
<4>[ 1209.797058] [ektf3k]:Start firmware update!
<4>[ 1209.797271] [ektf3k]:[ELAN] Start HW reset!
<4>[ 1210.055480] [ektf3k]:Send command into IAP mode
<4>[ 1210.165588] [ektf3k]:pages_number=400
<4>[ 1210.172790] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.205566] [ektf3k]:recvI2CPacket recv 2 bytes: 55 55
<4>[ 1210.205963] [ektf3k]:message received: 55 55 Page 0 rewrite
<4>[ 1210.213531] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.245544] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.245758] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.253051] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.285552] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.285888] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.293121] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.325561] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.325775] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.333160] [ektf3k]:sendI2CPacket send 132 bytes
<4>[ 1210.365539] [ektf3k]:recvI2CPacket recv 2 bytes: ff ff
<4>[ 1210.365722] [ektf3k]:message received: FF FF Page 0 rewrite
<4>[ 1210.366058] [ektf3k]:Failed the touch firmware update!
<4>[ 1210.366271] [ektf3k]:Finish the touch firmware update!
<4>[ 1210.366577] [ektf3k]:Firmware update finish ret=-1 retry=2 !

I have the same problem, the same log when I try to update fw with glitch kernel. Why can this happen?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    This concerns kernel devs and people with touchscreen problems.

    As I saw android 4.4 updates didn't fix the touchscreen for some. In addition it made things worse, like in my case.

    So I tried to force firmware updating the touchscreen module and try many different firmwares.
    To ease that process I modified the already existing code of the drivers (ektf3k.c) to enable firmware update by demand and using a filepath.

    In the package below you will find the modified driver source file for custom kernel developing, all firmware updates until now and a help file for how to flash them.

    All fw were modified to a version number of 99, to lock them in place and not let future auto updates (unlock fw included).

    Kernel driver source + Firmware files

    EDIT: Added patch, check below
    EDIT2: Corrected the typo in patch. Thanks @Tk-Glitch

    After creating the custom kernel, you can use terminal or adb or a text editor to echo or edit /sys/devices/i2c-3/3-0010/update_fw and write the fw filepath. You can also check fw version by checking /sys/devices/i2c-3/3-0010/vendor (the last numbers are your fw version).
    Check readme for more


    To all kernel devs:
    The modified drivers do not break anything. They just create a special sysfs file. The code is activated only by writing a path in that sysfs file.

    To all others with touchscreen problems:
    This needs a custom kernel with this modified driver. Otherwise you can't use the firmware files

    Kernels with touchscreen force update patch:
    Glitch
    SaberMod franco.Kernel
    X-Flo
    If you incorporated the patch into your kernel please inform me to update the list.

    Changelog of touchscreen firmwares:
    Code:
    A011:
    
    A011 is the lastest touch firmware and used for factory image.
    
    firmware update history:
    
    A009:
    Update boot-code Ver: 60.47 (Do not turn off WDT in IAP process).
    Add Self Check Mechanism to enter suspend mode.
    Modification Algorithm, and Digital Parameters for ER Module.
    a. Improve "double fat finger (22 phi copper)" performance.
    b. Improve "fast drawing straight line" performance.
    c. Improve "multi-finger in co-axis (8 phi copper)" performance.
    d. Improve "under table lamp" performance.
    
    A010:
    Modify Calibration Mechanism.
    
    A011:
    Modify Open/Short Calibration Mechanism for ESD problem.
    Improve Stylus Performance
    
    =================================================================
    
    A012:
    
    1.Fix the Sensitivity Problem That Suspend and Wake up When Charging.
    2.Modification for Algorithm, and Digital Parameters for ER Module.
    a.Improve "double fat finger (22 phi copper)" performance when charging.
    
    =================================================================
    
    A021 (A015):
    
    Fix:
    8717455: Holding touch panel edge by one finger,the touch action will be affected.
    8768005: Holding Flo along the left edge of the device reveals false touch problems.
    8840158: Pinch zoom in and out on chrome and maps doesnt seem as accurate / responsive as on nakasi.
    8798827: Touch can not be correct clicked.
    customer report: pin unlock will lose touch report.
    Modification for AC De-noise Mechanism.
    
    =================================================================
    
    A025:
    
    Based on A023 and remove the grip information.
    
    1.[Issue 8840158] [FLO] pinch zoom doesnt seem as responsive / reliable as on nakasi.
    2.[Issue 8858019] [FLO] Poor touch resolution.
    
    Need calibration to fix these two issue with ER1/ER2 device:
    3.[Issue 9052815] [FLO] Dead "Bands" on the touch screen.
    4.[Issue 8930391] Spurious touchscreen taps.
    
    =================================================================
    
    A028:
    
    Improve hovering like Nakasi
    
    =================================================================
    
    A029:
    
    Need calibration for below Issue:
    [Issue 9261425] New touch firmware is needed to apply the new parameters.
    
    =================================================================
    
    A031:
    
    Fix following issues:
    1.Latency on resume
    2.Edge swipes lost (notification panel)
    3.[Issue 9284036][FLO]ABS_MT_TOUCH_MAJOR values change
      base on number of pointers down
    
    =================================================================
    
    A032:
    
    1.firmware to A032.
    2.modify driver to update power source when use slim port to hdmi.
    
    A032 fix issue:
    
    9471817:Hover touches.
    9366206:Device show multiple-ghost touch after connect HDMI and tilt device to 40~65 degree.
    9471956:Unclean lift offs.
    9471962:Edge swipes causing hooks or missing touch points.
    Noise problem.
    Add ESD Protection Mechanism.
    
    =================================================================
    
    A033:
    
    Fix issue:
    1.Seeing lost touches.
    2.Magic disappearing square.
    3.Need to clean up small pointer dancing.
    4.Pointer splitting.
    5.Jumps between two large touches.
    6.9521124:Poor performace in handwritten input method.
    
    Bug: 9472154
    Bug: 9471828
    Bug: 9521124
    Bug: 9471817
    
    =================================================================
    
    A034:
    
    improvement:
    9323363:Scrolling not smooth.
    
    =================================================================
    
    A036:
    
    Fix issue:
    962875:Need a new touch firmware to pass ESD test.
    
    =================================================================
    
    A038:
    
    Fix/Improve issue:
    
    1.[Issue 9692415] Touch screen on flo is broken for games
    2.[Issue 9323363] [FLO/DEB] [Touch] Scrolling not smooth
    3.[Issue 9471817] [FLO/DEB] [Touch] Hover touches
    
    =================================================================
    
    A040:
    
    Fix/Improve issue:
    
    1.[Issue 9692415] Touch screen on flo is broken for games.
    2.Broken line.
    3.Two Fingers Tapping Easy Connectivity.
    4.co-axis problem with two finger.
    
    =================================================================
    
    A042:
    
    Fix/Improve issue:
    
    1.ghost touch probelm that caused by lcm slef-noise.
    2.broken line in particular area.
    
    =================================================================
    
    A043:
    
    Bug: 10388772
    Bug: 10391124
    Bug: 10541253
    
    =================================================================
    
    A044:
    
    Fix issue:
    
    1. Improve stability of two finger co-axis.
    2. Ghost point problem of two fingers.
    1
    Well many have problems and were forced to flash custom kernels with different firmwares.

    This can ease up a lot the process and help many people that are using custom kernels to test different fw.

    For example many fixed their issues with A011 (aka ts10). Because like in my case, the problem comes from the LCD's electromagnetic interference on ELANtech's touch panel(tested with Nexus 7 Nexus 7 II Tester).

    Well it's up to kernel dev's to incorporate the driver mod if they want.
    I may make a stock based custom kernel, touch fw tester edition, when I get back home and refix my ubuntu vm.
    So 1 flash, try firmwares, find the personal best, reflash previous kernel.
    1
    Hello, thanks for the patch, i'm using Glitch Kernel which implemented your patch and i'm going to try and fix my touchscreen but i want to know which version of the driver is the latest, is it the A011 or the A044?
    And another question, i've just tested A011 and A044 but at vendor both show ELAN_KTF3K_xa064, are they both supposed to show the same version?
    1
    ....Can you say me how I can test this patch? Or which kernel I must flash? It's there one, which have your patch already intergrated? ....

    Hey, check 1st post.

    I added a list that I'll try to maintain
    1
    Do you know if there was a change from android 4.4 to 4.4.2 in the driver? ..

    No it's A044. But when I updated 4.4.3->4.4.4, I checked logs and the touchscreen driver wrote something with calibration (can't remember exactly).

    Hey, I fashed the Glitch kernel r151 and the issue is not fully fixed. It's Vetter! But ff the tablet get hot, the issue come again. Is there a special Version with the patch? Thanks :victory:

    The firmwares can't completely fix the problem, only can make the situation better. The device getting hot means that it uses a lot of power and thus more EMI for the touchscreen panel.
    You have to test different fw because almost every fw has different internal calibration methods.


    Also I learned that the correct way to use the forced calibration (as I mentioned in the other touchscreen problems thread, echo "FF" > /proc/ektf_dbg), is to put the device on an insulated surface, away from power sources, chargers and do it by using terminal emulator and not adb with wifi or cable. And also in flight mode.