[REF]SIYAH KERNEL - non dev issues and questions about kernel

Search This thread

dragon546

Senior Member
Sep 28, 2007
594
109
Essex
NON DEV ISSUES AND QUESTIONS ABOUT KERNEL POST HERE. THIS IS A WORK IN PROGRESS THREAD


HISTORY

I have been given Permission by the Kernel's Author (Gokhanmoral) to create this thread. Please put your issues or questions you have with the Kernel in this thread. Also functional request should also be made here. The aim of this thread is to filter out excess questions regarding the use and experience from the development thread. The author of the kernel and many experience users\testers and primary dev contributors need to use the Development thread in order to help Gokhan to implement his kernel. Would also request the community to contribute in terms of info to compile a knowledge base if you will. Many Thanks Gokhan and future contributors.



THANKS:
Samsung, supercurio, hardcore, Hacre, RAvenGEr, tegrak, cattleprod, codeworkx, hellcat, creams, vitalij, arighi, ninpo,netarchy .. Any others that I missed.



SiyahKernel v2.6.12

FEATURES
Can be flashed on Samsung ROMs and AOSP Based ROMS. Currently all Samsung 2.3.4, 2.3.5, 2.3.6, 2.3.7 based ROMS, CM7 (CM9 or any other ICS based ROMs are not supported) and MIUI ROMS are supported.
Based on linux kernel 2.6.35.14 + drivers from Samsung sources
Auto-Rooting
Custom CWM compatible Redpill Recovery from af974 (For more info: http://forum.xda-developers.com/showpost.php?p=21727136&postcount=9680 )
Custom boot animation support
Supports SetCPU (OC upto 1600MHz, UC downto 100MHz)
User customizable frequency steps. You can edit "freq_table" and use 25MHz as the lowest step and 1696MHz as the highest. You have 8 steps (it is fixed) but the frequencies can be set.
Supports undervolting (UV between 800 mV and 1500 mV)
Supports voltage control via SetCPU (thanks to netarchy, ninpo, hacre)
Stock voltages as default
smartassV2, lulzactiveV2 governors. and lots of other governors which are available as modules
Default governor is lulzactive (200-1200MHz)
Tweaked ondemand and conservative governors
no compiler optimization. it is just a myth.
Touchscreen fix (thanks to vitalij)
Increased touchscreen sensitivity
GPU clock (thanks to netarchy), voltage and scaling thresholds control interface.
I/O, scheduler, hotplug and vm tweaks
automatic battery calibration. (removed. thanks to Entropy512. we do not need battery calibration for SGS2)
Available I/O schedulers: noop, deadline, CFQ, BFQV3r1, V(R), SIO(default)
Available CPU governors: see this thread for the list of available governors and modules (thanks to droidphile)
/system/etc/init.d startup scripts support
Automatic backup of efs partition. You will have the files in your sdcard as well as /data/.siyah directory. copy them to a safe location in case you may need them later.
BLN (thanks to creams), liblights is autoinstalled if the existing one doesn't support BLN
supports advanced touch tune driver. thanks to vitalij Link. the control app from Web, from Mobile. Thanks to tegrak for the driver patch file download
2nd core application support (thanks to tegrak)
Automounting of NTFS volumes for USB sticks (ntfs on external card is not supported). although your rom says "clear storage", just check /mnt/usb folder. ntfs drives will be automatically mounted in read-only mode.
LZOP compression for the kernel to have very fast decompression. We have a VERY BIG kernel image because we have ntfs-3g, CWMManager and lots of other things both in initramfs and payload.
Integrated new&faster sha-1, crc32 slice-by-8, crc32c, jhash and rwsem algorithms
SCHED_MC enabled to have less power consumption.
Lower brightness levels for low-light conditions to save battery.
Brightness behaviour modification via setting min_bl, min_gamma and max_gamma values. you can control the lowest and hightest levels used in autobrightness.
Native BLN support for CM7 based roms.
Three GPU stepping (160-267-300) instead of two
optimized and configurable hotplug thresholds and rates.
Thunderbolt! script integrated (thanks to pikachu01)
Voodoo louder app support (thanks to supercurio)
Current Widget support while charging the device.
Charging the battery stops when the battery draws less than 100mA (stock value is 200mA).
CIFS, SLUB, FUSE, NTFS, cgroup_timer_slack, autogroup,... and lots of other mambojambo that I forgot...



TO FLASH ZIP:
Use CWM Recovery and install zip file. Wiping cache&dalvik cache is recommended for those who use BLN.
if you lose root after flashing the kernel (unlikely), flash http://goo-inside.me/superuser/su-2.3.6.3-efgh-signed.zip in CWM.


FAQ (WIP)

General

Q: Does this kernel support latest i9100 ROM which is based on android 2.3.5 -2.3.7?

A: Yes, it does.

Q: Can I use this kernel on I9100G?

A: No, you cannot. Only International i9100 and Canadian (Bell Mobility) models are supported (Chinese or AT&T T-Mobile US are not supported). Also, I compile ntt-docomo version for each release but beta versions do not support gps and digital tv on ntt-docomo devices.

Q: Does this kernel support CM7 or any other AOSP based roms?

A: Yes, but it only support CM7 or MIUI based roms for now from 2.0 and above. If you are using another AOSP based Rom tell me and I will support it.

Q. What is the latest version of the Kernel?

2.6.3 is the latest and can be found here:

SiyahKernel Edition v2.6.12 (Please ensure you choose the right one for your phone)

Q. I have an International i9100 can I flash NTT version?

A. Important Notice: the one with "ntt" in the filename is NTT DoCoMo SC-02C version. do not flash it if you have EU version

Q. Where can I get the latest Kernel Source for this Kernel?

A. It can be Found Here: Kernel Source

Q.Are there any Variants based on this Kernel?

A. Yes there is DK SIYAH KERNEL

Q: Can I use app protectors with this kernel?

A: Yes, you can. But you have to flash EnableLogger.zip using CWM after flashing the kernel.

TO ENABLE ANDROID LOGGER USE THIS:
ENABLE LOGGER

TO DISABLE ANDROID LOGGER USE THIS:
DISABLE LOGGER IF IT IS INSTALLED


Battery & Performance Factors

Q: What is battery life like on this kernel?

A: Some have said the battery life has improved. Others said not as good as others, this however maybe down to rogue apps creating wakelocks. Could be the rom is does not take advantage of the kernels features or could be a bad battery. Let's just say your Mileage may vary...

Q. I keep hearing about AOS having a factor on performance, whats all this about?

A. The Android OS using quite a lot of resources. AndreiLux wrote and in depth reference post about this which you can find here: [REF][Rewrite 26/10] What the Android OS usage is and what it's not

Q: What can I do to improve battery life?

A: put your phone into airplane mode or do not use packet data when you are not using it. Check for Rogue Apps and also check for unnecessary wakelocks and close them.


Q: I get random reboots or freezes. What should I do?

A: Make sure you boot in Recovery wipe cache and dalvik, then reflash the kernel. Although the kernel will do this if you apply the CWM.zip of the Kernel. It can still leave data behind.

If you are undervolting revert back to stock values. Then start reducing voltage by.25 and test. If that does not work make a note of:

1. When did it happen?
2. Which rom are you using, can you reproduce it
3. do you have any custom init scripts which changes kernel parameters such as freq voltage or anything else?

Post in this thread and we will try and help you.

Q: My phone doesn't go into deep sleep. What is wrong?

A: Make sure that you have cleared cache and dalvik-cache after you install the kernel. Also, reboot once more after the flashing. the phone doesn't go into deep sleep if it is connected to a charger or to a computer. There may be an application running in the background which is preventing deep sleep. In that case you can check which app causing the problem with "BetterBatteryStats" application (search in Google).


Q: do I need to recalibrate the battery?

A: You don't need to calibrate battery for SGS2. Thanks to Entropy512 to pointing out that our device uses MAX17042 which is specifically designed not to require calibration.




OC/UV and init Scripts

Q. What tools can be used to manipulate the clock speeds of this kernel?

SetCpu : http://www.youtube.com/watch?v=X9Sn4Uz4pkM Just an overview

Voltage Control: http://www.youtube.com/watch?v=XkhBFVUKBTQ Just an overview

No-frills cpu: More Info here about the tool

And Initialization Scripts

Tegrak Overclocking app is currently NOT SUPPORTED by this kernel


Q: What is an init.d script?

A:init.d scripts are the scripts which are executed during the boot time. actually, they are meant to initialize and deinitialize system daemons and manage some startup/shutdown tasks. but in android world they are just "autoexec.bat"s. so, it is a mix of rc.d and init.d directories in linux distros. everything in /system/etc/init.d are executed during the booting process. since it is not standard in every android device,some developers choose to execute files starting with "S" and some execute everything. in this kernel, everything in /system/etc/init.d is executed. you can create a script to change, lets say, voltages, schedulers, apply tweaks, run overclocking daemon or run anything else you can imagine.

Q. Okay how do I start to create my own Init.d Script for the kernel?

A: KWERDENKER has written a reference guide to help you get started. You can find his excellent Guide on POST #2 of this thread.
example of Kwerdenker scripts are also in Post 2.

DROIDPHILE'S NOOBS SCRIPTING GUIDE:

http://forum.xda-developers.com/showpost.php?p=19519757&postcount=10699

Here are other examples of init.d scripts supplied by Fenomeno83:

Another couple of nice init.d scripts created by fenomeno83



Q: where is the interface to change GPU clock and voltage?

A:There is now a GUI to change GPU voltage and Charging current it's voltage control and probably one by Gokhanmoral soon

For Undervolting your GPU use this Script from AndreiLux as a Reference:

Example CWM-flashable /system/etc/init.d/99gpuv script

Q: Which governor is the best? Which I/O scheduler is the best?

A: You have to try them and select the one you like. There is a very good explanation about governors and i/o schedulers here:

http://forum.xda-developers.com/showthread.php?t=1242323

HERE IS DROIDPHILE CONCISE GUIDE TO GOVERNORS

http://forum.xda-developers.com/showpost.php?p=19339524&postcount=10023

More info might help those you get a better understanding for schedulers:

https://github.com/CyanogenMod/cm-k...m-2.6.37/Documentation/cpu-freq/governors.txt Source: Cyanogenmod Githubs

Info about Lulzactive Governor.

http://tegrak2x.blogspot.com/2011/07/lulzactive-governor.html


Q: What is smartassV2 governor?

A: It is a governor to control CPU frequency. This governor has a built-in "profile" similar to SetCPU but the profile has no upper frequency limit. It tends to stay on lower frequencies when the screen is off and scale up very slowly, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).


