Jump to content

vodafone 945/zte joe


Guest truspixinho

Recommended Posts

Guest setor

Hi,

First of all i wanna say that i'm not a GNU/Linux kernel developer nor experienced C programmer and also all the following idea is hypothetical. When i compare the zte blade froyo kernel source and zte joe eclair kernel source i saw only minor differences. If you look at the codes which is inside the "arch\arm\mach-msm" directory, file names are board-zte-blade.c and board-joe.c, you will see these lines;

board-zte-blade.c

static struct i2c_gpio_platform_data aux_i2c_gpio_data = {

.sda_pin = 93,

.scl_pin = 92,

.sda_is_open_drain = 1,

.scl_is_open_drain = 1,

.udelay = 40,

};

board-joe.c

static struct i2c_gpio_platform_data aux_i2c_gpio_data = {

.sda_pin = 93,

.scl_pin = 92,

.sda_is_open_drain = 1,

.scl_is_open_drain = 1,

.udelay = 2,

};

So as you know or not, in the C/C++ programming language struct is a class which is not define the reference but is refer the variable values, with this point of view .udelay has a different value for the 2 different phone types. i think and i say again i think these values is the key point for the unresponsive touchscreen issue.

If someone compile the modified kernel i mean change the .udelay value from the 40 to 2 and share with us that will be awesome. Then i can test my hypothesis.

@Sebastian404

can you compile the kernel for us with this method?

Link to comment
Share on other sites

Guest cuttysark76

This is Chinese for me

"(...)

Short Delays

Sometimes a real driver needs to calculate very short delays in order to synchronize with the hardware. In this case, using the jiffies value is definitely not the solution.

The kernel functions udelay and mdelay serve this purpose.[27] Their prototypes are

[27] The u in udelay represents the Greek letter mu and stands for micro.

#include <linux/delay.h>

void udelay(unsigned long usecs);

void mdelay(unsigned long msecs);

The functions are compiled inline on most supported architectures. The former uses a software loop to delay execution for the required number of microseconds, and the latter is a loop around udelay, provided for the convenience of the programmer. The udelay function is where the BogoMips value is used: its loop is based on the integer value loops_per_second, which in turn is the result of the BogoMips calculation performed at boot time.

The udelay call should be called only for short time lapses because the precision of loops_per_second is only eight bits, and noticeable errors accumulate when calculating long delays. Even though the maximum allowable delay is nearly one second (since calculations overflow for longer delays), the suggested maximum value for udelay is 1000 microseconds (one millisecond). The function mdelay helps in cases where the delay must be longer than one millisecond.

It's also important to remember that udelay is a busy-waiting function (and thus mdelay is too); other tasks can't be run during the time lapse. You must therefore be very careful, especially with mdelay, and avoid using it unless there's no other way to meet your goal.

Currently, support for delays longer than a few microseconds and shorter than a timer tick is very inefficient. This is not usually an issue, because delays need to be just long enough to be noticed by humans or by the hardware. One hundredth of a second is a suitable precision for human-related time intervals, while one millisecond is a long enough delay for hardware activities.

Although mdelay is not available in Linux 2.0, sysdep.h fills the gap.

(...)"

Link to comment
Share on other sites

Guest setor

@cuttysark76

"Sometimes a real driver needs to calculate very short delays in order to synchronize with the hardware." Thats the point. You modified the ZTE V9/Light 2.2 stock rom build.prob file, i believe you only change the screen resolution line and it worked. Thats perfectly normal, ZTE V9/Light 2.2, ZTE Blade and ZTE joe use same hardware configurations so only screen type (resolution, size etc..) different. i looked and scan every kernel source file what i saw eclair source code for zte blade and zte joe is identical both file size and also source code based. So i start to scan blade froyo kernel source i saw 2 differences in the board-zte-blade.c and board-joe.c one of them is about .udelay value other one is about memory mapping meanwhile i believe memory mapping is about optimization. Its a second step of running froyo on the zte joe. So i ignore it, only thing that i have is touchscreen problem and i came to udelay value. Thats all my idea maybe its true maybe not.

Link to comment
Share on other sites

Guest cuttysark76
Thats all my idea maybe its true maybe not.

I hope it's true!

just waiting for someone to compile it, and I'll test it! I don't know how to...

Are you aware of any build.prop command that might work as a workaround?

or

Where in the ROM can I find this? If it's a jar file, I might change the extension to ZIP and edit that value with a .class editor for instance...

Edited by cuttysark76
Link to comment
Share on other sites

Guest setor

cuttysark76@

Right now im at the work, let me see when i reach the home

Interesting your logcat file indicates that synaptic touchscreen driver works fine and also joe-keypad device added normaly, which means that zte racer use same touchscreen driver.

KeyInputQueue( 1214): Device added: id=0x10002, name=synaptics-rmi-touchscreen, classes=14

KeyInputQueue( 1214): X: min=0 max=1670 flat=0 fuzz=0 ================> |

KeyInputQueue( 1214): Y: min=0 max=2787 flat=0 fuzz=0 ================> |

KeyInputQueue( 1214): Pressure: min=0 max=255 flat=0 fuzz=0 ============> | we should check the values i think

KeyInputQueue( 1214): Size: min=0 max=255 flat=0 fuzz=0 ===============> |

KeyInputQueue( 1214): No virtual keys found

KeyInputQueue( 1214): Device added: id=0x30001, name=joe_keypad, classes=1

Edited by setor
Link to comment
Share on other sites

Guest cuttysark76
KeyInputQueue( 1214): Device added: id=0x10002, name=synaptics-rmi-touchscreen, classes=14

KeyInputQueue( 1214): X: min=0 max=1670 flat=0 fuzz=0 ================> |

KeyInputQueue( 1214): Y: min=0 max=2787 flat=0 fuzz=0 ================> |

KeyInputQueue( 1214): Pressure: min=0 max=255 flat=0 fuzz=0 ============> | we should check the values i think

KeyInputQueue( 1214): Size: min=0 max=255 flat=0 fuzz=0 ===============> |

KeyInputQueue( 1214): No virtual keys found

KeyInputQueue( 1214): Device added: id=0x30001, name=joe_keypad, classes=1

I get the same lines with the 2.2 Blade ROM

Link to comment
Share on other sites

Guest cuttysark76
So your asking to build a change the udelay to match the blade, and then build a joe kernel?

I believe he suggests to build a blade/razor kernel to match the joe kernel udelay. Can you build it for us?

Edited by cuttysark76
Link to comment
Share on other sites

Guest fguimas

Sebastian404,

I think what Setor wants to do is :

Change in a working ZTE Blade source code (Cyanogen, Jellyfish, etc) or ZTE Racer Source code, the udelay value from 40 (Blade), to 2 (Udelay for ZTE Joe), and the rom should work well as well the touchscreen.

Change Build.prop values to match the ZTE joe resolution 200x400.

By your experience we could not work with original source code issued by ZTE , because they have errors.

I dont understand where setor takes the udelay for ZTE Joe. If it is from original ZTE Souces probably it is not the right value.

Anyone can decompile the rom that sebastian404 build from a dump, to see the real values for Touchscrren Driver? I wish i have good programming Skills!!

Best Regards

Link to comment
Share on other sites

Guest Sebastian404

I've looked at a lot of devices, but I thought the problem with my self built kernel was the touch screen, so the udelay in the kernel IS 2.

and I thought he was asking for a JOE kernel with a Blade udelay setting.....

That would make more scense to me... I think...

Or is there more problems that just the touch screen with the kernel I made?

Link to comment
Share on other sites

Guest setor

sebastian404@

can you please chek the PM, you will find the zImage file which i compiled from the zte-blade based froyo kernel source. If you need anything to build custom rom please let me know. I hope it will help you to build froyo based custom rom for the zte joe (vodafone 945).

thanks

