yashsingh1/xdaforums huggingface dataset:
[Nexus One Android Development] persiansown:
What this kernel does is provide slightly less voltage to the processor. This should not be dangerous for anyone to try, however it may be unstable or just result in general weirdness on a few phones. If it does, all you have to do is revert back to the kernel you had before.

The upsides to less voltage are less heat as well as less power consumption. That means battery life :)

Remember, this one is running at stock speeds.

Get it on Koush's RomManager (download RomManager from the market) I'll post changelogs in this thread from now on, but keep the kernel on RomManager.

Changelog 8/29:

Lots of stuff.. I dunno.. Look at the CM6 kernel changelog (I've been working on that).

Biggest thing IMO is the usleep stuff which lowers CPU usage and therefore increases battery life.

Note: only tested on CM6. Let me know if you try it on any other roms.

Link: http://kanged.net/up/files/5/kernels/signed-August26-UV950.zip

Changelog 6/20:

Ermm.. I've been releasing my kernels on twitter.. but I'm finally happy with this one.

-Latest Cyan commits

-Minor voltage tweaking

-erm... yeah I dunno.

Get it here http://kanged.net/kmobs/signed-619UV-34.zip or from RomManager.

Changelog 5/14:

-Reinstated those commits reverted earlier.

-Updated to .33.4

-Only doing a 925mV kernel due to the results from the blind study

Changelog 5/1:

-Reverted the following commits thanks to intersectRaven. I think they were the reason for the excessive battery drain.

27dd25f80402a13f9d5c381eda07b560e5545fcc

1490683fb851b992722cbd175d3df087df833656

f2513498e961966d3209aacfffc43de4f41f2ece

-Updated to latest CM source (minus those commits)

Changelog 4/21:

Fixed the board-mahimahi.c in the 850mV kernel.

OLD updates and changelog:

http://iq0.org/story/yet-another-nexus-one-kernel-now-battery-saving

Note: Now offering a universal update.zip method for flashing the kernel (big thanks to Koush for this one)

Thank you www.tdrevolution.com for hosting my work.
[Nexus One Android Development] Mi|enko:
Does it still have the highmem?
[Nexus One Android Development] bobtentpeg:
GEtting an access denied message, Seems the post doesnt exist
[Nexus One Android Development] david1171:
Great job. Will get you a logcat if I get any random weirdness.

Maybe now my battery can last longer then my G1 battery did when I am at work.
[Nexus One Android Development] FettsVett:
Anyone care to make an update.zip for those of us without computers nearby to check this out?
[Nexus One Android Development] DocRambone:
Tested and functional with Enomther 1.61. Thanks a lot :)

What is the CPU voltage and is the some app that can show it?
[Nexus One Android Development] andonnguyen:
Running this new kernel at 576/245 mHz, wifi off, 3G connection, brightness set to automatic. will report back with battery life as soon as it runs out. lol

Off of charger: 11:34AM , Wednesday, February 17, 2010

Battery completely drained: TBA
[Nexus One Android Development] mgear356:
Hey do report if there is any improvements... meanwhile can someone make it into to an update.zip for us?
[Nexus One Android Development] DocRambone:
I will, phone seem ok so far, BenchmarkPi at 2670 :)

No slowdowns or reboots during benchmarks or gameplay. Phone feel cooler tho :)
[Nexus One Android Development] jchap2k:
I'll give this a shot.
[Nexus One Android Development] jdoo:
just flashed it. yes it does. my phone hasnt exploded yet either...
[Nexus One Android Development] persiansown:
Yes

To those asking for an update.zip: I don't to package this into something that will be easily flashable by all, including those that may not understand the risks (I don't think there are any with this kernel, but can't be sure). I want there to be some rudimentary knowledge of android before someone goes and flashes this and potentially messes up their phone.

Does that make sense? I feel that there should be a barrier to entry on kernels that OC and the like.
[Nexus One Android Development] DocRambone:
What voltages is it for different MHz?
[Nexus One Android Development] clustered:
great job, really need something like this... im trying it out! thanks
[Nexus One Android Development] persiansown:
Its not across the board, and I'm not home right now to tell you, but 245 is at 1.0 vs 1.05 and 998 is at 1.250 instead of 1.275
[Nexus One Android Development] FettsVett:
I do understand what your saying, I don't think its that much of a barrier though. There are many instructions throughout these boards that will let anyone who is even remotely interested flash a new kernel and push a .ko to their phone... The only reason why I want an update.zip is so that I can flash this on my phone to test it while I'm at work, it would also be nice to be able to switch quickly between kernels and whatnot. I don't have a computer that I can connect to via USB to run fastboot/adb so the only way I can get these on my phone is via a zip.