Q: What is the best UV settings?

A: There is nothing as best UV settings. You have to find the best settings for your device for yourself. Start by decreasing 25mV on each freq and decrease it every day until your device becomes unstable.

Q. I notice one of the features is the ability of customizing Voltages for Charging?

A. Gokhan has written a script which he converted to be applied using CWM recovery (PLEASE BE CAREFUL WHEN APPLYING THIS, IF YOU ARE UNSURE PLEASE ASK IN THIS THREAD BEFORE DOING IT)

Set AC and MISC charging current to 1000mA - CWM flashable (keeps USB charging current at 450mA)


Q. I read that different frequencies would assist in better battery performance do you have any examples of this so I can use it my script?

A. Bene2K11 Created some scripts which allows you modify the bus frequencies when using this kernel, they can be found here:

3 flashable zips for the lowest, mid and highest bus frequencies


MISCELLANEOUS

Q: Which version is the best?

A: supposedly, the latest version is the best. But if the latest version is beta there may be unstable code in it. testing the beta version and reporting bugs will help me. but it's your choice... try and see... maybe this kernel is not stable for your device at all, who knows... I will not answer any "what is the best?" questions and I kindly ask you not to ask that kind of questions since there is no answer to that.



My Thanks for their contribution to this thread to Gokhanmoral, AndreiLux, ChadouMing, Nilste, Matriak31,Ger5,Kwerdenker,Fenomeno83, Bene2k11,Droidphile






__________________
Reproduce with permission from Gokhan by Dragon546
 
Last edited:

dragon546

Senior Member
Sep 28, 2007
594
109
Essex
[REF]Init-Script Reference Guide By kwerdenker

MANY THANKS KWERDENKER FOR THIS. REPRODUCED WITH HIS AUTHORIZATION.

Original post from kwerdenker here.

I hope some of you find this useful as a reference for creating your own init-scripts. This contains everything I use or at least remember about the options in this kernel. If I forgot something or made an error somewhere, please send me a PM and I will gladly correct it.

