have been pratting about with this over the last day, have found the following.
I am using overclock module to set a custom setting of 900mhz/46vsel
However, when performing a cat /proc/overclock/mpu_opps I get the following
mpu_opps[3] rate=900000000 opp_id=3 vsel=46
mpu_opps[2] rate=600000000 opp_id=2 vsel=48
mpu_opps[1] rate=300000000 opp_id=1 vsel=33
So whilst we are changing the max_freq and max_vsel we are not doing anything to reduce the vsel on the lower frequencies and thus not getting max battery life. The stock vsel at 600mhz is actually more than 900!
So I made a script so as to change the vsel values to lower for the lower frequencies as below:
setscaling.sh
echo 46 > /proc/overclock/max_vsel
echo 900000 > /proc/overclock/max_rate
echo 1 300000000 28 > /proc/overclock/mpu_opps
echo 2 600000000 38 > /proc/overclock/mpu_opps
echo 3 900000000 46 > /proc/overclock/mpu_opps
echo 0 900000 > /proc/overclock/freq_table
echo 1 600000 > /proc/overclock/freq_table
echo 2 300000 > /proc/overclock/freq_table
mpu_opps then read as I want it:
mpu_opps[3] rate=900000000 opp_id=3 vsel=46
mpu_opps[2] rate=600000000 opp_id=2 vsel=38
mpu_opps[1] rate=300000000 opp_id=1 vsel=28
I can run the script manually, and it works a treat, however, on reboot it has to be manually applied. Tried a number of ways to get this to run at boot (scripts and also autostart app in the market) however it doesn't apply and the reason behind this is due to it trying to apply the script before the overclock module has been applied.
I then tried to exclude the Milestone overclock app and use the overclock.ko module directly into /system/lib/modules/overclock.ko. The module itself seems to run ok, however when I then apply my setscaling.sh it cause the phone to reboot.
So a few questions if anyone can help.
1)is there anyway to delay a script from running for a period of time after boot (eg once the overclock module has loaded)
2) Any ideas why the phone is rebooting when using the overclock module directly outside the app, but the script works fine in conunction with the app.
I think I am just missing something obvious thats staring me in the face!
I guess it would be quite simple for whoever coded milestone overclock to just add a setting where we can choose the vsel for multiple frequencies...
Good job though, was wondering also if that was possible!
Will try and find how to contact him
Damool said:
I guess it would be quite simple for whoever coded milestone overclock to just add a setting where we can choose the vsel for multiple frequencies...
Good job though, was wondering also if that was possible!
Will try and find how to contact him
Click to expand...
Click to collapse
I have added my setscaling.sh place it in /system/binx and execute it.
You can ammend it to put your own frequencies in there, be careful though!
Thanks will try when back from skiing
Higgsy, do you know how Android natively sets the frequency and voltage levels? Is there a config file or is it hard coded into the kernel or a module? My googling skills didn't turn up much.
Zaben said:
Higgsy, do you know how Android natively sets the frequency and voltage levels? Is there a config file or is it hard coded into the kernel or a module? My googling skills didn't turn up much.
Click to expand...
Click to collapse
The default levels should be the reset values in the hardware itself. The Milestone Overlock App contains a kernel driver to communicate with the OMAP processors PLL and voltage chip (the TWL5030 chip) using the I2C buss to be able to modify these registers and their reset values. Higsy is communicating with this kernel driver using the /proc to set some of the registers that the kernel driver has mapped out. So it's more a case of being able to set these registers when the kernel module is being loaded to avoid doing it once the driver has been loaded.
Xhit said:
The default levels should be the reset values in the hardware itself. The Milestone Overlock App contains a kernel driver to communicate with the OMAP processors PLL and voltage chip (the TWL5030 chip) using the I2C buss to be able to modify these registers and their reset values. Higsy is communicating with this kernel driver using the /proc to set some of the registers that the kernel driver has mapped out. So it's more a case of being able to set these registers when the kernel module is being loaded to avoid doing it once the driver has been loaded.
Click to expand...
Click to collapse
Yeah thats it, any suggestions then? At the mo I'm still running my script manually on boot after everything is loaded, to be fair I do it without thinking about it now, but would be good to automate it
Higgsy said:
Yeah thats it, any suggestions then? At the mo I'm still running my script manually on boot after everything is loaded, to be fair I do it without thinking about it now, but would be good to automate it
Click to expand...
Click to collapse
Hmmm, seems I was mistaken in my last post. The kernel driver does not write to the TWL5030 directly, some registers in this chip has already been mapped out by and OMAP kernel driver and the overclock kernel driver is just used to be able to get to the OMAP driver parameters and other kernel parameters. All this according to the documentation found in code.google.com/p/milestone-overclock/wiki/KernelModule . And according to the same you can set some parameters when you insmod the kernel driver, "insmod overclock.ko mpu_opps_addr=0xc050a848 max_rate=800000 max_vsel=62". So you could try to set the arguments you want in freq_table and mpu_opps at insmod instead to see if that works?
EDIT: According to the FAQ, changing the freq_table and mpu_opps can only be done using a script writing to /proc.
http://code.google.com/p/milestone-overclock/wiki/FAQ
Edit 2: Checked the source code of overclock kernel driver. And the freq_table and mpu_opps is not a module_param meaning you can not set them during kernel load. However it would be very easy to add a couple of module_params to the source code be able to set them during kernel driver load. However you would need the complete cross-compiler environment to build it once modified, which I guess is the major time consumer to make this change. So kindly asking Tiago Sousa whos written it would maybe be the quickest..
Xhit said:
Hmmm, seems I was mistaken in my last post. The kernel driver does not write to the TWL5030 directly, some registers in this chip has already been mapped out by and OMAP kernel driver and the overclock kernel driver is just used to be able to get to the OMAP driver parameters and other kernel parameters. All this according to the documentation found in code.google.com/p/milestone-overclock/wiki/KernelModule . And according to the same you can set some parameters when you insmod the kernel driver, "insmod overclock.ko mpu_opps_addr=0xc050a848 max_rate=800000 max_vsel=62". So you could try to set the arguments you want in freq_table and mpu_opps at insmod instead to see if that works?
EDIT: According to the FAQ, changing the freq_table and mpu_opps can only be done using a script writing to /proc.
http://code.google.com/p/milestone-overclock/wiki/FAQ
Edit 2: Checked the source code of overclock kernel driver. And the freq_table and mpu_opps is not a module_param meaning you can not set them during kernel load. However it would be very easy to add a couple of module_params to the source code be able to set them during kernel driver load. However you would need the complete cross-compiler environment to build it once modified, which I guess is the major time consumer to make this change. So kindly asking Tiago Sousa whos written it would maybe be the quickest..
Click to expand...
Click to collapse
Right I cracked it!
all I had to do was the following
My setscaling.sh resides in system/xbin
I created an Install-recovery.sh and placed in system/etc
The content of Install-recovery.sh is:
#!/system/bin/sh
sleep 90
setscaling.sh
Hence making the script wait 90 secs before it initialises my setscaling.sh - plenty of time for the overclock module to load.
It may not be the best solution but it works a treat.
Wow that was fast. I've been playing with the voltages and it seems that stability depends on both the starting freq/vsel and also the current battery level. For example I can lower the voltage for 300MHz slowly while staying at 300MHz, but jumping from 600MHz I have to be much more careful so the resulting vsel has be to much more conservative. Milestone-overclock isn't always successful when you hit "apply" (including false read back) and I had to use Quadrant's system info to verify each time. This was much more touchy compared to undervolting a laptop.
Is there an "init.d" directory? Equipment I work on have this directory and all across are run when it resets.
Sent from my MB525 using XDA App
i need to UNDERclock my V500 the CPU and also the GPU.
with stock rooted no luck, only the 1st core and not the other 3 and also the GPU, tryed ALL apps i've fund.
tested with PERFMON http://forum.xda-developers.com/showthread.php?t=1933284 that will show the frequency of the cores
more info on http://forum.xda-developers.com/showthread.php?t=2666338
i think is the qualcomm mpdecision function...
is there any CUSTOM ROM that will do the trick? please check with PERFMON and report!
it's crucial for me, PLEASE.
Hello,
Is there a software which can overclock the cpu and gpu of Nokia X and is it necessary to wait for a modified kernel in order such software to be able to work?
Regards
Solo
solo2002 said:
Hello,
Is there a software which can overclock the cpu and gpu of Nokia X and is it necessary to wait for a modified kernel in order such software to be able to work?
Regards
Solo
Click to expand...
Click to collapse
The NULL Kernel already allows for overclocking. Check the Android Development Section and read the NULL Kernel thread. I believe its overclocked.
Dom3616 said:
The NULL Kernel already allows for overclocking. Check the Android Development Section and read the NULL Kernel thread. I believe its overclocked.
Click to expand...
Click to collapse
Thank you for the fast reply. I checked the thread. It seems they managed to overclock the gpu but there is no option for cpu. I guess I will need to wait and hope someone to be able to implement cpu overclocking.
I tried a few apps (SetCPU, Titanium Tweaker, KUI), but none of them overclocked my CPU. Using 3.4.86 kernel that comes with dhacker's 29 AOSP ROM.
I have the Infinite BootLoop Issue (the hardware issue) and I'm trying to disable the 2 big cores at startup. With Kernel Adiutor I can disable one core, but when I try to disable the second, it goes online automatically. I tryed this with different governor but I cannot disable both cores (I must do it manually modifying files /sys/devices/system/cpu/cpu4/online and the cpu5 one). There is a kernel with those cores disabled, but it's old. So, is there a script that can turn off the big cores during startup?
I have H815 eur and MM (with Imperium ROM and Imperium Kernel)
Solved, with this thread https://forum.xda-developers.com/g4/general/fix-lg-g4-bootloop-issue-t3647538
HI I'm looking for a developer to tell me about these boot logs from my official status warranty 0×0 S20 Ultra 5G purchased new from the Samsung store in Burnaby BC . Im not allowed to post the link one of the logs says
CPU features kernel page table isolation disabled by kernel configuration
And
no vlpi support no direct LPI support lpi
ITS: no its available not enabling lpi's
Trace_printk () being used allocating extra memory
This means that this is a debug kernal and unsafe for production use.
Iommu Debugfs has been enabled in this kernal
S204salehighestbidder said:
HI I'm looking for a developer to tell me about these boot logs from my official status warranty 0×0 S20 Ultra 5G purchased new from the Samsung store in Burnaby BC . Im not allowed to post the link one of the logs says
CPU features kernel page table isolation disabled by kernel configuration
And
no vlpi support no direct LPI support lpi
ITS: no its available not enabling lpi's
Trace_printk () being used allocating extra memory
This means that this is a debug kernal and unsafe for production use.
Iommu Debugfs has been enabled in this kernal
Click to expand...
Click to collapse
wat do u need a dev for? it says this in every samsung device since s9 (i didnt pay attention to it prior) even on usa locked devices on stock kernel