I don't think that a developer/hacker can be held responsible for others not knowing what issues can be caused by a voltage/clock tweak - especially with disclaimers up everywhere. :)
[Nexus One Android Development] persiansown:
Oh I understand where you're coming from, and I would make you a private one, but I'm not home at the moment. However, for the general user, if they can't use fastboot, I don't want them anywhere near this. I hope someone makes you an update.zip!
[Nexus One Android Development] FettsVett:
I await the PM's! :)
[Nexus One Android Development] dahui9:
Dear lord what am I going to do with this should I get my 2800mah battery?:confused: my phone will never die! lol

-Charlie
[Nexus One Android Development] pershoot:
you can make one yourself.

grab boot.img from cyanogen's rom.

grab split_bootimg.pl from http://android-dls.com/files/linux/split_bootimg.zip

grab persiansown's zImage.

(in linux)

put all three in a folder. let's call it kernel.

while in the kernel folder:

./split_bootimg.pl boot.img

mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage-persiansown --ramdisk boot.img-ramdisk.gz -o boot-persiansown.img

(in windows)

download this: http://www.sendspace.com/file/kj2wi7

use winrar to open up that up, remove the boot.img in there and replace it with boot-persiansown.img (make sure it is named boot.img)

open up the update-script in META-INF folder (some levels down in there), and remove the format BOOT line (you'll be left with write_raw_image ... line), and save it.

grab this: http://www.relentlessaddictions.com/Androidstuff/signing.zip

unpack to your tools folder in your android-sdk folder distribution, and run autosign.bat. follow the prompts. once setup, you can right click on the .zip file with the boot.img in it to sign it, or you can execute from a cmd prompt: java testsign BOOT-IMG.zip

flash via custom recovery (which can flash .zip's signed with test keys).

you should be all set.

edit: mkbootimg can be found in prebuilt within AOSP distribution, or you can grab this precompiled one: http://xdaforums.com/attachment.php?attachmentid=229872&d=1253485580
[Nexus One Android Development] persiansown:
Damn it does? I haven't really played with.
[Nexus One Android Development] DocRambone:
What was the voltages in your overclock kernel?
[Nexus One Android Development] pershoot:
ya. maybe i can make the step up/down slighter to coerce it in to going (not sure if you can make increments smaller then .25 though). will report back tonight when i get home, and able to do further testing (i made other changes in the kernel alongside this, which may or may not have affected the validity of this).
[Nexus One Android Development] pershoot:
1275@1113

.........
[Nexus One Android Development] persiansown:
I think .025 are the smallest jumps we can make unfortunately. What happens when you set the voltage too low on it?
[Nexus One Android Development] Ivan Dimkovic:
One note about undervolting in general.

Voltages deemed "stable" by chip designer are usually higher than "absolute stable" voltages for a given CPU, depending on the process. In some cases, voltages are set per batch, etc... meaning that your particular unit might be better, or it might be that "the worst" one from the batch.

What does this mean? There is a good chance your CPU might run on significantly lower voltages - but there is also some chance that it cannot take any decrease in voltage before starting to produce errors in computing.

So, the only viable method is to test - and the best method to test is via some kind of stress-test which uses CPU resources as much as possible. Every CPU is different, and some could be significantly better.

Also, the amount of current leakage per CPU is variable, and it is different per unit - of course, variations in leakage are usually kept within some known limits which are estimated by the fab, and your temperature is actually dependent on this - some CPUs will be hotter than others even on the same voltage due to difference in leakage.
[Nexus One Android Development] pershoot:
when it scales up to the clock, freeze for a few seconds then reboot.
[Nexus One Android Development] DocRambone:
I been using the first overclock kernel for some days: ROCK solid and very nice battery time to. Cant see any differ from stock or undervolted kernel in battery time.
[Nexus One Android Development] gururise:
Are you guys using setCPU or the Overclock widget to get better control over CPU scaling?

I was originally using setCPU 1.46 and noticed when I set the freq range to be 245 - 998mhz, the cpu would sit mostly at 998 mhz and would never scale down with the default settings in setCPU. I would have to fiddle with the advanced power saving values to get it to scale down. I would imagine always having your CPU running full bore would eat up battery quickly. So, for those of you using setCPU, what values are you using in the advanced tab?

Also, I tried the overclock widget, and noticed I was able to get my CPU to scale all the way down to 128mhz. It seems to work fine. I'm wondering what voltage you are using at 128mhz, or is that even a defined frequency for the snapdragon in the Nexus One?
[Nexus One Android Development] FettsVett:
as a request, do you think you could look into getting 2.6.32 CM kernel working with these voltages? (it should be released by the time you get around to it)
[Nexus One Android Development] pershoot:
i will pull the source tonight/this wknd and take a look.
[Nexus One Android Development] persiansown:
I'm going to update my kernels to the newer .32 branch now. Cyanogen merged everything :)
[Nexus One Android Development] DocRambone:
Please update the overclock kernel too :)
[Nexus One Android Development] seanowns:
Woo! Looking forward to your underclocked .32!
[Nexus One Android Development] Aspergillus:
Dear m8's,

I had some findings that are strange.

With the old Cyanogen original kernel my Battery Temperature was allweas between 26 an 33°C.. Even after houers in standby it was 26°C..

After 1h Browsing the internet it was usually about 33°C

I updated to this kernel here the Temperature dropped to 21°C immediatly..

Good deeper temp less energy consumption..

The thing is that i can feel 1°C of temp difference in between 20 and 35°C (because im a fishkeeper and check tank temp dayly.)

Tha Handy said 21°C but felt defnetly warmer than my Fishtank at 27°C

I needet to test it..

Temp was 20°C..

- Shutdown Handy

- flash original Kernel

- reboot

---->> Temp 32°C (just about 1 minute after it was 20°C)

Quick heat up and still icould not feel any difference.

So again:

Initial Temp 33°

-Shutdown Handy

- Flash UV-Kernel

- reboot

---->> Temp 21°C (just 1 min after it was shown to be 33°C)

Never .. even if i shoot down the Handy the temperature sunk that fast..

So i dont know what that means but the Battery Temerature measured after flashing UV-Kernel cant be correct!

I know less Voltage->less Temerature.. But less Voltage does not make a mass cooling down faster than it can...

I dont want to say this is just a fake showing manipulated Battery Temeratures..

But is ist possible that the reduced Voltage is also used for Temerature measuring?

Because Temperature Measuring is measuring electric resistance.. and if this is done with less Voltage..

it coud cause exactly that the temp is meassured to deep.

Regards

Aspi
[Nexus One Android Development] persiansown:
Aspergillus: I agree that there is something fishy (pun intended) about the clock readings and what you are saying makes sense. Keep in mind, however, that this isn't processor temp, but system temp. Still.. I don't know what causes it and don't think the temperature is an accurate way of describing the effects of the undervolt. But I think we can agree that the phone feels cooler than it did running a standard kernel.

On a related note, .32 undervolted kernel has been distributed to testers and is on my phone now :)

Edit: Battery temperature monitor seems fixed on .32!!!!
[Nexus One Android Development] Aspergillus:
Thats the point I think exactly this we can not. As i said usually touching my Aquarium Front Glass i can guess temerature 1°C exact.

Because i did not feel any difference i started investigating this.

-------------

What we can agree is that the meassured Temerature cant be correct.

After UV Kernel.

The last test i made.. I flashed UV kernel and the "meassured" temerature sunk about 5°C below the room temperature. (did it in my Fishroom that has 26°C)

Regards

Aspi
[Nexus One Android Development] persiansown:
The temperature sensor on the .29 kernels are broken. I don't know why.

But they're fixed in my .32. I'm going to release it shortly
[Nexus One Android Development] FettsVett:
@persiansown sent you a pm.
[Nexus One Android Development] jtz100:
love it geting 20hrs with facebook and 3g runing
[Nexus One Android Development] Lox_Dev:
The source of that kernel is still not online?

Please note that even if you change one file, you

have

to release source of it.

Regards.
[Nexus One Android Development] persiansown:
I'm pretty sure you only have to if you are asked. I may be wrong. Do you want it? If you do I'll give it to you.
[Nexus One Android Development] pzumk:
Always getting "writing zImage .. INFOsignature checking.. FAILED (remote: signature verify fail)" when trying to flash the new kernel..

worked fine with the OC'ed kernel :\

Umm.. epic fail.

i wrote fastboot flash zImage instead of fastboot flash zimage -.-! worked now.

Edit // But now I'm getting "read-only file system"-error when pushing .ko to /system/lib/modules

Another epic fail, forgot to remount xO
[Nexus One Android Development] seanowns:
Ok .32 kernel installed and pushed .ko. Everything going well on Cyan5.02.
[Nexus One Android Development] craigacgomez:
Well, I've been in the Android universe for just over 2 week now... and done many things from unlock to flash ROM to sign a modified CM ROM. But this time I'm kinda stumped...

