yashsingh1/xdaforums huggingface dataset:
[Samsung Galaxy Nexus] dlads:
Am i right in thinking that i pop this kernel into the adb tools folder then navigate to it via adb and run the flash command?

What state should my phone be in while i do this? In fastboot? Bootloader?

Sorry most of the phones i've had allow flashing from the recovery.

Thanks in advance.
[Samsung Galaxy Nexus] b15love:
Gonna start a thread to generate interest
[Samsung Galaxy Nexus] yungboss22:
Nice idea;)
[Samsung Galaxy Nexus] zhongfu:
Cannot boot up both kernels.

I have a problem with booting up both kernels on my GNex using fastboot boot.

GNex running 4.0.2 with yakjuxw stock, unlocked, rooted. Trying to boot up with kernels on Ubuntu. It appears to work, but when it boots up, it shows the Google logo then reboots and vibrates then booting up with the normal kernel. I tried booting it up after clearing cache and Dalvik cache, but still doesn't work.
[Samsung Galaxy Nexus] STONEMC:
GoogleTTS or PicoTTS isn't working....but I'll try to fix it by myself.
[Samsung Galaxy Nexus] dario3040:
Hey you two, stop necroing...
[Samsung Galaxy Nexus] STONEMC:
????

What does it mean???
[Samsung Galaxy Nexus] ogdobber:
http://bit.ly/xurc5x
[Samsung Galaxy Nexus] Luxferro:
It means stop bringing dead threads back to life. These kernels were only for 4.0.1 and don't work on anything higher that's why your getting boot loops. Find a different kernel.
[Samsung Galaxy Nexus] Schnello:
But the paper says there are two configs of the OMAP4460:

Source: OMAP4460_ES1.x_PUBLIC_TRM_vP.pdf

My question now: Is it possible to readout the flag "Silicon_Type"?
[Samsung Galaxy Nexus] Slemhelge:
Has anyone gotten stable 300-1400mhz voltage? im playing around with mine, while trying to get good batterylife and benchmark-scores..

I just dont seem to know how to turn off fsync, since people say its interfering with my I/O score, its about 5000 on Quadrant..

Any tips that doesnt involve buying Franco Kernel Updates from the Store?
[Samsung Galaxy Nexus] Vangelis13:
Jeebus, you woke up this thread for that..?:eek::p

Try Trinity, a couple of threads down.
[Samsung Galaxy Nexus] ogdobber:
search current dev kernels github commits;) https://github.com/ogdobber/android-omap-tuna/commit/98c6ce3fd7f2aeda6f3f60653394113762a1ffdd
[Samsung Galaxy Nexus] simms22:
echo "0" > /sys/devices/virtual/misc/fsynccontrol/fsync_enabled

in your terminal emulator.

0 turns it off, 1 turns it on. be aware, if you are using franco kernel with fsync off and you crash your phone, you could corrupt a partition or something else, and have issues booting your phone again. this can be fixed, sometimes its not very easy though.
[Samsung Galaxy Nexus] jlopez1286:
I need some help.. I tried to do the test boot but it stays stuck at the GOOGLE screen...any one else had this issue??
[Samsung Galaxy Nexus] djjonastybe:
Can you explain what you did in the patch ? Maybe explain each section of the code what you did there?

This way I can understand what is written there :)
[Samsung Galaxy Nexus] sert00:
it's a dead discussion,hardly doubt the op will read this posts.i think it's best to pm him and stop necroing this 3ad.just my 2 cent
[Samsung Galaxy Nexus] KennyG123:
It does seem the OP does not come back to this thread

I will close it unless the OP PMs me and wishes it to remain open

FNM
[Samsung Galaxy Nexus] KiNG OMaR:
Because the CPU runs stable at those voltages and you get great battery life as is :confused:
[Samsung Galaxy Nexus] bigxie:
The voltages in the screenshot in the OP are the stock voltages. They're set that high because of tolerances. Basically, chips off the same/different wafers will have different capabilities, and the common voltage they'll all run at is determined by the weaker chips (requiring higher voltage to run at 1.2GHz)

