kabkab

1% driver for omnia here

191 posts in this topic

It has been noted by several people, I have mentioned it in this thread before, that the 1% battery meter is draining the battery. Is this due to a bad hack job on the dll. No. It probably has to do with the driver polling more often.

I personally have noticed an unacceptable battery drain using the 1% battery meter in my cooked ROMs. So, I have gone back to the older driver and notice a difference.

If your experience is different then by all means use this as I am to telling you to do anything, however, don't discount the people who see this happening with their own eyes.

0

Share this post


Link to post
Share on other sites

Adrynalyne i havent said that you are stupid or liar. I guess the i910 driver is a bit more crazy than ours.

If you got offended im sorry but i didnt mean any of that way. Anyway hope you get it right.

c ya

0

Share this post


Link to post
Share on other sites

Finally tested this out myself with an i910, using the 256 version, I see a fluxuation / inaccuracy of 3-5% (better than 20%!) and not a huge impact on battery life after using it for about 6 hours with no charging. <_<

0

Share this post


Link to post
Share on other sites

I myself have noticed a bit of a power drain after installing this driver, but I do hate having the old 20% increments...

What does everyone think about having either a 5% or 10% step? It wouldn't take as many calculation, or whatever is causing everyone's power drain...

kabkab - would you be willing to modify the driver again to do this? I think it would be nice to see everyone be able to use your expertise and know-how in the i910 community as well...

0

Share this post


Link to post
Share on other sites

2 All

i'm not worrying and relaxing. :-)

Technical details

how driver working:

1. when system ask for power status driver ask battery IC for voltage.

2. this battery IC return some ADC value (this is voltage value, but indirect, in some relation measurement units)

3. after than driver try to calculate "compensated" value - it did not have current that device consume, but try to understand wassup (phone on, wifi on, gps on) and compensate this value.

4. after that driver calculate average ADC value (sum last 15 values and divide it by 15).

5. after that driver compare this average ADC against constant values of ADC and return real battery % value.

Patch

so, i patch step 4: right now driver use 64 or 256 (see post#1) values to calculate average ADC (15 is not enough, you'll see a lot of % changing up and down).

also i patch step 5: instead of fixing compare and return fixed 100/80/60/40/20... - i substract by 100 and return in 1% step values.

Possible problems with power drain

seems, that in some firmware's or some OS builds - system/some programs/i dunno who - perform some recalculations when battery % is changed.

because in this patched driver % really changed very often - this can happen massive power drain if case of massive recalculations.

Possibe solutions

When have some free time i can do following:

1. Increase sum of average values from 64/256 to much more value, like 1024/2048 - up to 65535.

2. Decrease accuracy and use 5% instead of 1%.

both steps will cause to slow % changing (and hit accuracy of coz) and _CAN_ (but not sure, that WILL) reduce power drain.

sorry, i did not have i910 and cannot test or see wassup.

suggestions are welcome

0

Share this post


Link to post
Share on other sites

Not sure if this helps narrow down the cause, but I am using the 256 driver for the i910, and it seems to cause less drain than the 64 driver.

Edited by Adrynalyne
0

Share this post


Link to post
Share on other sites
Not sure if this helps narrow down the cause, but I am using the 256 driver for the i910, and it seems to cause less drain than the 64 driver.

I'm using the 256. When I first posted yesterday at like 3:20PM EST, I had about 86% battery life. This morning after browsing the web some, texting a bit, and messaging on yahoo, and not charging AT ALL between then and now, I have about 56%. So a drop of about 30% over 17 hours isn't too bad at all for me!

I'm on an i910, using BlazingWolf's Rock and Republic v5 now, still with no excess battery drain. Not sure what was causing it for others, but seems to be isolated at least <_<

Edited by necosino
0

Share this post


Link to post
Share on other sites

Wanted to chime in that I am not noticing an increased power drain on:

i910

Wazzer's lite 6.5 v5

256 1% driver

Just in case anyone is trying to tabulate which driver does what on which phone... :D

0

Share this post


Link to post
Share on other sites
Wanted to chime in that I am not noticing an increased power drain on:

i910

Wazzer's lite 6.5 v5

256 1% driver

Just in case anyone is trying to tabulate which driver does what on which phone... :D

I'm using Wozzer's V.5 WinMo6.5 also, and I haven't noticed any unusually large power drain with the 1% battery indications. I overwrote it directly in the \windows folder, it wasn't part of the ROM.

0

Share this post


Link to post
Share on other sites
Which is the 256 file?

Same download but when you uzip the file use the one in the 256 folder.

0

Share this post


Link to post
Share on other sites
Same download but when you uzip the file use the one in the 256 folder.

Ah, I see! Have you tried the 256 version to see if the battery drain is less for you?

0

Share this post


Link to post
Share on other sites
Ah, I see! Have you tried the 256 version to see if the battery drain is less for you?

Yes, I have been testing it today. So far it is better than the first one. I am waiting to see what my drain is like tonight before I add it to my ROM.

0

Share this post


Link to post
Share on other sites
Yes, I have been testing it today. So far it is better than the first one. I am waiting to see what my drain is like tonight before I add it to my ROM.

So far I can vouch for the 256 version's battery drain, and would give it the green light to add it to your ROMs (Since that's what I use now :D )

0

Share this post


Link to post
Share on other sites

I am also using the 256 driver, and like I said, I notice a little more drain, but not substantial like some are seeing.

To the people that saw the 'HUGE' power drain - were you using the 64 values driver?

I think kabkab is right - when programs / OS see that the percentage of power left has changed, each piece of software will do something different internally and use that to run a 'task' (ie. display the percentage, graph on battery icon, dim screen, display notifications, power off bluetooth, wifi, phone, etc.)

If we can cut down the number of changes that the .dll submits to the OS, it may help.

kabkab - is there some sort of % of change threshhold that makes the dll report back to the OS? Or does the OS query the .dll indepenantly at a certain timed interval to grab the current percentage?

0

Share this post


Link to post
Share on other sites

Ok, here new test version for i910

256_5 - 256 values used for sum, decrement goes in 5%.

1024_1 - 1024 values used for sum, decrement goes in 1%.

check against power drain!

THIS IS i910 DRIVERS

zylonite_new.zip

Please, post feedback here - should i need to move this files to #1 post for everyone or delete this files, if they did not have any positive effect.

Edited by kabkab
0

Share this post


Link to post
Share on other sites
kabkab - is there some sort of % of change threshhold that makes the dll report back to the OS? Or does the OS query the .dll indepenantly at a certain timed interval to grab the current percentage?

OS itself did not need to know about battery.

Any program (including battery icon on taskbar) can:

1. query power status itself

2. subscribe to power change event.

first case we cannot control.

second case - i'm not sure. try to search for "RequestPowerNotifications" function in MSDN. this notification is raised by (who?) and then OS ask battery driver for status and send notifications to programs.

may be this notification is raised by battery driver itself - i don't know. but it should not. quick search in google give me some "power manager". anyway, more research needed. any info appreciated.

0

Share this post


Link to post
Share on other sites

kabkab are the test files for i900 or 910? i'm currently on sector's rom.

0

Share this post


Link to post
Share on other sites
kabkab are the test files for i900 or 910? i'm currently on sector's rom.

this is i910 driver since i900 users did not encounter any problems...

0

Share this post


Link to post
Share on other sites

Thank you for the work on the i910 driver kabkab. It is appreciated.

0

Share this post


Link to post
Share on other sites
Ok, here new test version for i910

256_5 - 256 values used for sum, decrement goes in 5%.

1024_1 - 1024 values used for sum, decrement goes in 1%.

check against power drain!

THIS IS i910 DRIVERS

zylonite_new.zip

Please, post feedback here - should i need to move this files to #1 post for everyone or delete this files, if they did not have any positive effect.

Thank you so much testing now!!!

0

Share this post


Link to post
Share on other sites
original driver taken from DXID1 firmware and patched to show battery capacity by 1%.

however, you never got exact value, you'll always got "somethin near".

also, battery controller return very chaotic values, so you always get "a bit up" and "a bit down" values during high load of device.

- All, what you doing - you doing at you own RISK!

- Make backup before installing

Samsung i900

Install:

1. Install developer certificates (attached)

2. Download zylonite_battdrvr.zip

3. Copy (with Resco File Explorer) attached zylonite_battery.dll to you \windows\ directory and overwrite original file

3. Reboot (Soft reset)

Remove:

1. Rename \windows\zylonite_battery.dll to anything else (for example to 1.dll)

2. Reboot (Soft reset). Original file will be recovered from you ROM

3. Delete renamed file (1.dll)

Samsung i910

Installation:

1. install developer certificates

2. verify, that size of \windows\zylonite_battery.dll is 43520 bytes (if you have another size - sorry! or continue at your own risk)

3. backup your copy of \windows\zylonite_battery.dll to somethin (for example zylonite_battery.dll.org)

4. download zylonite_battdrvr_i910.zip

5. copy patched driver (64 or 256 - details below)

6. reboot (Soft Reset)

Deinstallation:

1. Rename installed patched driver to something (like 1.dll)

2. Restore you backup (you should make backup at step 3 of installation!!!)

3. Soft reset

4. Delete renamed patched driver.

Difference between 64 and 256.

This is values used to calculate average voltage value (in original driver only 15 values used).

So, in case of 64 you got more accuracy but more chaotic jumping up and down during high load of device.

In case of 256 you got less accuracy, but less jumping, so % value is more stable.

Choose yourself!

Btw, anyway, after SoftReset you have some jumping while values (64 or 256) is collected.

Also, after charging (when you disconnect device) you have grow (jumping) % value for some time - because device driver try to "compensate" charging values. It's ok, in 2-3 min it's stop grow and start show real value.

Same happen when you connect you device and start charging.

Post you feedback! :-)

Certs.cab

zylonite_battdrvr.zip

zylonite_battdrvr_i910.zip

sorry to bother but how can I install certificate file ?????!!!!! :D

0

Share this post


Link to post
Share on other sites

I've been running the 1024 - 1% driver for several hours and have not noticed any ill effects. After installing the driver and restarting, I've been holding steady at 97% (idle, with no use) for about 5 hours.

I tried the 256 - 1% version yesterday but experienced backlight/screen issues (would not auto turn off. If the screen was turned off manually, it would turn back on automatically after a short time period).

- Omnia i910 (Verizon), stock ROM

0

Share this post


Link to post
Share on other sites

hi is it possible to go back to the old battery driver without flashing an old rom?

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

MoDaCo is part of the MoDaCo.network, © Paul O'Brien 2002-2016. MoDaCo uses IntelliTxt technology.