I downloaded the under-clocked .32 kernel and tried to flash in using fastboot (yes, I'm in bootloader fastboot usb mode, and yes my phone is detected). But I get a remote: unknown fail

G:\32kernel1125>fastboot flash zimage zImage

sending 'zimage' (2314 KB)... OKAY

writing 'zimage'... FAILED (remote: unknown fail)

Any ideas???
[Nexus One Android Development] pzumk:
Try this

http://xdaforums.com/showpost.php?p=5664819&postcount=110
[Nexus One Android Development] Lox_Dev:
Just put it on something like github and keep it up2date, as everyone else does, so we do not have to ask for its sources everytime it is updated...

So obvious...
[Nexus One Android Development] seanowns:
drop the Z on first zimage
[Nexus One Android Development] Nativedude:
Got .32 running on mine, wifi works fine

and don't have any vdd errors so far like I did on the last one

Great Work persiansown!

and of course a Great thanks to cyanogen for giving us the main kernel!
[Nexus One Android Development] DebauchedSloth:
Looking very, very nice here. Phone is cool.
[Nexus One Android Development] QTeknology:
Should I read 2.6.32.8 inside settings/phone info ?

Cause I flashed it but I see 2.6.29.6

update:

ok I flashed zImageundervolt instead zImage.........
[Nexus One Android Development] persiansown:
I'm not going to be bothered to update the one file every time I make a change, as per the GPL:

BTW there is a problem with camera in .32 It also is a bug in youtube. Cyanogen is fixing it as we speak.
[Nexus One Android Development] nellyspageli:
i got the new version working. thank you for the battery savings!

when i start the device launcher, it force closes repeatedly. im not getting insufficient power error in os monitor.

my workaround: it seems if i open an app during the first split second that launcher is opening before it force closes, the launcher opens fine in the background after this, the device runs smoothly no force closing of any kind.
[Nexus One Android Development] jsoverson:
Why are you being a douchebag to someone who is working on a public release for something you want?

The GPL doesn't give you the right to demand source code whenever your **** twitches.
[Nexus One Android Development] Gimpeh:
That last sentence made my foreskin quiver! Thank you! :P
[Nexus One Android Development] mikebeatrice:
Now the that temperature is reporting correctly.... what are you guys getting?

I've had it on for about 15 min or so and not plugged in it's at about 30.1 I'll leave the screen off for awhile and see how far down it gets.

Also... with this OS Monitor... what color will the heading be for a VDD error? Just curious. Will make it easier to spot if I know where to stop and check as I'm scrolling by.
[Nexus One Android Development] persiansown:
VDD error will be in red under the messages tab.
[Nexus One Android Development] Lox_Dev:
Everyone else is doing it!

Happy you are google and cyanogen bother pushing any little change they do...

Is that so bothering doing:

git commit
git push origin branch

?!?
[Nexus One Android Development] Hero_Over:
you tried using voice input to type this huh?
[Nexus One Android Development] mikebeatrice:
Would "Unable to drop ACPU VDD" be the one I'm looking for?
[Nexus One Android Development] hkfriends:
i got one VDD Error:

acpuclock: Unable to drop ACPU VDD

what is this means?
[Nexus One Android Development] persiansown:
Yes thats what you're looking for. I think I found the frequency that was the culprit

updating first post now. Camera issue is also fixed.
[Nexus One Android Development] mikebeatrice:
Now that's service. :-)

Thanks
[Nexus One Android Development] Wysie:
Thx for this :). Also, despite what GPL says, I think most of the people who want the source just want to contribute too (and I think it's easier than you sending the source each time they want it).
[Nexus One Android Development] persiansown:
all I've done is modify the cpu_freq table in acpuclock-scorpion.o. Can I just release it once pershoot and I come to a agreement on what we think will be most stable? It should be tomorrow. Its just that it seems kinda pointless to setup a github for this one file you know?

I will release the source, promise :)
[Nexus One Android Development] JoshHart:
Also getting broken wifi, aside from that seems smooth.
[Nexus One Android Development] coolbho3000:
Just release a patch, and point to where people can get the rest.
[Nexus One Android Development] mikebeatrice:
wifi is working fine for me... did you push the .ko file? it's required.
[Nexus One Android Development] JoshHart:
yeah, of course, /system/lib/modules, weird how it's not working for some people, could be because I'm on Enoms rom I guess.
[Nexus One Android Development] mikebeatrice:
Never know.. I'm on CM5.0.2 with the kspec theme.
[Nexus One Android Development] JoshHart:
anyone out there have this on Enoms with working wifi?
[Nexus One Android Development] mgear356:
wifi is working for me..

i am on 1.6.1 enomther

btw does this uv#7 sets lower voltage than un#2?
[Nexus One Android Development] mikebeatrice:
damn... still getting "Unable to drop ACPU VDD" on the newest you just posted. I guess my proc isn't as tolerant
[Nexus One Android Development] persiansown:
Guess not. Ill post one that isn't dropped as much as this tomorrow.
[Nexus One Android Development] hkfriends:
Why suddenly cannot flash ? :confused:

After flashing a few version of undervolatage ZImage, is my N1 dead?

>fastboot flash zimage zImage

sending 'zimage' (2313 KB)... OKAY

writing 'zimage'... FAILED (remote: unknown fail)
[Nexus One Android Development] antoniouslj:
I'm having the same problem... except mine sometimes says something about partition error.
[Nexus One Android Development] mikebeatrice:
I had the same flashing problem. Rebooted the PC and the usb could connect again... was really weird, never had that problem before.
[Nexus One Android Development] hkfriends:
i believe the partition is screw up now :-(

even wipe everything in recovery, no luck!
[Nexus One Android Development] DocRambone:
Installed without errors on my Enom 1.61 rom. No errors in OS monitor
[Nexus One Android Development] antoniouslj:
tried restarting my comp... still getting same error.

anyone know the relationship between boot.img and the zimage? could i not just replace the boot.img inside an update.zip with a renamed zimage along with the corresponding ko file for wifi pushed to right folder?
[Nexus One Android Development] pesho00:
persiansown You are genius,

I aways suspected that this CPU is Overvolted! Too hot and greedy. with You kernel trick it runs a lot cooler.

Thank You!
[Nexus One Android Development] scepterr:
The zImage is located within the boot.img. What we are doing is replacing the zImage(kernel) within the boot.img we are already running. So you can flash a boot.img to replace the zImage but not the other way around. Hope this clears up some confusion.
[Nexus One Android Development] MontAlbert:
i have had both of these- first one was partition error, second and third say unknown error....

is this standard with the new zImage?
[Nexus One Android Development] hkfriends:
it is strange now....if zimage is part of the boot.image,why i reflash cm 5.02 and still failed to to update zimage.

anyone out here can share some ligjt? Thx
[Nexus One Android Development] MontAlbert:
well, i cant even get past bootloader now- somehow i have stuffed up my nexus.... am i the first to brick one software wise? Dont know what i did- did same as i did last time to flash zImage.

now whatever i do it just reboots into the bootloader- maybe trackball stuck down?

***edit*** wiped and reflashed CM5.0.2.... at least i am up to boot screen now.... no brick... Phew! was wondering how i was gonna have to explain this to the missus..
[Nexus One Android Development] dirwdirw:
sending 'Zimage' (2313 KB)... OKAY

writing 'Zimage'... INFOsignature checking...

FAILED (remote: signature verify fail)

i flash ere27.superboot.himem, but i dont flash CM rom.

should i flash CM rom first?
[Nexus One Android Development] dirwdirw:
i flash zImageundervolt

it seems ok now

but, why i cant flash the latest one?
[Nexus One Android Development] hkfriends:
Check your spelling. it's case sensitive
[Nexus One Android Development] dirwdirw:
the filename is zImage

i tried

>fastboot flash zimage zImage

sending 'zimage' (2313 KB)... OKAY

writing 'zimage'... FAILED (remote: unknown fail)

>fastboot flash Zimage zImage

sending 'Zimage' (2313 KB)... OKAY

writing 'Zimage'... INFOsignature checking...

FAILED (remote: signature verify fail)

<fastboot flash zimage zImageundervolt

sending 'zimage' (2069 KB)... OKAY

writing 'zimage'... OKAY

what should i do???
[Nexus One Android Development] MontAlbert:
i had the same problem mate- i just gave up for now.... my phone is playing funny buggers with me tonight...
[Nexus One Android Development] hkfriends:
1 & 3 are correct
[Nexus One Android Development] dirwdirw:
but 1 is failed. and the 1 is kernel .32

now i use .29
[Nexus One Android Development] dirwdirw:
it seems you have the problem too

now you figure it out?
[Nexus One Android Development] hkfriends:
Not yet...not in home

but the 1st error may relatedto the boot image version

hope I can test more later today