The battery life is not so great as is, but I'm not sure how much of that can be blamed on the CPU. UV here we make will have an impact, but probably not as much as lowering the brightness of the massive display :(
[Samsung Galaxy Nexus] spences10:
I have been using these undervolting settings for the last 5 hours or so and am not sure if it's the placebo affect but my battery life does seem to have be a lot better than usual

It did crash however whilst using SwiftKey [which I have now uninstalled as I still really like the stock keyboard] but has been fine since, the true test for me wil be on the way home form work tonight on the train where I cycle through my apps
[Samsung Galaxy Nexus] coolbho3000:
Some things to note:

My device does not have a PRE_RTP chip. The value of CONTROL_STD_FUSE_OPP_DPLL_1 is 0x1. IIRC the default value of CONTROL_DPLL_NWELL_TRIM_0 on my device (before writing anything to it) seems to be 0x33 (0b110011) so I did not think I needed to increase it. I did try writing some other things to it (0b111111 in particular) but I could not push my 1.4GHz barrier. I didn't really understand how the trim bits worked then (apart from the last one). I did this a few days ago, so I'll double check this all today and try 0x2b as well.

Also, wouldn't CONTROL_STD_FUSE_OPP_DPLL_1 be read only? edit: yeah, it's a fuse, read only.
[Samsung Galaxy Nexus] Chirality:
It doesn't matter that CONTROL_STD_FUSE_OPP_DPLL_1 is RO, right? Since they give us CONTROL_DPLL_NWELL_TRIM_0 to completely override it. But if setting 0x33 for the latter still doesn't let you lock DPLL at 3GHz, that is not hopeful...

Also, I found the commit where Colin Cross disables 1.5GHz

commit bca4426f9b44aad21802caa7c6e29ed48de7ea57
Author: Colin Cross <ccross@android.com>
Date: Thu Jun 30 14:59:14 2011 -0700

HACK: ARM: omap4: opp: disable MPU 1.5 GHz OPP

The tuna PCB does not support 1.5 GHz, but the omap 4460 might.
There is no chance to disable 1.5 GHz between omap4_opp_init
at device_initcall time and omap_cpufreq_init at late_initcall
time, so just disable 1.5 GHz in omap4_opp_init for now.

Change-Id: I1e8743a43370bf9a74c5366884f842e8bb45ab53
Signed-off-by: Colin Cross <ccross@android.com>

So it seems not only are the SoCs binned without 1.5GHz support, the PCB doesn't support it either...

Finally, another commit, unrelated to what we are talking about:

commit 919cf0ce816b626f1d836d050a31463650f54526
Author: Colin Cross <ccross@android.com>
Date: Thu Sep 15 18:57:43 2011 -0700

ARM: omap4: opp: disable OPP100_OV for gpu

The gpu is the only thing that uses OPP100_OV, which has a very
high power impact on the rest of the system. Disable this OPP
for now, reducing the gpu clock from 384MHz to 307MHz.

Change-Id: I2980aa843924b5f5f47c0e790a8d13b06494d26a
Signed-off-by: Colin Cross <ccross@android.com>

Ugh, this thing just gets worse and worse...
[Samsung Galaxy Nexus] coolbho3000:
Yeah, I mentioned the GPU power consumption problem in the OP (or one of my subsequent replies). I haven't tried running the GPU at 384MHz when the core is at the lower voltage though ("undervolting the GPU" I guess), but an interesting thing to note is that my phone will run the GPU at 512MHz (benchmark verified; GPU is based on a base clock of 1536) at the higher voltage.

I saw Colin Cross's commit too. I've got no idea what would make the PCB not support 1.5GHz…

What makes me think this isn't a binning issue is that the MPU DPLL politely refuses to lock, and starts to do so at different frequencies for different people, instead of crashing the phone. But then again, it starts to do so at different frequencies for different people.
[Samsung Galaxy Nexus] daandman:
Is there an idiots guide to this stuff? I'd like to partake, but feel like I should understand it much better before I do.
[Samsung Galaxy Nexus] minooch:
Cheers for the 1.4Ghz OC - Works great :D

Would love to try your 1.6Ghz test kernel though, can you pm me a link?

