yashsingh1/xdaforums huggingface dataset:
[HTC Incredible S] poondog:
This is post 1: Andrev OC daemon.

Undervolting is in post #2: http://xdaforums.com/showpost.php?p=30979035&postcount=2

So recently, I have had a few people asking me about the Andrev OC daemon that I use on nearly every rom/kernel.

So I thought as a way to give back a bit to the community, I would write this

Original thread: http://xdaforums.com/showthread.php?t=1222020

The whole reason behind having the Andrev or Virtuous Daemons is to limit the screen off CPU frequency in order to save battery.

The Virtuous and Andrev daemons are basically the same thing, just that the andrev one is easier to install IMO

The Virtuous daemon comes pre installed in a lot of virtuous roms, insluding Unity, Infinity, Affinity

The thread itself has not been updated this year, but hey, it has been written for single core devices, and works very well on my phone. The reason behind not being updated I think is that it has reached its potential, the developers of the daemons have moved on to newer multi core devices like the HTC sensation and One X.

So anyway, enough introduction, let's get to the guide:

*You need to be rooted to install this, it should work on any single core device*

*I also recommend having a custom kernel with more available frequency steps*

*I am not responsible for anything that happens to your device. This is quite easy and safe, but if you are a talent at screwing up your devices then maybe a but more research would be good*

*READ THROUGH THE WHOLE GUIDE BEFORE STARTING SO YOU KNOW WHAT YOU'RE DOING*

This works with every custom rom I have tested, I have not tested it on MIUI V4. On MIUI GB it works.

For reference, I am using ARHD 3.0.1 with l0st.prophet's v2.2 kernel now.

You can try the flashable zip in the original thread but I was never able to get that to stick

Happy overclocking! Remember that overclocking too much could be bad for your processor.

Many thanks to Sybregunne for his work and continued support in his own thread, and this one too :)

And to all the members who gave feedback :)
[HTC Incredible S] poondog:
Undervolting

Undervolting guide: From post #12 by me :)

Why undervolt?

Undervolting is basically feeding less voltage to your processor, while delivering the same performance.

Its kind of like forcing you to run a marathon, but giving you less water. You will probably make it, but some may collapse/ hot reboot because there is not enough water/voltage. If you drink less water/use less voltage, you will save on water/battery while having the same end result of finishing the marathon. But if you don't have enough, you might collapse/reboot and try again, with more water/voltage. With normal voltage/water supply all will make it. Hope that helps you to understand.

Using less voltage will help save battery while keeping the phone cooler, not that the incredible s has cooling problems, unlike the Nexus 7 and One X with the Tegra 3

You can use an app called 'incredicontrol' from the play store.

https://play.google.com/store/apps/...=W251bGwsMSwxLDEsImNvbS5pbmNyZWRpY29udHJvbCJd

Alternatively, I now use TricksterMOD to do voltages and stuff. Its very easy with tricksterMOD

This will work on all roms with custom kernels that have the voltage control (VDD interface). It requires a kernel which supports undervolting.

This requires more patience than the daemon, and will probably cause instability at some point during testing.

WARNING

if you undervolt too much and save for boot, you phone probably will boot loop. You will have to reflash the ROM and kernel. So don't save for boot until you've played around with the phone for an hour or so to ensure that its stable.

Any questions, feel free to ask them :)
[HTC Incredible S] poondog:
Also remember that not every processor is the same even though our phone is the same, so some may handle overclocking better than others
[HTC Incredible S] Nonverbose:
This is good. You have an interesting writing style.
[HTC Incredible S] poondog:
lol why is that? I am hoping that it's understandable?
[HTC Incredible S] larkhillv7:
First of all, thanks mark for this how-to guide. Always want to try this as i acknowledged the lag problem with using oc app such as setcpu (when switching the screen on and off) .

And yes, you do have a good writing style mate :thumbup:
[HTC Incredible S] Nonverbose:
Yes it's understandable. What I mean is that it's informative, relevant and well structured. Write more!
[HTC Incredible S] vizzy:
I assume he means you write as if you are talking to a friend in a chatty manner. Not a bad thing just most people write in a blunt manner.
[HTC Incredible S] poondog:
Oh okay haha, I don't want to be all formal and stuff because this is a forum, I don't want this to come across like a textboook or a lecture or something :)
[HTC Incredible S] vinboy3:
Now only i realize that you open a thread for this:)

how about UV? Should be simple for you as can be added on this thread too?
[HTC Incredible S] sinosuke:
Yep,write more about UV buddy ^_^
[HTC Incredible S] poondog:
Undervolting guide is now in post #2

http://xdaforums.com/showpost.php?p=30979035&postcount=2

I have updated the first 3 posts with some new information for ease of use and more guides

Press thanks if you like my guide/found it helpful/found my writing style interesting

Enjoy!
[HTC Incredible S] larkhillv7:
Hi, i used setcpu before and already uninstalled it. After installing and using this, i can't find a way to make the oc settings to stick on icecoldsandwich. The only way is for me to manually change the cpu freq in rom controll setting.

Any thoughts guys? Thanks
[HTC Incredible S] poondog:
Untick set at boot from Rom control

Did you put the script in place?

Sent from my HTC Incredible S
[HTC Incredible S] larkhillv7:
Did both of that. The sleep setting works well though. I only need to change the wake value on rom control and that's something i can live with :)

Thanks for the guide :beer:
[HTC Incredible S] poondog:
Editing the values in rom control will disable the daemon iirc

Does the daemon controller app tell you that the andrev daemon is active? It worked for me in ICe Cold

Did you remember to set the script to run at boot? Could you please post what else is in your /init.d folder?
[HTC Incredible S] letmedanz:
Good job again Mark :)

Keep them up
[HTC Incredible S] poondog:
Thank you, glad I can finally contribute some information to the community I have taken so much from :)

Sent from my Nexus 7
[HTC Incredible S] linezero:
Daemon control FC on Miui...any alternative?
[HTC Incredible S] poondog:
If you can't update your su binary, I would give up lol

Or you could manually install it

Not working for me on cooldroid either, its FC'ing

I will resort to using incredicontrol for my CPU speeds with no daemon :)
[HTC Incredible S] larkhillv7:
Yes to all those questions. Here what i have in the folder
[HTC Incredible S] poondog:
Looks like it should be working, I don't know why its not. If you really want to, try reflash the rom without a wipe, and start installing the daemon again. However it will remove both the supercharger and daemon
[HTC Incredible S] larkhillv7:
I reflashed the rom and redo my installation, and now everything works like a charm, thanks mike for the guide n help :thumbup:
[HTC Incredible S] poondog:
Cool, glad to know its ball working

Sent from my Nexus 7
[HTC Incredible S] interaser:
by the way, if there are people like me who delete the programs that they do not use, you have to write not to delete script manager after performing all the actions, otherwise the daemon controller will not be active after restart :)

thank you for the guide and good luck.

p.s. which governor should I use for wake mode? OnDemand or LionHeart, and is 1.5 ghz stable on our phone the same way 1.2 ghz is?
[HTC Incredible S] poondog:
For wake, I think on demand uses more battery because it is constantly at the top freq in my experience

Lionheart typically saves more battery by keeping at lower frequencies and doesn't really have much of a performance difference

I use Lionheart because it is good for both performance and battery

Depends what your phone can take, mine usually is unstable at around 1.5 anyway. I keep it at 1.2, but stability is generally different with each individual device

But I would advise to not go over 1.5 to avoid damaging the phone

I learnt in the N7 forums that if the phone is unstable at a certain frequency, eg. 1.5ghz, you can increase the voltage a little bit to increase stability. This is why undervolting and over clocking on the extreme sometimes causes instability.

Sent from my Nexus 7
[HTC Incredible S] P.Pan:
Hi Marc,

thank you for sharing you knowledge and writing this guide.

After Upgrading from Project X 4.0 to 4.1 I decided to also upgrade my Daemon from version 2.2beta something to the one you have posted.

Everything worked fine for me!

Just one question:

What is the script for?

Is it necessary for the Daemon to stick when device is rebooted - did I understand this well.

Thanks for info!:good:

EDIT: Just following your instruction I found out that the script already exists in the target directory??? Now I am a bit confused...

Edit 2 : BTW Incredicontrol does not work for me :( I can't adjust the voltage - the app is just not reacting. Uninstalling and reinstalling did not work either. I tried to click apply anyhow and my device freezed so I had to pull the battery...
[HTC Incredible S] poondog:
Thanks for the support :)

The script basically makes sure the andrev daemon is executed. For me, most of the time the daemon won't start until the script is executed. For you it may be different, but I always put the script there to make sure that the daemon basically turns on after a reboot

Yeah I amount that too, maybe the newer version of the app puts the script there already, maybe it was there from before, I don't know. Just make sure that it has the right permissions etc

Really? It has always worked for me.

You mean the top - and + buttons don't do anything? Or it lags after pressing apply? Because that's what happens for me, I guess when the values are being written

Sent from my Nexus 7
[HTC Incredible S] P.Pan:
Yes I did correct the permission the way you adviced. Daemon works fine.

The Incredicontrol just did mot response on + or -!

I un installed the app again and will see how battery life will be. :rolleyes:
[HTC Incredible S] poondog:
So is it working now?

Sent from my HTC Incredible S
[HTC Incredible S] P.Pan:
Daemon yes!

Undervolting no!
[HTC Incredible S] poondog:
Which kernel are you on?

Sent from my HTC Incredible S
[HTC Incredible S] P.Pan:
xs ics 2.2 from lostprophet.

But hey battery life seems to be good also without undervolting.:good:
[HTC Incredible S] Cookie Ninja:
I agree. No uv, just andrev & smartass v2. Was getting too much lag with lionheart.

Sent from my HTC Incredible S &/or Xperia Mini ST15i
[HTC Incredible S] poondog:
Yeah lionheart is not as good performance wise as ondemand or smartass, but I find it really good for a balance, like I said before

afaik, and I will probably be corrected again, but undervolting has nothing to do with performance. Don't know if that's true, but both my devices I have undervolted -75mV(IncS) and -125mV(N7) and performance is no different. Both as smooth as butter with the 'almost project butter' tweaks.
[HTC Incredible S] P.Pan:
How much did the undervolting affect the battery performance - is it really notable?:confused:
[HTC Incredible S] larkhillv7:
Im on icecold, and uv really do me great favor to battery life, eliminate warm phone on charging+heavy usage too
[HTC Incredible S] P.Pan:
I will give Daemon Controll App a try to undervolt...

Edit: Ok Device freezed straight away after 50mv lowering - I guess I will leave it like this as I come along quite well!
[HTC Incredible S] thuanle:
Maybe you wanna try my app (link in my signature). The IncrediControl does not work on my phone too.
[HTC Incredible S] Nonverbose:
I don't know if anyone has mentioned this yet, but if you install the daemon controller as a system app, the uv changes stick on reboot.
[HTC Incredible S] poondog:
Why did I never think of that?!?

Great idea, thanks! I'll try it with my next ROM install :)

I guess this is why you're a recognised contributor

Sent from my Nexus 7
[HTC Incredible S] interaser:
> one question?

> in order to have daemon active at start-up I have to keep Scriptmanager in my phone which runs at start-up? and consumes battery... :( isn't it more logical after start up to open daemon and activate the daemon ....

p.s. I tried to place daemon controller in system/app and uninstall smanager but daemon does not runs at startup :(
[HTC Incredible S] poondog:
Apparently if you put the script in /system/etc/init.d, and set the right permissions, you will have the script running at boot. I haven't tried it myself because I have it installed from the supercharger anyway

Maybe try that. Nonverbose said that in /system/app, the daemon controller app would save UV values and they would stick :)
[HTC Incredible S] interaser:
I used the test file from over here http://xdaforums.com/showthread.php?t=1710980 to test if initd is working at boot... and it is working...

but why the file that is activating the daemon controller is not working at boot? I don not understand... why it only works with scriptmanager ?

what could be the problem?

p.s. if I'am placing daemonControler in system/app folder I get some bugs when I try to open it :(
[HTC Incredible S] poondog:
I am assuming you have set the correct permissions? Other than that, I don't have an idea. I just keep it and set at boot with script manager, forcing it to run and it never fails :)

Yeah I get that too. In /system/app it force closes on me when I try to open it, or just stays on a black screen.

And the UV values aren't setting themselves either, I went back to incredicontrol for voltage control
[HTC Incredible S] Nonverbose:
I'm not using any script manager or any other clock or voltage changer. I just used titanium backup to convert to system app. Here's the file info if you want to do it manually.

sh-3.2$ export PATH=/data/local/bin:$PATH
sh-3.2$ cd /system/app
sh-3.2$ ls cc.co.cybregunne.DaemonController.apk -l
-rw-r--r-- root root 92062 2012-09-14 16:43 cc.co.sybregunne.DaemonController.apk
[HTC Incredible S] poondog:
Hello.

A new version of daemon controller is out.

Daemon Controller 4.0 beta 2

http://xdaforums.com/showpost.php?p=31837297&postcount=480

Enjoy :) And press the thanks button for Sybregunne
[HTC Incredible S] Sybregunne:
4.0beta7 is out. ;)

:eek:
[HTC Incredible S] poondog:
Oh hi sir :)

Is voltage control fixed? It wasn't working in a previous beta

Thanks :)

Sent from my Ultimate Kang Banged HTC Incredible S
[HTC Incredible S] Blackrose666:
Hi,

I have successfully installed the daemon controller using the instructions in the first post, I used daemon controller v4.0 rc2 from here http://xdaforums.com/showpost.php?p=32598700&postcount=538

It all installed and seems to be working well, I converted the app to a system app as described by Nonverbose(I used link2sd to convert app).

Thanks Nonverbose for the tip. :good:

However the UV values still did not stick on reboot, however I noticed that there was now a file name '84uv' in the system/etc/init.d directory so I enabled this to run at boot/as root by pressing the gear and superuser icons in Smanager and now the UV values stick on reboot.

The only values that are not sticking on reboot are those set under the 'cpufreq' tab, if I adjust these they reset on reboot, is there something I need to do to get these to stick on reboot?

The settings under the 'O/C D' remain set to the values I define after a reboot.

Edit: after rebooting again the UV values did not stick.
[HTC Incredible S] poondog:
I haven't tried the new one, but on the old app the CPUfreq tab was to do with OC without daemon, daemon tab used the daemon. Activating one tab will disable the other, as you can't have both daemon and no daemon. Because the daemon is set to run at boot via the init.d script, it will activate itself and disable the normal OC. That's why the normal OC tab is not setting at boot.
[HTC Incredible S] Blackrose666:
Oh ok then somethings not right if I check the CPU usage with CPUspy it's showing it as not being overclocked even though I have 1.2GHz set as the max wake freq under the 'OC/ D' tab.

It only shows as being overclocked in cpuspy if I adjust it under the 'cpufreq' tab

Now it's stopped saving the UV values on reboot as well. :confused:
[HTC Incredible S] poondog:
Did you set permissions of the OC script correctly in init.d? And to make it root/boot?

Also make sure no other apps are set to run on boot to control CPU, like trickstermod or setcpu. Make sure daemon is active too before reboot :)
[HTC Incredible S] Blackrose666:
Yep permissions set as per the first post using ES file explorer, I haven't had trickstermod or any other CPU controller since I reflashed the rom.

The daemon controller lists Andrev_oc under the 'O/C D' tab does that mean it's active? or do I need to check elsewhere?
[HTC Incredible S] poondog:
Should be active if it says that
[HTC Incredible S] Blackrose666:
I just checked 83oc script file that's in my system/etc/init.d directory and it's missing the line '/system/xbin/andrev_oc'

I might try from the start again.

Thanks for your help :good:

---------- Post added at 11:22 PM ---------- Previous post was at 10:40 PM ----------

Ok I deleted the script and andrev_oc rebooted and installed both again, now it's working fine.

I have no idea why the line '/system/xbin/andrev_oc' got removed from the script the first time as it's in the script if I check it now after reinstalling it.

So it looks it wasn't activating the daemon on the first install as the daemon controller now says 'Active daemon: andrev_oc' whereas before it had it as 'daemon: andrev_oc' so it wasn't active the first time.

Thanks for your help markj338 I'm out of thanks for the day :good:
[HTC Incredible S] Sybregunne:
Daemon: andrev_oc means if you click apply it configures andrev_oc. It should say active daemon... If you want to check, install a terminal app and type "pidof andrev_oc" this should reply with a number which is the process is of andrev oc. Or you can install a process viewer. :D
[HTC Incredible S] Blackrose666:
Ah ok handy to know thanks, though I think it was the messed up script causing the problems on the first install.

I have updated to rc3 the only problem now the daemon is stopped every time I reboot the phone, if I adjust settings in daemon controller it becomes active but is not active again once the phone is rebooted.

I have to go out for now so will test again later.
[HTC Incredible S] ayieo7:
+1 me to
[HTC Incredible S] Blackrose666:
It seems the daemon controller is adjusting the 83oc script whenever I change the settings under the O/C D tab, it modifies the end of the script to this

''fi

./system/xbin/andrev_oc''

Originally is it

"fi

/system/xbin/andrev_oc"

This seems to be what is stopping the daemon from starting on reboot.

I tried it on rc2 & rc3 and got the same results, that the daemon controller modifies the script and when you reboot the daemon is not running.

After trying a few things and not being able to find a solution, I just deleted the modified script once I had the settings I wanted and placed the original script in it's place, have rebooted a few times and the daemon is running on every reboot.
[HTC Incredible S] poondog:
Yes, the . in front of the line means that it is not read/executed when the script is run.

It is supposed to do that, in order to stop the daemon running at boot when you configured it not to, so the normal OC will run

If you want the daemon, set the daemon in its tab and do not touch the normal OC settings.
[HTC Incredible S] Blackrose666:
I though the settings under the 'O/C D' tab were for the daemon and 'cpufreq' tab were for the normal OC.

I've only been adjusting the values under the 'O/C D' tab since I reinstalled, I haven't changed the settings under the 'cpufreq' tab at all.

I thought the wake min/max/gov & sleep min/max/gov settings in the 'O/C D' tab were for the daemon, but it when I adjust them the script gets modified and the daemon is not starting on reboot.
[HTC Incredible S] poondog:
That would be correct, if I am understanding you correctly. You can always go into the daemon files in a root explorer and change the values manually I suppose :)

@master Sybregunne any idea why this is happening?

Anyone else having this problem?
[HTC Incredible S] Blackrose666:
Yeah that is probably the easiest way if I want to make any adjustments to my current settings for the daemon.
[HTC Incredible S] Blackrose666:
Thanks for the update I have updated to rc4 unfortunately it looks like the script is still not running the OC daemon after a reboot, if I change the settings under the O/C D tab.

A blank line is being added to the script after the end of the 'if' statement before the command '/system/xbin/andrev_oc'

Without that extra blank line in the script it starts the OC daemon on every reboot.

Also I noticed in the U/V tab if I select 'precision U/V layout' it incorrectly lists the bottom cpu freq as 192000, whereas it is 122880 and 192000 is not available in any of the other settings, all the other cpu freq are correct.
[HTC Incredible S] Sybregunne:
@Blackrose if you configure cpufreq tab, the daemon won't run. As the daemon will change the cpufreq values everytime the screen turns on or off based on your configuration.
[HTC Incredible S] Blackrose666:
I've only been making the adjustments under the O/C D tab and when I apply the settings from this tab is when it adds a blank line to the script before the command for the daemon.
[HTC Incredible S] Sybregunne:
The blank line isn't a problem. If you want to know if the script is being executed put "touch /data/83ocstarting" right after the comment lines (those that begin with "#") restart your device. Then using a file explorer check if there is a file called 83ocstarting inside the /data folder.
[HTC Incredible S] Blackrose666:
I put the line 'touch /data/83ocstarting' into the script, I do get the 83ocstarting file in the /data folder but the daemon is not starting, so maybe something else is stopping the daemon from running.

I've got to go out now I will try some more testing later today.
[HTC Incredible S] interaser:
my daemon also did not start at boot. even after I manually moved it to system app.

but after I installed the latest version of daemon 4 rc3 and I used this software https://play.google.com/store/apps/details?id=de.j4velin.systemappmover to move it to system/app my daemon now starts at boot... so you should give it a try the way I did

(by the way on ARHD 3.0.1 int.d folder has some bugs - it does not run all files at boot) I use it with the latest version by tpbklake and on the latest version of stollen rom everything is ok.
[HTC Incredible S] Blackrose666:
I converted the controller app to a system app with link2sd, I will give that way a go when I get home.

It works ok with the original 83oc file, daemon starts everytime it's just with the modified one that is not starting.

I'm using the latest rc4.
[HTC Incredible S] Sybregunne:
Add the touch command to before andrev_oc command... Use a different file name like 83ocending and another one to before the exit command using another file name like 83ocexit1 then reboot. This would isolate the problem. Note it is safe to delete the files we create this way.
[HTC Incredible S] Blackrose666:
I tried system app mover but still get the same results.

Ok is the attached screenshot the correct way to add those commands to the script?

I tried that and only the first one '83ocstarting' appears in the data directory after reboot.