Jump to content

[maybe solved] Touchscreen does not react after flashing an new ROM


Recommended Posts

Guest leromarinvit
Posted (edited)

I finally figured out what the problem is (on my device, at least): for some reason, the touchscreen controller is in the wrong mode (bootloader mode, due to configuration CRC failure) when booting. A reset fixes it for me.

BUT: This is not an exact copy of what the ZTE kernel does, since I haven't been able to find their changes. It's possible that they actually configure something and my kernel doesn't work for everybody. So please test it and report whether or not it works for you!

Note: The initramfs is from Swedish Spring RLS4b and I haven't tried it with anything else. But if it does indeed fix the problem reliably, the same kernel changes will work for every custom ROM.

Download: http://www.multiupload.com/93YKJDK5ZI

Edit: new link, since the old one can't work on Gen2 phones

kernel_patch.zip

Edited by leromarinvit
Guest ahac85
Posted (edited)

hi i just rooted today flashed froyo only to learn that my touchscreen stopped working, i flashed orange stock firmware unsigned version and then rebooted still nothing, left phone off and on charge for 30mins and then tryed booting and everything is working fine, then tried flashing again and again, screen is still working?? guess am lucky but it was kinda strange

ps. im using Swedish Spring RLS4b rom no other changes

Edited by ahac85
Guest 3lackhawk
Posted
I finally figured out what the problem is (on my device, at least): for some reason, the touchscreen controller is in the wrong mode (bootloader mode, due to configuration CRC failure) when booting. A reset fixes it for me.

BUT: This is not an exact copy of what the ZTE kernel does, since I haven't been able to find their changes. It's possible that they actually configure something and my kernel doesn't work for everybody. So please test it and report whether or not it works for you!

Note: The initramfs is from Swedish Spring RLS4b and I haven't tried it with anything else. But if it does indeed fix the problem reliably, the same kernel changes will work for every custom ROM.

Download: http://www.multiupload.com/93YKJDK5ZI

Edit: new link, since the old one can't work on Gen2 phones

What a happy morning for me :) I tried your modified image on my blade and it's seems to be working :)

You are the Hero of the Blade users who can't use Froyo still now :)

Thank you so much to share this!!!!!

Guest Pidgey
Posted (edited)

Hey!

I've got the same problem (touchscreen doesnt work after installing Swedish Froyo thing or Gingerbread...)

How do i install the kernel patch?

//edit: And what is the "Swedish Spring RLS..." you've uploaded? It's only 6MB, while the original Swedish Spring ROM is more than 80MB... ?

Edited by Pidgey
Guest 3lackhawk
Posted (edited)
Hey!

I've got the same problem (touchscreen doesnt work after installing Swedish Froyo thing or Gingerbread...)

How do i install the kernel patch?

//edit: And what is the "Swedish Spring RLS..." you've uploaded? It's only 6MB, while the original Swedish Spring ROM is more than 80MB... ?

Because this is just an update for RLS4

Download the original RLS4 and then do the same when you install a custom rom and after that install the uploaded update for RLS4

Edited by 3lackhawk
Guest Pidgey
Posted (edited)
Because this is just an update for RLS4

Download the original RLS4 and then do the same when you install a custom rom and after that install the uploaded update for RLS4

Ok, I've installed CyanoMod7 -> touchscreen doesnt work. If I try to install the 'kernel_patch', I get 'Installation aborted'

I'm going to try Swedish mod now :)

(P.S. I have Build B02)

//EDIT:

I have installed Swedish Spring AND the update leromarinvit has posted, and ............... it WORKS!!

Thanks a lot!! :) :P :)

Edited by Pidgey
Guest leromarinvit
Posted
Ok, I've installed CyanoMod7 -> touchscreen doesnt work. If I try to install the 'kernel_patch', I get 'Installation aborted'

I'm going to try Swedish mod now :)

kernel_patch.zip isn't flashable, that's just the patch for the kernel source. 3lackhawk is correct, you have to install Swedish_Spring_RLS4b_B10_Test.zip as an update after the normal Swedish Spring install, since it contains just the kernel itself. I should have been clearer about that.

(P.S. I have Build B02)

Me too (Hofer/YESSS), so it should work.

Guest Pidgey
Posted
kernel_patch.zip isn't flashable, that's just the patch for the kernel source. 3lackhawk is correct, you have to install Swedish_Spring_RLS4b_B10_Test.zip as an update after the normal Swedish Spring install, since it contains just the kernel itself. I should have been clearer about that.

Me too (Hofer/YESSS), so it should work.

Yeyeyeyye It worked!^^

I have Swedish Spring now (Stable, I've rebooted 2 times and touchscreen keeps working^^)

Thanks a lot!^^

Guest leromarinvit
Posted

I got a PM asking me how I did it, and thought I'd post it here in case other people are interested too:

The first clue was that whenever the touchscreen wasn't working, the X/Y range would be "unknown" in logcat. I tried manually setting it in the initialization routine, but that didn't work either: no matter what I wrote to these registers, they would always read back 0. So I tried to make sense of the Synaptics RMI4 documentation, and was quite annoyed that it doesn't contain a useful register map, only functional descriptions of the various registers.

As it turns out, that was actually quite helpful for getting me on the right track. Synaptics devices are logically organized in "functions", where each has an ID and its own register blocks. And there's a table which describes the available functions. Wanting to know the address ranges so I could poke around some more, I enumerated them - and saw that only the flash management function was active. From there on it was easy, I read up about this bootloader mode and how to reset the chip and tried it, and it worked. :)

Guest 3lackhawk
Posted
I got a PM asking me how I did it, and thought I'd post it here in case other people are interested too:

The first clue was that whenever the touchscreen wasn't working, the X/Y range would be "unknown" in logcat. I tried manually setting it in the initialization routine, but that didn't work either: no matter what I wrote to these registers, they would always read back 0. So I tried to make sense of the Synaptics RMI4 documentation, and was quite annoyed that it doesn't contain a useful register map, only functional descriptions of the various registers.

As it turns out, that was actually quite helpful for getting me on the right track. Synaptics devices are logically organized in "functions", where each has an ID and its own register blocks. And there's a table which describes the available functions. Wanting to know the address ranges so I could poke around some more, I enumerated them - and saw that only the flash management function was active. From there on it was easy, I read up about this bootloader mode and how to reset the chip and tried it, and it worked. :)

You were in a very deep expert level :)

Thanks the explanation too !

Guest RamanRB
Posted
I got a PM asking me how I did it, and thought I'd post it here in case other people are interested too:

The first clue was that whenever the touchscreen wasn't working, the X/Y range would be "unknown" in logcat. I tried manually setting it in the initialization routine, but that didn't work either: no matter what I wrote to these registers, they would always read back 0. So I tried to make sense of the Synaptics RMI4 documentation, and was quite annoyed that it doesn't contain a useful register map, only functional descriptions of the various registers.

As it turns out, that was actually quite helpful for getting me on the right track. Synaptics devices are logically organized in "functions", where each has an ID and its own register blocks. And there's a table which describes the available functions. Wanting to know the address ranges so I could poke around some more, I enumerated them - and saw that only the flash management function was active. From there on it was easy, I read up about this bootloader mode and how to reset the chip and tried it, and it worked. :)

Any chance to made same patch/update for CM 7.0.0?.. (it is 2.3.3 Android). Have you considered contributing to the community to include your patch in CM 7?

While I'm using Linux I not so confident (and in fact I'm just afraid if I brick the phone while preparing custom firmware! It is mine first Android phone I'm learning about) in patching Android kernel (on desktop/server it more easier as you backed up by rescue boot, etc.)

And, yeah, thank you for your hard work!

Guest evgenyo
Posted
I got a PM asking me how I did it, and thought I'd post it here in case other people are interested too:

...

easy, I read up about this bootloader mode and how to reset the chip and tried it, and it worked. :)

leromarinvit, Thanks a lot in deed for the progress made towards the issue resolution. Would you please advise FOR NON PROFESSIONALS, how you findings can used to make a touchscreen working say with MODACO Froyo 12 or CM 7.0 Stable.

Or shall I simply wait a bit till you results are validated and then incorporated in ROMs up-issues?

Thanks

Guest Shuttleu
Posted
Because this is just an update for RLS4

Download the original RLS4 and then do the same when you install a custom rom and after that install the uploaded update for RLS4

Can this be made for CM7?

If so, you are my life saver

Guest Pidgey
Posted
Can this be made for CM7?

If so, you are my life saver

That would be great indeed^^

Guest imnpc2008
Posted
I finally figured out what the problem is (on my device, at least): for some reason, the touchscreen controller is in the wrong mode (bootloader mode, due to configuration CRC failure) when booting. A reset fixes it for me.

BUT: This is not an exact copy of what the ZTE kernel does, since I haven't been able to find their changes. It's possible that they actually configure something and my kernel doesn't work for everybody. So please test it and report whether or not it works for you!

Note: The initramfs is from Swedish Spring RLS4b and I haven't tried it with anything else. But if it does indeed fix the problem reliably, the same kernel changes will work for every custom ROM.

Download: http://www.multiupload.com/93YKJDK5ZI

Edit: new link, since the old one can't work on Gen2 phones

:) Thanks!

i have test , very good!

Guest rayners
Posted
kernel_patch.zip isn't flashable, that's just the patch for the kernel source. 3lackhawk is correct, you have to install Swedish_Spring_RLS4b_B10_Test.zip as an update after the normal Swedish Spring install, since it contains just the kernel itself. I should have been clearer about that.

Me too (Hofer/YESSS), so it should work.

Magnificent work. I had 3 handsets all with non responsive touchscreens when flashed with anything other than original Orange UK B10 build ROM.

Well done - one very happy member.

Guest rapidone
Posted (edited)
That would be great indeed^^

+1

We need that for CM7

Edited by rapidone
Guest isambard
Posted
I finally figured out what the problem is (on my device, at least): for some reason, the touchscreen controller is in the wrong mode (bootloader mode, due to configuration CRC failure) when booting. A reset fixes it for me.

BUT: This is not an exact copy of what the ZTE kernel does, since I haven't been able to find their changes. It's possible that they actually configure something and my kernel doesn't work for everybody. So please test it and report whether or not it works for you!

Note: The initramfs is from Swedish Spring RLS4b and I haven't tried it with anything else. But if it does indeed fix the problem reliably, the same kernel changes will work for every custom ROM.

Download: http://www.multiupload.com/93YKJDK5ZI

Edit: new link, since the old one can't work on Gen2 phones

Great work! You're doing ZTE's job for them! :)

Guest isambard
Posted
Any chance to made same patch/update for CM 7.0.0?.. (it is 2.3.3 Android). Have you considered contributing to the community to include your patch in CM 7?

While I'm using Linux I not so confident (and in fact I'm just afraid if I brick the phone while preparing custom firmware! It is mine first Android phone I'm learning about) in patching Android kernel (on desktop/server it more easier as you backed up by rescue boot, etc.)

And, yeah, thank you for your hard work!

you can submit the patch request to the bug tracker. i'm sure somebody would see it. i also flagged it to one of the devs via twitter.

Guest tlaci
Posted
I finally figured out what the problem is (on my device, at least): for some reason, the touchscreen controller is in the wrong mode (bootloader mode, due to configuration CRC failure) when booting. A reset fixes it for me.

BUT: This is not an exact copy of what the ZTE kernel does, since I haven't been able to find their changes. It's possible that they actually configure something and my kernel doesn't work for everybody. So please test it and report whether or not it works for you!

Note: The initramfs is from Swedish Spring RLS4b and I haven't tried it with anything else. But if it does indeed fix the problem reliably, the same kernel changes will work for every custom ROM.

Download: http://www.multiupload.com/93YKJDK5ZI

Edit: new link, since the old one can't work on Gen2 phones

So, does the touchscreen work with official ZTE kernel without this patch?

Guest leromarinvit
Posted

Wow, thanks for all the great feedback!

Any chance to made same patch/update for CM 7.0.0?.. (it is 2.3.3 Android). Have you considered contributing to the community to include your patch in CM 7?

I'm quite sure it will work. The patch is obviously there for anybody who wants to use it. However, I'm not yet 100% convinced that this is the best way to fix the problem: The controller reports a configuration CRC mismatch, and ideally, it should be possible to dump the configuration data from a good device and flash it once on each affected device, so that the reset isn't needed any longer. Seems nicer than the sledgehammer method of resetting it "and to hell with configuration". Of course, this would still be done automatically. It's also possible that it won't work - we don't really know what's wrong. Maybe the chip can't be reliably configured for some reason, maybe ZTE just didn't bother. I'd like to at least try the nicer method before actively pushing the patch to anybody.

I'll try to build & upload a CM7 kernel later today to fix the immediate pressing issue of not having any working kernel though.

leromarinvit, Thanks a lot in deed for the progress made towards the issue resolution. Would you please advise FOR NON PROFESSIONALS, how you findings can used to make a touchscreen working say with MODACO Froyo 12 or CM 7.0 Stable.

Or shall I simply wait a bit till you results are validated and then incorporated in ROMs up-issues?

Thanks

Well, in theory it's pretty easy: you take the kernel source tree for your ROM, apply the patch and compile it. However, from a quick glance at the MCR thread, I didn't find any reference to the kernel source, so I guess Paul would have to incorporate the patch. For CM7, see above - give me a few hours. If you want to compile it yourself, you need a Linux system and an ARM cross compiler. This looks like a decent guide.

So, does the touchscreen work with official ZTE kernel without this patch?

Yes it does, but their kernel must contain some sort of fix for this. I don't know what they do exactly, since I haven't found the changes in the binary. Maybe they reset it, maybe they also configure it somehow.

Guest kozlovda
Posted
I finally figured out what the problem is (on my device, at least): for some reason, the touchscreen controller is in the wrong mode (bootloader mode, due to configuration CRC failure) when booting. A reset fixes it for me.

...

I do confirm that this has solved touchscreen issue for me as well! Great work! (and patience to read controller func spec :))

Looking forward for incorporation of the patch into other ZTE kernals (and ROMs)

Guest tlaci
Posted (edited)

Yes it does, but their kernel must contain some sort of fix for this. I don't know what they do exactly, since I haven't found the changes in the binary. Maybe they reset it, maybe they also configure it somehow.

I'm a bit confused. I thought the ZTE kernel source (link) when I said official ZTE kernel. Why did try to find fixes in the binary instead of source?

Edited by tlaci

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.