Thanks,

Minooch
[Samsung Galaxy Nexus] coolbho3000:
It's almost certainly unstable on everyone's devices because of DCC so I'm not making a 1.6GHz binary available right now :(
[Samsung Galaxy Nexus] minooch:
I would still be happy to test it to confirm that :D

Edit: Even though we already know it
[Samsung Galaxy Nexus] The Gingerbread Man:
I have been following this thread with interest and I see you guys running into problems. Its just really over my head exactly why. I understand some guy called Colin has created something to be a big pain in the arse. If you could try and break it down into more simple terms I'd appriciate it.
[Samsung Galaxy Nexus] Shodney:
Does the "UV control only" patch in the OP include the GPU overclock as well, or is it just a pure UV?

Cheers.
[Samsung Galaxy Nexus] Chirality:
Cheers, can't wait to see if GPU undervolting works.
[Samsung Galaxy Nexus] sluflyer06:
Is GPU clock speed being controlled independently of CPU speed or are they linked?

ie. When you say your patch runs the GPU@384mhz is that @1.4ghz on the CPU? (I'm using the Franco kernel with your UV patch in it.
[Samsung Galaxy Nexus] Gingernut78:
The Colin guy is an Android programmer and he's the one that's working on the stock Nexus Prime kernel for Google, I would imagine.
[Samsung Galaxy Nexus] Chirality:
They are independent.
[Samsung Galaxy Nexus] The Gingerbread Man:
Hmm yes but I hoping for a more simplified version of how he has had it so difficult if possible. From what iv read it sounds like he is trying to block any attempt of over clocking, perhaps for warrenty / claims / returns purposes I dont know. But if its possible to break down the coding language to something more understand able for us mere mortal non devs
[Samsung Galaxy Nexus] coolbho3000:
Nah, Colin just disabled 1.5GHz because it simply doesn't work on the Galaxy Nexus as is. Reversing his patch enables 1.5GHz, but with the "stuttering" (so it doesn't really enable 1.5GHz). But maybe we can find a workaround.

Basically we've got a clock generator. For frequencies under 1GHz, you're supposed to run the "MPU DPLL" at double the desired speed and an internal clock divider will bring that down by 1/2, so we're running the DPLL at 2GHz at 1GHz and 2.4GHz at 1.2GHz. For 1.5GHz we would need to run the MPU DPLL at 3GHz, which is where we run into problems - it simply doesn't want to go that high on most peoples' devices.

TI's solution to this was a feature called Duty Cycle Correction, which is needed to use the frequency without a 1/2 divider, making it so we only have to run the MPU DPLL at 1.5GHz to run the MPU at 1.5GHz. But this revision of the 4460 has a major bug where switching DCC off (to switch to lower frequencies) causes crashes. This makes DCC utterly useless, so we're kind of stuck here.

GPU speed is independent of CPU speed as far as I can tell. And the stock with voltage control kernel in the OP does have the 384MHz GPU overclock applied.
[Samsung Galaxy Nexus] Chirality:
Since apparently we can't run DCC for all the MPU freqs, I guess the next best thing we can do is to take out all the other OPPs and just make MPU run at 1.5GHz with DCC all the time? LOL...
[Samsung Galaxy Nexus] franciscofranco:
Actually it wouldn't be that bad :p 1,5ghz would only use a nice chunk of power with the screen on, because with the screen off it's power collapsed (unless some ****ing process is waking it up, but thats users fault 99% of the time) and it doesn't waste ****s power.
[Samsung Galaxy Nexus] Chirality:
Actually if we take out the lower freq OPPs in the kernel, it'll be stuck at 1.5GHz regardless of CPU usage. The best that we can do is lower it to 1GHz, but no lower since the TRM seems to indicate that DCC can't be used for lower freqs. But it'll probably be worth it to try to see how low the MPU freq can go while still using only the M3 clockout+DCC.
[Samsung Galaxy Nexus] franciscofranco:
Thats exactly what I meant. I would be happy with only 1ghz and 1,5ghz for the reason I stated in my last post. Heck with my Nexus S I use it with max frequency during screen off.
[Samsung Galaxy Nexus] vivanshah:
curious about this as well. I ran a nenamark2 with both, and both got me around 27fps.
[Samsung Galaxy Nexus] minooch:
You're right, they are way too high, currently mine is set to the following:

1400 - 1200mv

1200 - 1100mv

920 - 1000mv

700 - 900mv

350 - 800mv

It seems rock solid ATM :D
[Samsung Galaxy Nexus] Luxferro:
The one time I tried voltages around here it locked up during 3d part of the benchmark.

So I bumped up to 1200,1100,1000,900 and haven't been able to lock it up all day. I'll have to try tweaking it further in the future by finding individual voltages/clock and then them all together working dynamically.

BTW, I'm really liking all the technical talk going on here. Learned a lot how the CPU clocks work just by reading coolbho3000 and Chirality's posts.

This is just a thought I had, since you guys said switching from DCC on to off locks when going to high speed to lower speeds. Would putting more slots to make the frequecy steps more gradual help at all? Or would the lockup still occur if for example you went from 1.05GHz to 1GHz ? Just a noob idea :)
[Samsung Galaxy Nexus] coolbho3000:
I've tried using DCC for every single frequency and it doesn't work. The latest TRM says it should be good for down to 920MHz so I'm going to test that tonight.
[Samsung Galaxy Nexus] Luxferro:
I had one more thought after my post, what about keeping the PLL frequecy 1:1 when the transisition happens from DCC on to off?

for example:

CPU >1.0GHZ... (DCC on)

CPU 1.0GHz - DPLL 1.0GHz * 1 (DCC on)

CPU 500MHz - DPLL 1.0GHz * 1/2 (DCC off)

CPU 350MHz - DPLL 700MHz * 1/2 (DCC off)

Just another thought. I'm sure you guys and/or TI tried everything.

EDIT: nevermind, i see now that you said DCC isn't working at all:o
[Samsung Galaxy Nexus] minooch:
Sweet!

Happy to test it if you need :D
[Samsung Galaxy Nexus] daandman:
Is there an idiot's guide to undervolting anywhere? I'm not really comfortable enough with it right now to start tweaking.
[Samsung Galaxy Nexus] Tubes6al4v:
The op lists a method for safe experimentation : leave "start on boot" until you find a stable set.
[Samsung Galaxy Nexus] daandman:
When I say not comfortable enough, I mean next to zero understanding, meaning I don't even understand what the values I'd be setting would mean.
[Samsung Galaxy Nexus] minooch:
There isn't an "idiots" guide per se.

If you're not comfortable enough, I wouldn't recommend flashing kernels.

Do you anything about fastboot?
[Samsung Galaxy Nexus] vivanshah:
would it be possible to get a pure UV kernel without the GPU overclock?

many thanks for your hard work, and the time you take to explain everything.
[Samsung Galaxy Nexus] Shodney:
+1 for this :)
[Samsung Galaxy Nexus] AndyCr15:
I thought that is what "UV control only - use this if you get stuttering issues at 1.4GHz GPU 384MHz" is for? No?
[Samsung Galaxy Nexus] KiNG OMaR:
Yes? :p

10char
[Samsung Galaxy Nexus] Shodney:
Nope! :D

Unless I'm reading that wrong?
[Samsung Galaxy Nexus] coolbho3000:
I'll post a completely stock kernel (no GPU overclock) with undervolting that when I get the chance.

As for "undervolting for noobs," if you don't know what you're doing:

Basically, to maintain a certain CPU frequency, you need to feed it a minimum voltage. The minimum voltage for any given frequency happens at different points for different people because of manufacturing and environmental differences ie. the piece of silicon that makes up the CPU core in your device is going to have different tolerances than the silicon in someone else's device. This is why, instead of building a fixed undervolt into the kernel, this patch allows users to tweak the voltages. The lower the voltage, the lower the power consumption, the more battery life you're going to end up getting.

Voltages are even more important than frequency to battery life since the power consumed by a CPU is approximately proportional to current CPU frequency and to the square of the CPU voltage (Wikipedia) (this of course does not take into account the complexity of the instructions being performed or temperature variations).

1. Make sure "set on boot" is turned off!

2. Look at some of the screenshots posted earlier in this thread and change your settings to match those, and press "apply." In SetCPU, you can use the slider bar or the textbox to enter voltages.

3. If you crash at any point, raise all the values by 25 mV and press "apply" again, and repeat. Sometimes a voltage set will seem stable at first, and then crash later. Just raise the voltages by 25 mV if this happens. If your phone is stable after several days of regular use, you can probably be sure that the voltages you're using are sufficiently stable for regular use.

You can, of course, fine tune each level if you want instead of raising everything by 25; that's just a safe way of going about it.

The idea is to get as low voltages as possible without crashing the phone. Also, I wouldn't try testing undervolt settings while your phone is needed for mission-critical things.

Also, on the Galaxy Nexus, you can go by increments of 1 mV if you want by using the text box. You don't have to go by every 25 mV.
[Samsung Galaxy Nexus] coolbho3000:
I've been looking at DCC further and I think I might have something of reasonable stability that can go up to 1.6GHz on (presumably) everyone's devices. I'll need testers soon.

EDIT: perhaps I spoke too soon, more testing :( At the very least I made it more stable.
[Samsung Galaxy Nexus] schrickm5:
can I just make sure how to flash this. I am used to flashing zip files. Ok...

.connect phone in boot loader mode to PC

.cmd prompt on PC to point to ...not quite sure about this bit

.is it similair to the rooting/unlocking method?

It seems a lot of people like myself are getting this phone with flashing experience from the likes of 2x's or sgs2's, we have no experience of adb etc. I managed to root finally after hours of fumbling around for the right drivers. I hope someone can right a small guide to flash using this method.

Thanks and looking forward to learning more.

I think this is probably a good beginners guide:-

http://xdaforums.com/showthread.php?t=642437
[Samsung Galaxy Nexus] minooch:
Coolbho3000, I am always available and will to flash my device
[Samsung Galaxy Nexus] RMatt1992:
Also available to test any/all. Enjoy doing so, will eventually get back into writing.

Harness.
[Samsung Galaxy Nexus] send2toonie:
Coolbho,

I've been running this since day one of my nexus; for about 5 days now and its been solid for me. No reboots no problems what so ever.

I've undervolt and battery is awesome. Better than my s2.

That's wanted to say thanks.
[Samsung Galaxy Nexus] darrendm:
What are you voltages at if you don't mind me asking?
[Samsung Galaxy Nexus] Ibanez33:
Great work! Been slowly dropping voltages bit by bit and was beginning to think it wasn't applying them as they were getting lower and lower my phone wasn't falling over :)
[Samsung Galaxy Nexus] send2toonie:
1200 @ 1100mv

920 @ 950

700 @ 875

350 @ 800

Screen off at 350 Max

Charging at 700 Max

I haven't tried to oc
[Samsung Galaxy Nexus] darrendm:
I thought mine were pretty good but these are fantastic! I'll try and push mine slowly down to these and see how I get along!

In regards to your charging profile, if you are using the device while it's charging, wouldn't the 700 cap be limiting your usage?
[Samsung Galaxy Nexus] send2toonie:
I don't use it when it charges. I get enough from a full charge that it only gets plugged in at night
[Samsung Galaxy Nexus] madj42:
I've been running the OC/UV kernel since last night. I have it set to OC to 1400mhz and I have the following voltages:

1400 - 1225

1200 - 1125

920 - 1025

700 - 925

350 - 825

I've been running this config since last night after much tweaking and haven't had any issues today.
[Samsung Galaxy Nexus] pmaster3333:
Do any of you guys get inconsistent/inaccurate result written in the precision field on Linpack with those such low voltages? If so, do you guys think it is a good idea to keep the voltages that low if linpack is failing?

I have more experience overvolting a pc than i do undervolting a phone, but usually on a pc i take LinX (linpack) failing as sign of too low voltage, and not a good setting for full time use. What do you guys think of this?

Also is there any good stress testing software for android other than just running linpack a bunch?
[Samsung Galaxy Nexus] send2toonie:
I'm no expect by any mean. But I ran setcpu stress test with no errors. Stable for days. Just downloaded linpack I get 75 with in +-5 in four consecutive test.

Like I said. Awesome for my phone and how I use it.
[Samsung Galaxy Nexus] darrendm:
I use Quadrant, Linpack, NenaMark2 and the setCPU benches as my testing software(s).
[Samsung Galaxy Nexus] pmaster3333:
Cool. Just to be clear to everyone, when i say inconsistent i don't mean the score changes (that is to be expected), but it actually says Precision: inconsistent result, instead of Precision: 2.2E-16 like it should.
[Samsung Galaxy Nexus] darrendm:
"inconsistent result" only comes up for me on the first run of the roughly 10 I do.

Maybe it's inconsistent because it has nothing (no reading) to compare it to (until you run it a second time (mean))?
[Samsung Galaxy Nexus] Arcadia310:
Any updates on battery life? I'm eager to hear after seeing all the successful undervolting going on here! :D
[Samsung Galaxy Nexus] Ibanez33:
Whoa those are all lower than mine appart from 350MHz..

Also I remember reading the research people did for the kernels on the galaxy s (but should be applicable here), that seemed to suggest setting a screen off cap would be less efficient than no cap. In the sense that any processing the phone would have to do would take significantly longer, whereas with the full range available it could race to idle? Might be worth doing some testing.

Its also worth mentioning that a stock galaxy s wasn't able to do deep idle so in that situation a cap is better.
[Samsung Galaxy Nexus] RMatt1992:
Dec 11th Kernel working great - flashed OC/UV as usual. UV too some playing with but configured successfully!

Keep up the great work!
[Samsung Galaxy Nexus] KiNG OMaR:
With undervolting, battery life seems on par with the stock kernel, due to the GPU overclock. I'd much rather prefer a stock-clocked GPU with undervolt. Patiently waiting on the awesome setCPU king for that ;)
[Samsung Galaxy Nexus] stickjohnonaah:
I assume this is for GSM only?
[Samsung Galaxy Nexus] snuff96:
Hey i tried to boot up with the 1.4 ghz gnex_oc_ov.img kernel and i experience pretty sluggish response, tried doing a linpack test and the highest I got was around 22, and the phone itself going from homescreen to homescreen can be pretty slow. I even flashed the kernel just to see if that would change anything, same thing. Currently using the UV kernel and works great
[Samsung Galaxy Nexus] schriss:
I know what you mean. I don't overclock my PC these days, but I remember using Prime to determine if CPU is getting enough voltage. If my phone is going to lock up every few days it will be very difficult to pinpoint the cause. Running a benchmart few times is not good enough.

I remember running Prime for 24 hours straight and gerring no errors out of it was considered "stable", but not necessairly "rock stable".

Testing should be done for each OC step not just max, otherwise you're benchmarking highest clock which might be fine, but then you will be getting crashes at different OC steps or lockups on idle.
[Samsung Galaxy Nexus] XLR:
Great work!

Current stable voltages:

1200 MHz: 1125 mV

920 MHz: 975 mV

700 MHz: 875 mV

350 MHz: 750 mV

Sadly I can't go lower at max step, but idle is now really idle :)

Tested each step with Quadrant.
[Samsung Galaxy Nexus] The Gingerbread Man:
These settings seem to be good for me so far

No deep sleep as I'm charging up battery currently.
[Samsung Galaxy Nexus] Dagda-Esus:
Current stable voltages:

1200 MHz: 1100 mV

920 MHz: 975 mV

700 MHz: 875 mV

350 MHz: 750 mV

1400MHz sucks for the linpack score 26Mflops (77Mflops@1,2GHz)
[Samsung Galaxy Nexus] @rbiter:
Testing

1120mv

960mv

860mv

730mv

1100 and 725 were too low.
[Samsung Galaxy Nexus] ys222:
My inputs

the kernel seems stable also in the low voltage - Base system is Android Revolution HD™ 1.3.1.

although the general preformance were increase from 6000 points to 6770 (AnTuTu Banchmark), it seems that both 2D & 3D prerormance where not changed at all.

thanks for the Kernel :-)