Link to comment
Share on other sites

Guest Sebastian404
sebastian404@

can you please chek the PM, you will find the zImage file which i compiled from the zte-blade based froyo kernel source. If you need anything to build custom rom please let me know. I hope it will help you to build froyo based custom rom for the zte joe (vodafone 945).

thanks

So... this is a blade 2.2 kernel? or have you changed it in some way to work with the Joe?

Link to comment
Share on other sites

Guest setor

its a blade 2.2 (froyo) kernel, i change some lines and also i choose lcd driver and touchscreen driver which is suitable for the zte-joe. I hope it will work :D

adding/changing or removing things;

- synaptic touchscreen driver

- Sensor/s drivers

- Himax WQVGA (400x240) lcd driver

- language support (for my native language)

- CPU freq is now between 200 Mhz and 800 Mhz (on demand)

- and i change the .udelay value from 40 to 2

BTW I forgot to say that its a TEST im not sure whether it will work or not

Edited by setor
Link to comment
Share on other sites

Guest fguimas

Hi

Sebastien404, i see in the racer forum that exists a froyo rom dump for a model called ZTE V852 that i think used the same motherboard id of Zte Joe(P727a30v0.0B02).

Can it work in ZTE joe symply changing the screen esolution on Build.prop, because i Think the screen resolution for this model is 320x240 ?

Best Regards

Link to comment
Share on other sites

Guest cuttysark76
Hi

Sebastien404, i see in the racer forum that exists a froyo rom dump for a model called ZTE V852 that i think used the same motherboard id of Zte Joe(P727a30v0.0B02).

Can it work in ZTE joe symply changing the screen esolution on Build.prop, because i Think the screen resolution for this model is 320x240 ?

Best Regards

I did just that... The screen resolution is easy to solve (build.prop) even the Blade's inverted screen... The problem is the touchscreen driver (first blocker).

I'm realy curious to know if Setor's solution works!

Please compile the ROM with his kernel!

Link to comment
Share on other sites

Guest ercan642

I think no one will write off only the sausage ZTE blade 2.2 rom ZTE 2.1 Froyo rom Would not it be loaded in the drivers is changed after

Edited by ercan642
Link to comment
Share on other sites

Guest cuttysark76
Hi

Sebastien404, i see in the racer forum that exists a froyo rom dump for a model called ZTE V852 that i think used the same motherboard id of Zte Joe(P727a30v0.0B02).

Can it work in ZTE joe symply changing the screen esolution on Build.prop, because i Think the screen resolution for this model is 320x240 ?

Best Regards

I believe it's called ZTE X852 and has an resistive touchscreen not capacitive like ours...

Link to comment
Share on other sites

Guest setor

cuttysark76,

Sorry i havent build the rom before, im using GNU/Linux thats why compiling kernel is the easy part. let me see what i can next weekend about the building the custom rom.

Link to comment
Share on other sites

Guest ercan642
cuttysark76,

Sorry i havent build the rom before, im using GNU/Linux thats why compiling kernel is the easy part. let me see what i can next weekend about the building the custom rom.

setor galiba sen romu hazırlıyacaksın gibi

Link to comment
Share on other sites

Guest setor

ercan642,

vaktim olsa halledilebilecek gibi gözüküyor ama vakit darlığı var, ayrıca github'a ulaşmakta buyuk sıkıntı yaşıyorum 1 haftadır repoları sync edemedim sürekli time out oluyor.

Link to comment
Share on other sites

Guest sweet_boy
ercan642,

vaktim olsa halledilebilecek gibi gözüküyor ama vakit darlığı var, ayrıca github'a ulaşmakta buyuk sıkıntı yaşıyorum 1 haftadır repoları sync edemedim sürekli time out oluyor.

Çalışmalarını bizimlede paylaşabilirmisin yardımcı olmaya çalışalım kernel i indirdim sync yaptım ama neler yapmam gerekiyor tam olarak bilmiyorum.

Link to comment
Share on other sites

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.