How to use these settings:
If you want to test some settings before you commit them to a script, you can use either the adb shell if your on a pc with adb installed or you can use Terminal Emulator directly on your phone. Remeber to enter superuser mode by entering su in the terminal before you try to set anything or you will get errors. After that just enter the line you want with the values you want to test (if the values are incased in "", keep them that way!). If you want to see if it worked just enter cat followed by the part behind the > of the lines and you will get the values that are currently set. Everything you do in this fashion will not survive a reboot of your phone, if you want to make them permanent you'll have to use an init-script. A how-to on that is (currently) out of the scope for this post. Have a look/search in the kernel release thread as there are many examples for that there. I'm sure with this post and these examples you can figure it out by yourself :)

The values in the echo commands are the stock values (from 2.1.1 version) if not noted otherwise

[CPU]
[Frequency]
[Steps]
# Controls which frequency steps are available
# Should probably only be used to set the lowest step to 25 and/or the highest to 1696
echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table​
[Scaling Min]
# Controls which frequency is use by the governor as the minimal frequency (has to be a valid value in the frequency table!)
echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq​
[Scaling Max]
# Controls which frequency is use by the governor as the maximal frequency (has to be a valid value in the frequency table!)
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq​
[Voltages]
# Controls with what voltages the frequency steps are supplied
# Highest step is to the left, lowest to the right
echo "1425 1325 1275 1175 1075 975 950 950" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table​
[Governor]
# Available governors: ondemand, lulzactive, smartassV2, conservative, userspace, performance, powersave, brazilianwax, savagedzen, smartass, lagfree, ondemandx
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor​
[GPU]
[Frequency]
# Controls with what frequencies the GPU works
# Valid frequency steps are 100 114 133 160 200 267 400
echo "160 267" > /sys/class/misc/gpu_clock_control/gpu_control​
[Voltages]
# Controls with what voltages the GPU works
# Lowest possible value is 800000, maximum is 1200000
# Changes are only possible in 50000 steps
echo "950000 1000000" > /sys/class/misc/gpu_voltage_control/gpu_control​
[IO]
[Scheduler]
# Controls how IO requests are scheduled.
# Available schedulere: noop deadline cfq bfq sio vr
echo sio > /sys/block/mmcblk0/queue/scheduler​
[BUS]
[Frequency]
# Controls with what frequency the bus operates
# Valid values are: 0 (400MHz), 1 (266MHz), 2 (133MHz)
# Highest frequency step of cpu is to the left, lowest to the right
echo "0 0 0 0 1 1 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
echo disabled > sys/devices/system/cpu/cpu0/cpufreq/busfreq_static # Use enabled to activate this feature​
[Charging Current]
# Controls how much power the phone is willing to draw from a specific charger type
# Values are from left to right: AC Misc USB
# !This is a dangerous setting. Use with caution and never change the USB value and never set the other ones higher than 1000!
echo "650 550 450" > sys/devices/virtual/misc/charge_current/charge_current​

I will try to keep this post up to date with any relevant changes in the kernel.

Example GPU/CPU undervolting and underclocking scripts by kwerdenker please just use for Reference

Improved version of CPU undervolting script by kwerdenker please just as a reference

P.S.: I will not respond to request what settings you should use to achieve the highest score in a benchmark or how you get the most battery life. This is just to gather the information that is already floating out there. What you do with it is up to you ;)
 
Last edited:

fasst

Senior Member
Feb 20, 2008
485
130
Someone asked in another posting about whats the difference between the governors you can choose in Siyah kernel.

Here is an informative article from Github that explains the difference. The governors are from Cyanogen but I beleive it will give you a fair insight in their caracteristics for Siyah also.

https://github.com/CyanogenMod/cm-k...m-2.6.37/Documentation/cpu-freq/governors.txt

There are also a couple more governors you can choose in the latest RC. Maybe others can give some info. about their caracteristics.
 
Last edited:
  • Like
Reactions: dragon546

dragon546

Senior Member
Sep 28, 2007
594
109
Essex
Someone asked in another posting about whats the difference between the governors you can choose in Siyah kernel.

Here is an informative article from Github that explains the difference. The governors are from Cyanogen but I beleive it will give you a fair insight in their caracteristics for Siyah also.

https://github.com/CyanogenMod/cm-k...m-2.6.37/Documentation/cpu-freq/governors.txt

There are also a couple more governors governors you can choose in the latest RC. Mabye others can give some info. about their caracteristics.


This is exactly the stuff I am looking for thank you nilste
 
  • Like
Reactions: starbase64

dragon546

Senior Member
Sep 28, 2007
594
109
Essex
Is it normal, that on 2.1 rc3 i cant see how much juice every app consumes???

Corndude How does insanity do its reporting? is it like miui where you can see the app usage in battery usage section like stock's app manager?

Did you get the stats before on the last kernel you use? I am not on insanity but if I cannot answer your query others can.
 
C

Corndude

Guest
Originally Posted by Corndude
Is it normal, that on 2.1 rc3 i cant see how much juice every app consumes???

Corndude How does insanity do its reporting? is it like miui where you can see the app usage in battery usage section like stock's app manager?

Did you get the stats before on the last kernel you use? I am not on insanity but if I cannot answer your query others can.

i did get the stats before rc3, also doesn´t show the monitor´s use. Insanity is just like cm7, same stuff.
 

dragon546

Senior Member
Sep 28, 2007
594
109
Essex
i did get the stats before rc3, also doesn´t show the monitor´s use. Insanity is just like cm7, same stuff.

Did you just install Rc3 without wiping dalvik? Just want to check :). I always do a dalvik and cache wipe before I use CWM to apply the kernel update or If I use Odin to apply the kernel I then boot up into CWM recovery and perform a cache and Dalvik afterwards
 
Last edited:

vnvman

Senior Member
Oct 31, 2009
2,167
245
Alba
Nice thread. Can anybody explain/point me to a good guide on cpu schedulers? This kernel allows changing the scheduler, but i don't know which one is the best for my kind of usage: movies-games-browsing, gpu intensive stuff i guess. Thanks.
 
M

Matriak31

Guest
No probs mate..:) good idea regarding the thread...At least now the Siyah one can stay just kernel related and all the Q&A can be moved here now..Great job
 
M

mudferret

Guest
Issue I had with RC2:
-3G not functional, I didn't realize this until a few hours later when I wasn't at home enjoying my network; tested phone signal, was able to make calls, was in a bit of a cellular black hole but others on the same, and other networks, were able to access data easily,
-Restored my APN's from b/u to address 3G connectivity and at this point I lost all signal, no IMEI, phone number, etc... and would get an FC if I attempted to open the dialer, this was back at home where I have no data issues ever,
-Restored a nandroid b/u and all was good; did not try restoring EFS prior to this.

