Jump to content

CyanogenMod 6.1.1 for B7610 update 01-06 // I am stopping my contributions as my phone died


Guest erikcas

Recommended Posts

Guest matriX1218

Bug 1 is also mentioned by users on I8000. For bug 2 I will make a testversion which you can try. I don't think it will solve it but we can try.

I changed the batterydriver and tested it on my device. It didn't charge in android. But that could be caused by my phone using a white label battery instead of the original.

So I will compile a kernel for B7610 with original devs battery driver tonight and PM you link. Can you test if battery charges with it and test if your battery become less hot?

Note: my phone is charging to 95% one time, next time it charges up to 100% I think this has to do with environmental settings like temp and moisture.

My phone/battery never heats up during charging. But we have to test original battery with original driver anyway.

Hey thanks,

also PM me existing drivers in case test version cant work..

waiting for your PM

Link to comment
Share on other sites

Guest erikcas

Hey thanks,

also PM me existing drivers in case test version cant work..

waiting for your PM

having a problem with my compiler. Somehow kernels don't work, have to fix it. Will be tomorrow I am afraid

Link to comment
Share on other sites

Guest erikcas

@erikcas, what do you use to check the accelerometer?

I checked it with AndroSensor, and I see that the accelerometer isn't reporting any values most of the time. It has something to do with the compass, because if I rotate the phone while keeping the screen level (facing the ceiling), I get readings at some orientations. Probably a coding error which quits the readout subroutine.

When I do get readings, all seem to be reverse BUT consistent which is a good thing, I don't know if it's just your zImage that works that way, or if it's the same with REV75. The crippled readout is in all versions, I've noticed.

I would change this


    x = kxsd9_get_valid_value(&buf_read[0]);

    y = kxsd9_get_valid_value(&buf_read[2]);

    z = kxsd9_get_valid_value(&buf_read[4]);

to this:

    x = -kxsd9_get_valid_value(&buf_read[0]);

    y = -kxsd9_get_valid_value(&buf_read[2]);

    z = -kxsd9_get_valid_value(&buf_read[4]);

That way, you'll affect all if-cases. The following is also stupid, I think:

        acc_data.x = (x - 2080) / div_val; 

        acc_data.y = (y - 2080) / div_val;

        acc_data.z = (z - 2080) / div_val;


        if (swap == 1) {

                acc_data.x = (y - 2080) / div_val; 

                acc_data.y = (x - 2080) / div_val;

        }       


        if (swap == 2) {

                acc_data.x = (z - 2080) / div_val; 

                acc_data.z = (x - 2080) / div_val;

        }       


        if (swap == 3) {

                acc_data.y = (z - 2080) / div_val;

                acc_data.z = (y - 2080) / div_val;

        }       

Three values are calculated in the top three lines. But if 'swap' is between 1 and 3, two values get recalculated, which costs extra processor time. Little, but still. More efficient would be:

        switch (swap) {

            case 1:

                acc_data.x = (y - 2080) / div_val; 

                acc_data.y = (x - 2080) / div_val;

                acc_data.z = (z - 2080) / div_val;

                break;


            case 2:

                acc_data.x = (z - 2080) / div_val; 

                acc_data.y = (y - 2080) / div_val;

                acc_data.z = (x - 2080) / div_val;

                break;


            case 3:

                acc_data.x = (x - 2080) / div_val; 

                acc_data.y = (z - 2080) / div_val;

                acc_data.z = (y - 2080) / div_val;

                break;


            default:

                acc_data.x = (x - 2080) / div_val; 

                acc_data.y = (y - 2080) / div_val;

                acc_data.z = (z - 2080) / div_val;

                break;

        }       

This way, a value never gets calculated twice, which is important, as divide operations are processor-intensitive, relatively. The 'default' case could probably also be at the top as 'case 0', but I can't test it and this way it behaves exactly as the original code. No time today to contribute anything further, we have to find out why accelerometer-events are not always happening. AndroSensor could be faulty, with the 'Waiting for event' message, but in Froyo beta1 it happened much less, and was unrelated to the compass. Oh, and on line 264 there is bad coding, this gives division by zero errors in the code above, try replacing it with 10000 or something:

              case 30:

                        div_val = 0;

                        break;

Please tell me, do I have to use linux to compile the zImage, or can it be done in Windows? Or should I just Google? I'm really new to Android

Didn't work. But it is interesting, will adapt it a little. Agree on the divide by zero case.

Link to comment
Share on other sites

Guest erikcas

Hello guys,

Cold domeinen make me an update wicht changeren the 'wl' lettre grond 'back to 'home'?

I really miss the home key on the b7610

frb3update.tar.gz

Contains qwerty.kl file with HOME assigned to w&l key.

Keep the file somewhere to be sure, so you can reuse it after future updates.

Just place in the root of your my storage and boot with haret.

(you might have to reboot once more to make it functional)

Edit: I will assign HOME to w&l key in future updates

Edited by erikcas
Link to comment
Share on other sites

Guest erikcas
Hello, backlit keyboard is always lit, and the drain battery. Is there a way to fix this?

It is led. So is not the cause of battery drain. Battery drain is suspectedly caused by sensor. Devs are on this.

Link to comment
Share on other sites

Guest Isascaboy89

i've reintalled android on my b7610 following the guide that i've posted some page ago and i can now confirm that it's all working...you will succed in installing android if you follow that guide

Link to comment
Share on other sites

Guest pentarick

See datasheet of accelerometer.

The offset value of 2080 used in the code is incorrect, it shoud be 2048. But this won't make much difference.

Also, I don't know what all reverse and division factor branches are for, in the datasheet I only see four division factors. Looks like someone has been toying with the code and forgot to clean up.

I have to know how Android communicates with the driver if I want to make sense of the code.

@erikcas, GPS sensor is outputting the readings of the accelerometer in degrees, isn't it? It's better to look at the raw XYZ values of the sensor if you want to make corrections.

Link to comment
Share on other sites

Guest erikcas
See datasheet of accelerometer.

The offset value of 2080 used in the code is incorrect, it shoud be 2048. But this won't make much difference.

Also, I don't know what all reverse and division factor branches are for, in the datasheet I only see four division factors. Looks like someone has been toying with the code and forgot to clean up.

I have to know how Android communicates with the driver if I want to make sense of the code.

@erikcas, GPS sensor is outputting the readings of the accelerometer in degrees, isn't it? It's better to look at the raw XYZ values of the sensor if you want to make corrections.

Well. I don't think Sandor is toying. I asked Voytekcst about the division by zero, he is going to ask Sandor.

And yes I use GPS sensor for quick look. For exact look, I look at the debug in dmesg. You have to compile zImage with debug on for the driver. Exact values for output are printed in dmesg then

Link to comment
Share on other sites

Guest centodue

See datasheet of accelerometer.

The offset value of 2080 used in the code is incorrect, it shoud be 2048. But this won't make much difference.

Also, I don't know what all reverse and division factor branches are for, in the datasheet I only see four division factors. Looks like someone has been toying with the code and forgot to clean up.

I have to know how Android communicates with the driver if I want to make sense of the code.

@erikcas, GPS sensor is outputting the readings of the accelerometer in degrees, isn't it? It's better to look at the raw XYZ values of the sensor if you want to make corrections.

sure that is 2048 the right value because all devices uses digit steps and so 2048 is 11 bit precision (2^11) and the twelfth bit is for "+" or "-" (totally 12 bits)

In post #264 i wrote installation tutorial and list of known bugs, and some temporary solution

New one that nobody said (maybe because is just mine ):

when call starts the display goes off I am not able to use functions, menu or more because it remains black.

Auto rotation is disabled to don't have portrait as default, could it be this the problem? I have not tried to activate its.

Edited by centodue
Link to comment
Share on other sites

Guest Isascaboy89

sure that is 2048 the right value because all devices uses digit steps and so 2048 is 11 bit precision (2^11) and the twelfth bit is for "+" or "-" (totally 12 bits)

In post #264 i wrote installation tutorial and list of known bugs, and some temporary solution

New one that nobody said (maybe because is just mine ):

when call starts the display goes off I am not able to use functions, menu or more because it remains black.

Auto rotation is disabled to don't have portrait as default, could it be this the problem? I have not tried to activate its.

Ehi Hi centodue, i'm Willy89 from Ip Mart Italia.

This is my account here in Modaco

By the way i've also the problem of the black screen when calling and also for me it's impossible to use functions, menu or more until i quit the chat.

For the one who are interested here are the instruction for dual boot your device

- Download and install on My storage or internal memory GenYDualBoot (you can easily found it on XDA, just google "GenYdualBoot xda")

- Once installed copy "haret.exe","startup.txt","zImage" on the ROOT of your SD card

- Now everytime you boot up your phone you can choose between Android or WM

And now a little question:

It's there some way to make the device screen automaticaly "wake up" when a sms arrives?

Mine is still black, and i have to wake up manually

Link to comment
Share on other sites

Guest erikcas

Ehi Hi centodue, i'm Willy89 from Ip Mart Italia.

This is my account here in Modaco

By the way i've also the problem of the black screen when calling and also for me it's impossible to use functions, menu or more until i quit the chat.

For the one who are interested here are the instruction for dual boot your device

- Download and install on My storage or internal memory GenYDualBoot (you can easily found it on XDA, just google "GenYdualBoot xda")

- Once installed copy "haret.exe","startup.txt","zImage" on the ROOT of your SD card

- Now everytime you boot up your phone you can choose between Android or WM

And now a little question:

It's there some way to make the device screen automaticaly "wake up" when a sms arrives?

Mine is still black, and i have to wake up manually

Check the I8000 forum for both sms and call-receiving bug. It is not B7610 specific, it occurs also on I8000. We have to wait for devs to solve it

Link to comment
Share on other sites

Guest Isascaboy89

Check the I8000 forum for both sms and call-receiving bug. It is not B7610 specific, it occurs also on I8000. We have to wait for devs to solve it

Hey erickas!!!!

Wow you have been so fast in answering!!!

don't worry, for me the bug that i've mentioned on my last post isn't so disturbing, so i can wait without problem.

Once more thx to you guys, you have made a wonderful work.

I hope that my installing guide and dual boot guide will be welcome and don't offend anibody.

One more question (thx a lot for your patience erickas, i now that i'm annoying, but do you have the "ClockSync" apk?

Sorry for grammatical mistakes but 'im a bit tired

Edited by Isascaboy89
Link to comment
Share on other sites

Guest erikcas

Hey erickas!!!!

Wow you have been so fast in answering!!!

don't worry, for me the bug that i've mentioned on my last post isn't so disturbing, so i can wait without problem.

Once more thx to you guys, you have made a wonderful work.

I hope that my installing guide and dual boot guide will be welcome and don't offend anibody.

One more question (thx a lot for your patience erickas, i now that i'm annoying, but do you have the "ClockSync" apk?

Sorry for grammatical mistakes but 'im a bit tired

Don't bother about the grammatical mistakes, I understand anyway ;)

No I am not familiar with the clock-sync apk.

What does it do?

Link to comment
Share on other sites

Guest Isascaboy89

From what i've read on the web, it solves the problem of "one hour back " clock in android.

I mean: when you launch android if it's for example 22.00, android clock displays 21.00...it's not a big bug but if clock sync solves it i will be happier..

Link to comment
Share on other sites

Guest erikcas

From what i've read on the web, it solves the problem of "one hour back " clock in android.

I mean: when you launch android if it's for example 22.00, android clock displays 21.00...it's not a big bug but if clock sync solves it i will be happier..

I solved it by setting timezone to 0.00 hrs London/Dublin timezone and set my clock to local Amsterdam time (=my localtime).

Now android shows correct time.

Edited by erikcas
Link to comment
Share on other sites

Guest erikcas

sure that is 2048 the right value because all devices uses digit steps and so 2048 is 11 bit precision (2^11) and the twelfth bit is for "+" or "-" (totally 12 bits)

Well,2048 might be right for counting, I'm not so sure if this is the right value for use in the driver.

The 2080 value is used in the original driver to.

And think about it. 2080 - 2048 = 32

So it could be plausible that first 32 bits are used for settings like on and off, standby etcetera

Link to comment
Share on other sites

Guest centodue

Hey erickas!!!!

Wow you have been so fast in answering!!!

don't worry, for me the bug that i've mentioned on my last post isn't so disturbing, so i can wait without problem.

Once more thx to you guys, you have made a wonderful work.

I hope that my installing guide and dual boot guide will be welcome and don't offend anibody.

One more question (thx a lot for your patience erickas, i now that i'm annoying, but do you have the "ClockSync" apk?

Sorry for grammatical mistakes but 'im a bit tired

Hi Willy

if you read post #264 you can say to me if could be a good UNIQUE tutorial with Installation, DualBoot, some solution to optimize installation

ClockSync is free on the market (try to type "clock sync") and it can be set to update time in every boot of the phone.

With this solution there is not the problem to have WMO and Android with different time!

Link to comment
Share on other sites

Guest centodue

Well,2048 might be right for counting, I'm not so sure if this is the right value for use in the driver.

The 2080 value is used in the original driver to.

And think about it. 2080 - 2048 = 32

So it could be plausible that first 32 bits are used for settings like on and off, standby etcetera

Reading datasheet I found this:

"Accelerometer Read Back Operation

The KXSD9 has an onboard 12-bit ADC that can sample, convert and read back sensor data at any time..."

pag 20 of datasheet has a label

2080 in decimal is 820 in hexadecimal --> 819 counts/g (most precise condition !) and 1 bit for the sign +/-

Edited by centodue
Link to comment
Share on other sites

Guest Isascaboy89

Hi Willy

if you read post #264 you can say to me if could be a good UNIQUE tutorial with Installation, DualBoot, some solution to optimize installation

ClockSync is free on the market (try to type "clock sync") and it can be set to update time in every boot of the phone.

With this solution there is not the problem to have WMO and Android with different time!

Ciao, or better Hi centodue, i will read immediatly post #264 and tell you mine impressions..

I've downloaded and installed ClockSync from the market.

When you have time please go on ip mart and check my guide and tell me what you think about it

I've read your guide and i have to say that's it's very very well written, the only part obscure to me was the part concerning ubuntu, but just because i've never used it.

Very well done work centodue!!!

Edited by Isascaboy89
Link to comment
Share on other sites

Guest erikcas

Hi Willy

if you read post #264 you can say to me if could be a good UNIQUE tutorial with Installation, DualBoot, some solution to optimize installation

ClockSync is free on the market (try to type "clock sync") and it can be set to update time in every boot of the phone.

With this solution there is not the problem to have WMO and Android with different time!

Don't have wrong time in WinMo only not set the timezone I live in. That doesn't bother me

Link to comment
Share on other sites

Guest erikcas

Reading datasheet I found this:

"Accelerometer Read Back Operation

The KXSD9 has an onboard 12-bit ADC that can sample, convert and read back sensor data at any time..."

pag 20 of datasheet has a label

2080 in decimal is 820 in hexadecimal --> 819 counts/g (most precise condition !) and 1 bit for the sign +/-

That is the most plausible :-) but I only searching for the right signs (+ and -) and sequence in the equations of the driver.

Edited by erikcas
Link to comment
Share on other sites

Guest maddoc600

Thanks to Centodue and Erikcas!

Finally I got my b7610 back from samsung support (touch panel broken and they said a keyboard problem)

I installed beta 3 with kernel 75 patch

It seems to work perfectly except for keyboard mapping

any other italian user has problem with keyboard?

thanks!

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.