Just curious what the issue might have been; EFS corrupted (seemed to be a step wise loss), other?

And yes, at this point I realize I should learn a lot more before testing betas, etc... it's on my list ;) Other than that I was thoroughly impressed with the lulzactive governor.
 
Last edited:
C

Corndude

Guest
Did you just install Rc3 without wiping dalvik? Just want to check :). I always do a dalvik and cache wipe before I use CWM to apply the kernel update or If I use Odin to apply the kernel I then boot up into CWM recovery and perform a cache and Dalvik afterwards

Siyah wipes it all by itself when installing via cwm.
 

dragon546

Senior Member
Sep 28, 2007
594
109
Essex
Issue I had with RC2:
-3G not functional, I didn't realize this until a few hours later when I wasn't at home enjoying my network; tested phone signal, was able to make calls, was in a bit of a cellular black hole but others on the same, and other networks, were able to access data easily,
-Restored my APN's from b/u to address 3G connectivity and at this point I lost all signal, no IMEI, phone number, etc... and would get an FC if I attempted to open the dialer, this was back at home where I have no data issues ever,
-Restored a nandroid b/u and all was good; did not try restoring EFS prior to this.

Just curious what the issue might have been; EFS corrupted (seemed to be a step wise loss), other?

And yes, at this point I realize I should learn a lot more before testing betas, etc... it's on my list ;) Other than that I was thoroughly impressed with the lulzactive governor.

What rom you using?

I am on RC2 on Miui as far as I am aware I did not think it would interfere with EFS or change modem. Was there any think else that might have cause the EFS corruption or APN changes.
 

jdmcivic

Senior Member
Nov 22, 2006
422
37
i have this problem whereby UV settings are applied during boot. am using init.d scripts. it sticks for 5-10mins and then it automatically reverts back to stock values. anyone else facing this prob?
am running gingermod 0.7
 
Last edited:
M

mudferret

Guest
What rom you using?

I am on RC2 on Miui as far as I am aware I did not think it would interfere with EFS or change modem. Was there any think else that might have cause the EFS corruption or APN changes.

I'm on DlevROM (XXKI4 based); Siyah 2.0 does back up EFS, so there must be a chance for corruption somewhere along the line.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    NON DEV ISSUES AND QUESTIONS ABOUT KERNEL POST HERE. THIS IS A WORK IN PROGRESS THREAD


    HISTORY

    I have been given Permission by the Kernel's Author (Gokhanmoral) to create this thread. Please put your issues or questions you have with the Kernel in this thread. Also functional request should also be made here. The aim of this thread is to filter out excess questions regarding the use and experience from the development thread. The author of the kernel and many experience users\testers and primary dev contributors need to use the Development thread in order to help Gokhan to implement his kernel. Would also request the community to contribute in terms of info to compile a knowledge base if you will. Many Thanks Gokhan and future contributors.



    THANKS:
    Samsung, supercurio, hardcore, Hacre, RAvenGEr, tegrak, cattleprod, codeworkx, hellcat, creams, vitalij, arighi, ninpo,netarchy .. Any others that I missed.



    SiyahKernel v2.6.12

    FEATURES
    Can be flashed on Samsung ROMs and AOSP Based ROMS. Currently all Samsung 2.3.4, 2.3.5, 2.3.6, 2.3.7 based ROMS, CM7 (CM9 or any other ICS based ROMs are not supported) and MIUI ROMS are supported.
    Based on linux kernel 2.6.35.14 + drivers from Samsung sources
    Auto-Rooting
    Custom CWM compatible Redpill Recovery from af974 (For more info: http://forum.xda-developers.com/showpost.php?p=21727136&postcount=9680 )
    Custom boot animation support
    Supports SetCPU (OC upto 1600MHz, UC downto 100MHz)
    User customizable frequency steps. You can edit "freq_table" and use 25MHz as the lowest step and 1696MHz as the highest. You have 8 steps (it is fixed) but the frequencies can be set.
    Supports undervolting (UV between 800 mV and 1500 mV)
    Supports voltage control via SetCPU (thanks to netarchy, ninpo, hacre)
    Stock voltages as default
    smartassV2, lulzactiveV2 governors. and lots of other governors which are available as modules
    Default governor is lulzactive (200-1200MHz)
    Tweaked ondemand and conservative governors
    no compiler optimization. it is just a myth.
    Touchscreen fix (thanks to vitalij)
    Increased touchscreen sensitivity
    GPU clock (thanks to netarchy), voltage and scaling thresholds control interface.
    I/O, scheduler, hotplug and vm tweaks
    automatic battery calibration. (removed. thanks to Entropy512. we do not need battery calibration for SGS2)
    Available I/O schedulers: noop, deadline, CFQ, BFQV3r1, V(R), SIO(default)
    Available CPU governors: see this thread for the list of available governors and modules (thanks to droidphile)
    /system/etc/init.d startup scripts support
    Automatic backup of efs partition. You will have the files in your sdcard as well as /data/.siyah directory. copy them to a safe location in case you may need them later.
    BLN (thanks to creams), liblights is autoinstalled if the existing one doesn't support BLN
    supports advanced touch tune driver. thanks to vitalij Link. the control app from Web, from Mobile. Thanks to tegrak for the driver patch file download
    2nd core application support (thanks to tegrak)
    Automounting of NTFS volumes for USB sticks (ntfs on external card is not supported). although your rom says "clear storage", just check /mnt/usb folder. ntfs drives will be automatically mounted in read-only mode.
    LZOP compression for the kernel to have very fast decompression. We have a VERY BIG kernel image because we have ntfs-3g, CWMManager and lots of other things both in initramfs and payload.
    Integrated new&faster sha-1, crc32 slice-by-8, crc32c, jhash and rwsem algorithms
    SCHED_MC enabled to have less power consumption.
    Lower brightness levels for low-light conditions to save battery.
    Brightness behaviour modification via setting min_bl, min_gamma and max_gamma values. you can control the lowest and hightest levels used in autobrightness.
    Native BLN support for CM7 based roms.
    Three GPU stepping (160-267-300) instead of two
    optimized and configurable hotplug thresholds and rates.
    Thunderbolt! script integrated (thanks to pikachu01)
    Voodoo louder app support (thanks to supercurio)
    Current Widget support while charging the device.
    Charging the battery stops when the battery draws less than 100mA (stock value is 200mA).
    CIFS, SLUB, FUSE, NTFS, cgroup_timer_slack, autogroup,... and lots of other mambojambo that I forgot...



    TO FLASH ZIP:
    Use CWM Recovery and install zip file. Wiping cache&dalvik cache is recommended for those who use BLN.
    if you lose root after flashing the kernel (unlikely), flash http://goo-inside.me/superuser/su-2.3.6.3-efgh-signed.zip in CWM.


    FAQ (WIP)

    General

    Q: Does this kernel support latest i9100 ROM which is based on android 2.3.5 -2.3.7?

    A: Yes, it does.

    Q: Can I use this kernel on I9100G?

    A: No, you cannot. Only International i9100 and Canadian (Bell Mobility) models are supported (Chinese or AT&T T-Mobile US are not supported). Also, I compile ntt-docomo version for each release but beta versions do not support gps and digital tv on ntt-docomo devices.

    Q: Does this kernel support CM7 or any other AOSP based roms?

    A: Yes, but it only support CM7 or MIUI based roms for now from 2.0 and above. If you are using another AOSP based Rom tell me and I will support it.

    Q. What is the latest version of the Kernel?

    2.6.3 is the latest and can be found here:

    SiyahKernel Edition v2.6.12 (Please ensure you choose the right one for your phone)

    Q. I have an International i9100 can I flash NTT version?

    A. Important Notice: the one with "ntt" in the filename is NTT DoCoMo SC-02C version. do not flash it if you have EU version

    Q. Where can I get the latest Kernel Source for this Kernel?

    A. It can be Found Here: Kernel Source

    Q.Are there any Variants based on this Kernel?

    A. Yes there is DK SIYAH KERNEL

    Q: Can I use app protectors with this kernel?

    A: Yes, you can. But you have to flash EnableLogger.zip using CWM after flashing the kernel.

    TO ENABLE ANDROID LOGGER USE THIS:
    ENABLE LOGGER

    TO DISABLE ANDROID LOGGER USE THIS:
    DISABLE LOGGER IF IT IS INSTALLED


    Battery & Performance Factors

    Q: What is battery life like on this kernel?

    A: Some have said the battery life has improved. Others said not as good as others, this however maybe down to rogue apps creating wakelocks. Could be the rom is does not take advantage of the kernels features or could be a bad battery. Let's just say your Mileage may vary...

    Q. I keep hearing about AOS having a factor on performance, whats all this about?

    A. The Android OS using quite a lot of resources. AndreiLux wrote and in depth reference post about this which you can find here: [REF][Rewrite 26/10] What the Android OS usage is and what it's not

    Q: What can I do to improve battery life?

    A: put your phone into airplane mode or do not use packet data when you are not using it. Check for Rogue Apps and also check for unnecessary wakelocks and close them.


    Q: I get random reboots or freezes. What should I do?

    A: Make sure you boot in Recovery wipe cache and dalvik, then reflash the kernel. Although the kernel will do this if you apply the CWM.zip of the Kernel. It can still leave data behind.

    If you are undervolting revert back to stock values. Then start reducing voltage by.25 and test. If that does not work make a note of:

    1. When did it happen?
    2. Which rom are you using, can you reproduce it
    3. do you have any custom init scripts which changes kernel parameters such as freq voltage or anything else?

    Post in this thread and we will try and help you.

    Q: My phone doesn't go into deep sleep. What is wrong?

    A: Make sure that you have cleared cache and dalvik-cache after you install the kernel. Also, reboot once more after the flashing. the phone doesn't go into deep sleep if it is connected to a charger or to a computer. There may be an application running in the background which is preventing deep sleep. In that case you can check which app causing the problem with "BetterBatteryStats" application (search in Google).


    Q: do I need to recalibrate the battery?

    A: You don't need to calibrate battery for SGS2. Thanks to Entropy512 to pointing out that our device uses MAX17042 which is specifically designed not to require calibration.




    OC/UV and init Scripts

    Q. What tools can be used to manipulate the clock speeds of this kernel?

    SetCpu : http://www.youtube.com/watch?v=X9Sn4Uz4pkM Just an overview

    Voltage Control: http://www.youtube.com/watch?v=XkhBFVUKBTQ Just an overview

    No-frills cpu: More Info here about the tool

    And Initialization Scripts

    Tegrak Overclocking app is currently NOT SUPPORTED by this kernel


    Q: What is an init.d script?

    A:init.d scripts are the scripts which are executed during the boot time. actually, they are meant to initialize and deinitialize system daemons and manage some startup/shutdown tasks. but in android world they are just "autoexec.bat"s. so, it is a mix of rc.d and init.d directories in linux distros. everything in /system/etc/init.d are executed during the booting process. since it is not standard in every android device,some developers choose to execute files starting with "S" and some execute everything. in this kernel, everything in /system/etc/init.d is executed. you can create a script to change, lets say, voltages, schedulers, apply tweaks, run overclocking daemon or run anything else you can imagine.

    Q. Okay how do I start to create my own Init.d Script for the kernel?

    A: KWERDENKER has written a reference guide to help you get started. You can find his excellent Guide on POST #2 of this thread.
    example of Kwerdenker scripts are also in Post 2.

    DROIDPHILE'S NOOBS SCRIPTING GUIDE:

    http://forum.xda-developers.com/showpost.php?p=19519757&postcount=10699

    Here are other examples of init.d scripts supplied by Fenomeno83:

    Another couple of nice init.d scripts created by fenomeno83



    Q: where is the interface to change GPU clock and voltage?

    A:There is now a GUI to change GPU voltage and Charging current it's voltage control and probably one by Gokhanmoral soon

    For Undervolting your GPU use this Script from AndreiLux as a Reference:

    Example CWM-flashable /system/etc/init.d/99gpuv script

    Q: Which governor is the best? Which I/O scheduler is the best?

    A: You have to try them and select the one you like. There is a very good explanation about governors and i/o schedulers here:

    http://forum.xda-developers.com/showthread.php?t=1242323

    HERE IS DROIDPHILE CONCISE GUIDE TO GOVERNORS

    http://forum.xda-developers.com/showpost.php?p=19339524&postcount=10023

    More info might help those you get a better understanding for schedulers:

    https://github.com/CyanogenMod/cm-k...m-2.6.37/Documentation/cpu-freq/governors.txt Source: Cyanogenmod Githubs

    Info about Lulzactive Governor.

    http://tegrak2x.blogspot.com/2011/07/lulzactive-governor.html


    Q: What is smartassV2 governor?

    A: It is a governor to control CPU frequency. This governor has a built-in "profile" similar to SetCPU but the profile has no upper frequency limit. It tends to stay on lower frequencies when the screen is off and scale up very slowly, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).


    Q: What is the best UV settings?

    A: There is nothing as best UV settings. You have to find the best settings for your device for yourself. Start by decreasing 25mV on each freq and decrease it every day until your device becomes unstable.

    Q. I notice one of the features is the ability of customizing Voltages for Charging?

    A. Gokhan has written a script which he converted to be applied using CWM recovery (PLEASE BE CAREFUL WHEN APPLYING THIS, IF YOU ARE UNSURE PLEASE ASK IN THIS THREAD BEFORE DOING IT)

    Set AC and MISC charging current to 1000mA - CWM flashable (keeps USB charging current at 450mA)


    Q. I read that different frequencies would assist in better battery performance do you have any examples of this so I can use it my script?

    A. Bene2K11 Created some scripts which allows you modify the bus frequencies when using this kernel, they can be found here:

    3 flashable zips for the lowest, mid and highest bus frequencies


    MISCELLANEOUS

    Q: Which version is the best?

    A: supposedly, the latest version is the best. But if the latest version is beta there may be unstable code in it. testing the beta version and reporting bugs will help me. but it's your choice... try and see... maybe this kernel is not stable for your device at all, who knows... I will not answer any "what is the best?" questions and I kindly ask you not to ask that kind of questions since there is no answer to that.



    My Thanks for their contribution to this thread to Gokhanmoral, AndreiLux, ChadouMing, Nilste, Matriak31,Ger5,Kwerdenker,Fenomeno83, Bene2k11,Droidphile






    __________________
    Reproduce with permission from Gokhan by Dragon546
    6
    Results for SpeedMod / Phenomenal / N.E.A.K. / Siyah / stock kernels

    Everything is specific to my phone, my "normal" usage and my home location. Most values are exact results, but some are rounded. I usually have wifi, synch (three email accounts, calendar and news), Google Talk and Skype on.
    For all custom kernels, I was running on Frankenstein XWLA4 ROM (Modem: XXKL1).
    For stock kernels, I was running on the corresponding stock ROM.
    Always using the Samsung's standard / stock 1650mAh battery.
    For Siyah, as it has many, many configurable settings, I have changed nothing - just default settings.
    For N.E.A.K. I tested VR schedule, Lulzactive governor, only enabled sched_mc and the rest unchanged defaults.

    Just tested Siyah v2.6.12 "out-of-the-box" and added its results.


    Here are my current results:


    Benchmarks (in Performance governor if available)
    Quadrant Standard (3rd run)

    SpeedMod K2-19 (XILA2): 4779
    Phenomenal 3.0 black (XILA2): 4759
    Phenomenal 2.2 black (XILA2): 4640
    N.E.A.K. 1.3.3: 4616
    Phenomenal 4.0 (XILA2): 4478
    N.E.A.K. 1.3.2 (XILA2): 4384
    Siyah v2.6.12: 4345
    Siyah v2.6.11 (XILA2): 4280
    Stock XILA2 kernel: 4259
    Stock XWLA4 kernel: 4076
    Stock XWKL1 kernel: 4036
    Stock XWKK5 kernel: 3899
    Stock XWKK2 kernel: 3852


    NenaMark2 (best of 3 runs)

    N.E.A.K. 1.3.2 (XILA2): 54,3
    Stock XILA2 kernel: 54,3
    N.E.A.K. 1.3.3: 54,2
    Stock XWLA4 kernel: 54,2
    Siyah v2.6.11 (XILA2): 54,2
    Siyah v2.6.12: 54,1
    SpeedMod K2-19 (XILA2): 53,8
    Stock XWKK5 kernel: 47,8
    Stock XWKK2 kernel: 47,6
    Phenomenal 2.2 black (XILA2): 44,6
    Phenomenal 3.0 black (XILA2): 44,4
    Phenomenal 4.0 (XILA2): 44,3
    Stock XWKL1 kernel: 38,1


    Vellamo (best of 2 runs)

    N.E.A.K. 1.3.2 (XILA2): 1229
    Phenomenal 2.2 black (XILA2): 1227
    Stock XILA2 kernel: 1225
    Siyah v2.6.12: 1221
    SpeedMod K2-19 (XILA2): 1217
    Stock XWLA4 kernel: 1216
    Siyah v2.6.11 (XILA2): 1214
    N.E.A.K. 1.3.3: 1213
    Phenomenal 4.0 (XILA2): 1213
    Phenomenal 3.0 black (XILA2): 1212
    Stock XWKL1 kernel: 1173
    Stock XWKK5 kernel: 1160
    Stock XWKK2 kernel: 1080


    Linpack (best of 10 runs): Single / Multi thread

    Phenomenal 2.2 black (XILA2): 57.381 / 99.157
    SpeedMod K2-19 (XILA2): 57.420 / 97.608
    Phenomenal 4.0 (XILA2): 57.185 / 96.713
    Phenomenal 3.0 black (XILA2): 57.224 / 96.657
    Siyah v2.6.12: 57.816 / 95.725
    N.E.A.K. 1.3.3: 57.499 / 95.454
    Siyah v2.6.11 (XILA2): 56.759 / 95.184
    N.E.A.K. 1.3.2 (XILA2): 57.302 / 94.175
    Stock XWLA4 kernel: 57.816 / 93.548
    Stock XILA2 kernel: 57.302 / 91.667


    CF-Bench (best of 2 runs): Native / Java / Overall score

    N.E.A.K. 1.3.3: 11530 / 3623 / 6785
    Siyah v2.6.11 (XILA2): 11510 / 3586 / 6755
    Stock XWLA4 kernel: 11396 / 3539 / 6681
    SpeedMod K2-19 (XILA2): 11498 / 3353 / 6611
    Phenomenal 3.0 black (XILA2): 11490 / 3352 / 6607
    Phenomenal 4.0 (XILA2): 11472 / 3344 / 6595
    Phenomenal 2.2 black (XILA2): 11439 / 3352 / 6586
    Siyah v2.6.12: 11413 / 3313 / 6553
    N.E.A.K. 1.3.2 (XILA2): 11257 / 3304 / 6485
    Stock XILA2 kernel: 11285 / 3187 / 6426


    AnTuTu (1st run)

    N.E.A.K. 1.3.3: 6149
    N.E.A.K. 1.3.2 (XILA2): 6125
    Stock XILA2 kernel: 6110
    Siyah v2.6.12: 6072
    Siyah v2.6.11 (XILA2): 6025
    Stock XWLA4 kernel: 6009
    SpeedMod K2-19 (XILA2): 4971
    Phenomenal 3.0 black (XILA1): 4944
    Phenomenal 2.2 black (XILA2): 4899
    Phenomenal 4.0 (XILA2): 4863


    Battery stats
    Night use (wifi, synch, Talk and Skype on)

    Phenomenal 2.2 Extreme black (XILA2): Battery loss of 0,75% per hour, Awake: 5,6%, Deep sleep: 93%
    XWLA4: Battery loss of 0,95% per hour, Awake: 9,2%, Deep sleep: 90%
    Phenomenal 3.0 Extreme black (XILA2): Battery loss of 0,96% per hour, Awake: 6,4%, Deep sleep: 93%
    XILA2: Battery loss of 1,09% per hour, Awake: 6,5%, Deep sleep: 91%
    XWKK5: Battery loss of 1,09% per hour, Awake: 11,6%, Deep sleep: 88%
    Phenomenal 4.0 Extreme (XILA2): Battery loss of 1,14% per hour, Awake: 7,9%, Deep sleep: 90%
    SpeedMod K2-19 (XILA2): Battery loss of 1,15% per hour, Awake: 6,3%, Deep sleep: 93%
    N.E.A.K. 1.3.2 (XILA2): Battery loss of 1,18% per hour, Awake: 7,4%, Deep sleep: 92%
    Siyah v2.6.11 (XILA2): Battery loss of 1,21% per hour, Awake: 9,3%, Deep sleep: 90%
    N.E.A.K. 1.3.3: Battery loss of 1,28% per hour, Awake: 9,2%, Deep sleep: 90%
    XWKK2: Battery loss of 1,44% per hour, Awake: 9,9%, Deep sleep: 89%
    Siyah v2.6.12: Battery loss of 1,52% per hour, Awake: 9,6%, Deep sleep: 89%


    Mixed (day and night) usage (*)

    Phenomenal 4.0 Extreme (XILA2): Battery loss of 1,66% per hour, Wifi: 100%, Awake: 16,6%, Deep sleep: 83%, Screen: 8,3% => loss*(1-screen): 1,52%
    Phenomenal 2.2 Extreme black (XILA2): Battery loss of 1,67% per hour, Wifi: 100%, Awake: 14,9%, Deep sleep: 84%, Screen: 8,5% => loss*(1-screen): 1,53%
    XWLA4: Battery loss of 2,19% per hour, Wifi: 100%, Awake: 19,6%, Deep sleep: 80%, Screen: 10,2% => loss*(1-screen): 1,97%
    Phenomenal 3.0 Extreme black (XILA2): Battery loss of 2,36% per hour, Wifi: 100%, Awake: 20,1%, Deep sleep: 72%, Screen: 10,7% => loss*(1-screen): 2,11%
    XILA2: Battery loss of 2,42% per hour, Wifi: 100%, Awake: 18,2%, Deep sleep: 81%, Screen: 9,0% => loss*(1-screen): 2,20%
    N.E.A.K. 1.3.2 (XILA2): Battery loss of 2,45% per hour, Wifi: 100%, Awake: 19,6%, Deep sleep: 80%, Screen: 10,3% => loss*(1-screen): 2,20%
    Siyah v2.6.11 (XILA2): Battery loss of 2,51% per hour, Wifi: 100%, Awake: 21,0%, Deep sleep: 78%, Screen: 11,8% => loss*(1-screen): 2,21%
    XWKK2: Battery loss of 2,37% per hour, Wifi: 81,9%, Awake: 17,4%, Deep sleep: 82%, Screen: 5,9% => loss*(1-screen): 2,23%
    XWKK5: Battery loss of 2,58% per hour, Wifi: 96,1%, Awake: 19,5%, Deep sleep: 80%, Screen: 9,0% => loss*(1-screen): 2,35%
    SpeedMod K2-19 (XILA2): Battery loss of 2,67% per hour, Wifi: 100%, Awake: 19,7%, Deep sleep: 77%, Screen: 11,99% => loss*(1-screen): 2,35%
    Siyah v2.6.12: Battery loss of 2,94% per hour, Wifi: 100%, Awake: 23,3%, Deep sleep: 76%, Screen: 10,5% => loss*(1-screen): 2,63%
    N.E.A.K. 1.3.3: Battery loss of 3,05% per hour, Wifi: 100%, Awake: 24,3%, Deep sleep: 75%, Screen: 11,4% => loss*(1-screen): 2,70%


    (*) In order to get a value, which allows to compare test results with different screen on times for mixed usage battery tests, I tried to „normalized“ the battery loss per hour with the following formula:
    loss*(1-screen): battery loss in % (per hours) * (100% - screen on time in %)
    So, it would be the battery loss in % (per hour) for the screen off time.
    That is how a kernel with the same battery loss per hour will get a better/lower value, if it has more screen on time. (And the other way round.)

    Hmm ... Siyah v2.6.12 does not have as good battery savings as v2.6.7 (on XILA2 ROM) on my phone ... even on completely default settings (no UV, UC, etc.).
    The rest is good as always ... very, very stable, smooth and highly configurable !
    5
    The siyah settings cheat sheet (redux)

    [Info: This is a repost of the one I did in the original kernel thread. I realized to late, that this information and the discussion around it is better kept to this thread so I relocated it here.]

    I hope some of you find this useful as a reference for creating your own init-scripts. This contains everything I use or at least remember about the options in this kernel. If I forgot something or made an error somewhere, please send me a PM and I will gladly correct it.

    How to use these settings:
    If you want to test some settings before you commit them to a script, you can use either the adb shell if your on a pc with adb installed or you can use Terminal Emulator directly on your phone. Remeber to enter superuser mode by entering su in the terminal before you try to set anything or you will get errors. After that just enter the line you want with the values you want to test (if the values are incased in "", keep them that way!). If you want to see if it worked just enter cat followed by the part behind the > of the lines and you will get the values that are currently set. Everything you do in this fashion will not survive a reboot of your phone, if you want to make them permanent you'll have to use an init-script. A how-to on that is (currently) out of the scope for this post. Have a look/search in the kernel release thread as there are many examples for that there. I'm sure with this post and these examples you can figure it out by yourself :)

    The values in the echo commands are the stock values (from 2.1.1 version) if not noted otherwise

    [CPU]
    [Frequency]
    [Steps]
    # Controls which frequency steps are available
    # Should probably only be used to set the lowest step to 25 and/or the highest to 1696
    echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table​
    [Scaling Min]
    # Controls which frequency is use by the governor as the minimal frequency (has to be a valid value in the frequency table!)
    echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq​
    [Scaling Max]
    # Controls which frequency is use by the governor as the maximal frequency (has to be a valid value in the frequency table!)
    echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq​
    [Voltages]
    # Controls with what voltages the frequency steps are supplied
    # Highest step is to the left, lowest to the right
    echo "1425 1325 1275 1175 1075 975 950 950" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table​
    [Governor]
    # Available governors: ondemand, lulzactive, smartassV2, conservative, userspace, performance, powersave, brazilianwax, savagedzen, smartass, lagfree, ondemandx
    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor​
    [GPU]
    [Frequency]
    # Controls with what frequencies the GPU works
    # Valid frequency steps are 100 114 133 160 200 267 400
    echo "160 267" > /sys/class/misc/gpu_clock_control/gpu_control​
    [Voltages]
    # Controls with what voltages the GPU works
    # Lowest possible value is 800000, maximum is 1200000
    # Changes are only possible in 50000 steps
    echo "950000 1000000" > /sys/class/misc/gpu_voltage_control/gpu_control​
    [IO]
    [Scheduler]
    # Controls how IO requests are scheduled.
    # Available schedulere: noop deadline cfq bfq sio vr
    echo sio > /sys/block/mmcblk0/queue/scheduler​
    [BUS]
    [Frequency]
    # Controls with what frequency the bus operates
    # Valid values are: 0 (400MHz), 1 (266MHz), 2 (133MHz)
    # Highest frequency step of cpu is to the left, lowest to the right
    echo "0 0 0 0 1 1 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
    echo disabled > sys/devices/system/cpu/cpu0/cpufreq/busfreq_static # Use enabled to activate this feature​
    [Charging Current]
    # Controls how much power the phone is willing to draw from a specific charger type
    # Values are from left to right: AC Misc USB
    # !This is a dangerous setting. Use with caution and never change the USB value and never set the other ones higher than 1000!
    echo "650 550 450" > sys/devices/virtual/misc/charge_current/charge_current​

    I will try to keep this post up to date with any relevant changes in the kernel.

    P.S.: I will not respond to request what settings you should use to achieve the highest score in a benchmark or how you get the most battery life. This is just to gather the information that is already floating out there. What you do with it is up to you ;)
    4
    [REF]Init-Script Reference Guide By kwerdenker

    MANY THANKS KWERDENKER FOR THIS. REPRODUCED WITH HIS AUTHORIZATION.

    Original post from kwerdenker here.

    I hope some of you find this useful as a reference for creating your own init-scripts. This contains everything I use or at least remember about the options in this kernel. If I forgot something or made an error somewhere, please send me a PM and I will gladly correct it.

    How to use these settings:
    If you want to test some settings before you commit them to a script, you can use either the adb shell if your on a pc with adb installed or you can use Terminal Emulator directly on your phone. Remeber to enter superuser mode by entering su in the terminal before you try to set anything or you will get errors. After that just enter the line you want with the values you want to test (if the values are incased in "", keep them that way!). If you want to see if it worked just enter cat followed by the part behind the > of the lines and you will get the values that are currently set. Everything you do in this fashion will not survive a reboot of your phone, if you want to make them permanent you'll have to use an init-script. A how-to on that is (currently) out of the scope for this post. Have a look/search in the kernel release thread as there are many examples for that there. I'm sure with this post and these examples you can figure it out by yourself :)

    The values in the echo commands are the stock values (from 2.1.1 version) if not noted otherwise

    [CPU]
    [Frequency]
    [Steps]
    # Controls which frequency steps are available
    # Should probably only be used to set the lowest step to 25 and/or the highest to 1696
    echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table​
    [Scaling Min]
    # Controls which frequency is use by the governor as the minimal frequency (has to be a valid value in the frequency table!)
    echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq​
    [Scaling Max]
    # Controls which frequency is use by the governor as the maximal frequency (has to be a valid value in the frequency table!)
    echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq​
    [Voltages]
    # Controls with what voltages the frequency steps are supplied
    # Highest step is to the left, lowest to the right
    echo "1425 1325 1275 1175 1075 975 950 950" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table​
    [Governor]
    # Available governors: ondemand, lulzactive, smartassV2, conservative, userspace, performance, powersave, brazilianwax, savagedzen, smartass, lagfree, ondemandx
    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor​
    [GPU]
    [Frequency]
    # Controls with what frequencies the GPU works
    # Valid frequency steps are 100 114 133 160 200 267 400
    echo "160 267" > /sys/class/misc/gpu_clock_control/gpu_control​
    [Voltages]
    # Controls with what voltages the GPU works
    # Lowest possible value is 800000, maximum is 1200000
    # Changes are only possible in 50000 steps
    echo "950000 1000000" > /sys/class/misc/gpu_voltage_control/gpu_control​
    [IO]
    [Scheduler]
    # Controls how IO requests are scheduled.
    # Available schedulere: noop deadline cfq bfq sio vr
    echo sio > /sys/block/mmcblk0/queue/scheduler​
    [BUS]
    [Frequency]
    # Controls with what frequency the bus operates
    # Valid values are: 0 (400MHz), 1 (266MHz), 2 (133MHz)
    # Highest frequency step of cpu is to the left, lowest to the right
    echo "0 0 0 0 1 1 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
    echo disabled > sys/devices/system/cpu/cpu0/cpufreq/busfreq_static # Use enabled to activate this feature​
    [Charging Current]
    # Controls how much power the phone is willing to draw from a specific charger type
    # Values are from left to right: AC Misc USB
    # !This is a dangerous setting. Use with caution and never change the USB value and never set the other ones higher than 1000!
    echo "650 550 450" > sys/devices/virtual/misc/charge_current/charge_current​

    I will try to keep this post up to date with any relevant changes in the kernel.

    Example GPU/CPU undervolting and underclocking scripts by kwerdenker please just use for Reference

    Improved version of CPU undervolting script by kwerdenker please just as a reference

    P.S.: I will not respond to request what settings you should use to achieve the highest score in a benchmark or how you get the most battery life. This is just to gather the information that is already floating out there. What you do with it is up to you ;)
    4
    BLN Problems

    to fix it you can use the lib in /res/misc (lights.GT-I9100.so)
    copy it to /system/lib/hw reboot and you can use BLN Control :):):):):):):):):)

    PS: yeah, CM7 native bln are not YET working...but it is being worked on it
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone