[KERNEL] Bricked-Kernel Grouper/Tilapia - Nexus 7 Original Development

Welcome to the most customizable N7 kernel on xda
Bricked-Kernel Nexus 7 (grouper)
Replaced NVIDIA's strange hotplug manager with my own: tegra_mpdecision​
Features:
Based upon Googles tegra3 source
Fixed section mismatches
Various other fixes (look @ github)
Compiled with gcc4.7.2 toolchain (linaro 09.12)
Replaced NVIDIAs hotplug manager with tegra_mpdecision (better battery life + performance)
Extensive sysfs interface for mpdecision with all the tuneables you want
Highly modified ondemand governor for tegra3 & mpdecision (this is the only recommended governor atm)
Fixed usage of 51Mhz clock
GPU OC (416/484/520Mhz)
Truly variant free CPU OC for all devices (51 - 1600Mhz)
Fixed max cpufreq resets throughout the kernel
All cores now use the max frequency (before: only in singlecore, otherwise -100Mhz)
Undervolting (faux123)
Default clocks: 102min & 1300max (+100Mhz overclocked) & 475 Maxscroff
earlysuspend/lateresume for ondemand including special screen off settings to save power
Aroma Installer by amarullz
cmdline interface for cpu min/max/maxscroff/gpuoc/scheduler/governor
---Just flash the kernel with your desired settings, no more need for oc apps. Reflash if you want to change sth. It's that easy!
FSync Control by Ezekeel
export t3 variant to debugfs by faux123 (adb shell cat /sys/kernel/debug/t3_variant)
lowered panel min brightness to 8
ZRAM
enabled NFSv3&4
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
How to install?
Flash through recovery. #done.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
With special thanks to all N7 piggy bank donors!
Thank you very much!​
Source:
​

Benchmark:

Knowledge base:
What is tegra_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not, do we need the low-power/ninja core now?)
This replaces the stock nvidia hotplug solution.
Check /sys/kernel/tegra_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (130)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = Force low-power mode if screen is off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (475000)
lpcpu_up_hsyteresis = minimum number of requests that have to be send in order to switch to low-power mode (4)
lpcpu_down_hsyteresis = minimum number of requests that have to be send in order to switch to g-mode (quadcore-mode). Overridden by a requested freq that is higher than the max supported lp-mode frequency. (2)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
This will regulate when we switch to lp-mode, effectively replacing the quadcore g-mode core with the ninja lp-mode core.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/tegra_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/tegra_mpdecision/conf/boost_freqs
910000
910000
760000
620000
Recommended governor?
Ondemand.​Why do I have no WLAN?
This kernel is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.
The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14060 0 - Live 0x00000000
cifs 239646 0 - Live 0x00000000
bcmdhd 433083 0 - Live 0x00000000
Then init.d support is probably missing.
You can test it by going to /system/etc/init.d/ and executing 00wlan.
Code:
adb shell
su
. /system/etc/init.d/00wlan
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show bcmdhd as live, you can execute 01cifs and 02tun too).
If WLAN now works, init.d support is missing.
You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway (and who does unlock but not root their phone? :/)
It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.
​

show-p1984 said:
Knowledge base:
(under construction)
tegra_mpdecision manual:
coming soon(tm)
Click to expand...
Click to collapse
looks great is this kernal compatible with cm10 based roms such as paranoid android

Flypants101010 said:
looks great is this kernal compatible with cm10 based roms such as paranoid android
Click to expand...
Click to collapse
Yes, ofc
Running cm10 nightlies myself.

show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
All AOSP roms work with Bricked
* Hello World *

What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.

Feel like flashing something tonight!
Sent from my Nexus 7 using xda premium

I tried flashing this a few times and it fails with each try.

Dabaum said:
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Click to expand...
Click to collapse
I mostly adapted it to work with the lpcore while the screen is on and also with special power saving setting while the screen is off.
The 2 phase frequency was changed to accomplish that.
It also applies a powersave bias while screen is off.
Additionally I changed the settings to allow faster scaling with less load. (70% > freq incr)
Source is currently being uploaded, but since I kept the history intact it is taking ages. You can look it up there in more detail once the source is up
airmaxx23 said:
I tried flashing this a few times and it fails with each try.
Click to expand...
Click to collapse
With what message?
I guess because your recovery does not identify your device as 'grouper'.

show-p1984 said:
With what message?
I guess because your recovery does not identify your device as 'grouper'.
Click to expand...
Click to collapse
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.

airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.

show-p1984 said:
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
Click to expand...
Click to collapse
It says "unable to open zip file. Error flashing zip."

show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....

airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.

airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
corrupt download? checked md5/sha1?
corrupt phone upload? checked md5/sha1?

friedsonjm said:
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
Click to expand...
Click to collapse
As long as it is AOSP you should be fine.
But just try it and report back, then we are all a bit more enlightened
(Sorry, I can't possibly test all the ROMs out there ^^)

T-junk said:
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
Click to expand...
Click to collapse
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.

airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
I get the same.
Sent from my Nexus 7 using xda premium

airmaxx23 said:
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
Click to expand...
Click to collapse
StrangerWeather said:
I get the same.
Click to expand...
Click to collapse
I guess same problem for you StangerWeather.
Try downloading on your pc, I will look into that webserver issue tomorrow. (or maybe it's a chrome issue? who knows ^^)

Related

[Module] SmartassV2/ondemandX governors for Rooted/stock ROM | 2012-02-24

This modules are for people with stock kernels because they don't have 'smartass' or ondemandX' governors.
EASY ENGLISH:
Differences between this modules and build in stock kernels:
- allows to set max CPU freq when screen is off (to save battery),
- allows to set starting CPU freq when phone awakes (to speed up awake process),
- allows set/change almost all aspects of governor (to suite needs),
- should be a bit more responsive when parameters are well chosen for smartassv2 governor.
Each governor has some predefinied values - more info in "Available settings".
If governors works or not on other version then 4.0.2.A.0.42 let me know.
Start:
The goal was bring 'smartassv2' and 'ondemandX' governor to work with stock kernel on Neo V.
Most information is in my thread on 'XPERIA X8 Android Development': [Module] | X8 | X10 mini/pro | AX8_SMARTASS v002 | 'smartass' governor | [2011-07-19]
To remind:
SmartassV2 (informal description and comparison with the first smartass)
SmartassV2 is a governor (controls the frequency of the CPU at each give moment) which like the first smartass is generally based on the implementation of interactive with some major changes and the addition of a built in sleep profile (behaves a bit differently when screen is off vs. on).
The smartassV2 improves the very naive scheme which the first smartass had: The first smartass (with the values I set for the hero), would cap the max frequency at 352Mhz for sleep and when screen is on, would do the opposite and keep the frequency at 518Mhz or above. For sleep this was very effective but a bit crude and unclean, and there could be some cases where you would need processing power even when screen is off (something is updating and music is playing and etc.). For screen on, smartass1 was too quick to jump to the max available frequency and again would never go below the 518Mhz, so in a nutshell its was using "too high" frequencies.
SmartassV2, introduce (internally) an "ideal" frequency which is the frequency we are "aiming" for, in some sense. The way I see it is that the "ideal" frequency is a hint to the governor what is a good balance between performance and battery life. Now when screen is on, I set (on the hero) the ideal frequency to 518Mhz which will ensure nice responsiveness but limit unnecessary use of higher frequencies when they are not needed. When screen is off, I set the ideal frequency to 352Mhz (0 will disable the screen state tracking all together). From my testing this will "convince" the governor to spend most of the its time during sleep at the lowest available frequencies. Note, that both during sleep and when awake the entire frequency range (as defined by the "user" - i.e. selected with SetCPU) is used by smartassV2. For example, when the CPU is loaded heavily, the highest available frequency will be used regardless if screen is on or off.
Click to expand...
Click to collapse
ondemandX - ondemand governor code from latest linux (3.0 at the moment) source *plus* the suspend/wake logic described above. No further optimization is done.
Click to expand...
Click to collapse
Info:
- information about governors is here,
- more information about 'smartass' governor is here or here,
- how different governors work is explained here: [Q] SetCPU governors (explained).
Prerequisites:
- Neo V (if works on Neo - let me know),
- root,
- ondemandX should work on any version,
- smartass was compiled against 4.0.2.A.0.42 version, how run on other version will be explained in manuall installation section,
- desire to replace SetCPU - when used only for 'ScreenOff' profile.
Manual installation:
Unzip file
Run copy.cmd file - this should copy modules to /system/lib/modules
run adb shell or terminal - whatever you like and execute su
Code:
su
If you have 4.0.2.A.0.42 version proceed to step 6
For smartass governor you need to know address for 'kallsyms_lookup_name'
run following command:
Code:
cat /proc/kallsyms | grep kallsyms_lookup_name
result should be as follows:
Code:
80101aec T module_kallsyms_lookup_name
[SIZE="3"][B]801056f0[/B][/SIZE] T kallsyms_lookup_name
Bolded value (801056f0) is address which we need.
Optional step: lower min CPU freq:
Code:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Insert ondemandX module:
Code:
insmod /system/lib/modules/aneov_ondemandx.ko
in dmesg command should be line:
Code:
<6>[ 431.711517] aneov_ondemandX: module v001 for device Xperia Neo V loaded
Insert smartassV2 module:
for version 4.0.2.A.0.42 just run command:
Code:
insmod /system/lib/modules/aneov_smartass2.ko
in dmesg command should be line:
Code:
<6>[ 420.308380] aneov_smartass2: module v001 for device Xperia Neo V loaded
for other use 'address' and use following command:
Code:
insmod /system/lib/modules/aneov_smartass2.ko lookup_address=0x[B][COLOR="Red"]801056f0[/COLOR][/B]
in dmesg command should be line:
Code:
<6>[ 420.308380] aneov_smartass2: module v001 for device Xperia Neo V loaded
Now you can enable desired governor. Execute:
Code:
echo "smartassV2" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for smartassV2 or
Code:
echo "ondemandX" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for ondemandX governor.
Lower min cpu freq a bit:
Code:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Until you're sure that it works with your hardware, don't install it to hw_config.sh.
Available settings:
Will be added later
v001:
- just initial version fixed to work with Neo V.
Disclaimer
I'm not responsible if this module damages your lovely phone. Use it at your own risk! Think before you do something!
Sources at: GitHub
Thank you!
On .62 firmware, I didn't have to specify lookup_address, since it didn't recognise that option, but it seems to work.
Also a good full article about governors:
http://forum.xda-developers.com/showpost.php?p=19846276&postcount=1
is there any chance to get this as a zip for cwm?
edit:yay! just put it manually into system/lib/modules and changed permissions and it works!
Working .62.
Could you also build an OC module please, that would be awesome.
Sent from my MT11i using Tapatalk
mpiekp said:
Working .62.
Could you also build an OC module please, that would be awesome.
Sent from my MT11i using Tapatalk
Click to expand...
Click to collapse
If I find source somewhere - or someone point me to sources - I can try.
Sources from any custom kernel, just compile against stock.
Thank you
Sent from my MT11i using Tapatalk
Hell yea, OC module for locked BL would be awesome!
Any news about OC or UV modes?
Wysłano z MT11i z użyciem Tapatalk
Will this work with my x8
Sent from my E15i using XDA
Intellidemand please!
Could you please make an intellidemand governor also..
Also please see these commits for some changes to smartass2 (more stable) and working lulzactive
thread dead for more than 2 months...
Zed's dead. but no matter
OK- so I'm planning on installing the module on a different device. with the assumption that the smartassv2.ko drivers are all the same, i figure that only the specifics differ.
e.g. no /sys/lib folder exists in my system, though a /sys/modules folder does.
So, the plan is: i edit the script to point towards the valid directories; place the files in those noted directories (eg create a /sys/lib/modules folder); edit the "scanning_available_governors" to mention those governors; kick back and enjoy.
two things concern me. First, I checked the symsearch.ko file found references to the kallsyms, as well as to the general public license and ARMv7, but haven't found much info online as to what the driver does. since it mentions architecture that may or may not adhere to my device (samsung galaxy player 5),should I go ahead?
Second, OP mentioned:
"result should be as follows:
Code:
80101aec T module_kallsyms_lookup_name
801056f0 T kallsyms_lookup_name
Bolded value (801056f0) is address which we need."
the instructions following that line doesn't mention the kallsyms_lookup_name addy again. so what is the addy good for?
thanks!
Wow IT REALLY WORKED.
i have smartass V2 on My locked bootloader .
Thank you.
(Yes i know i am a gravedigger but more people have to see this.)
Just everyday i find one more reason for not to unlock my BL.
I have the best governor
Best tweaks.
OC is useless (it consumes battery and Destroyes the phone).
WHY THE HECK WOULD I WANT A CUSTOM ROM.
EDIT: Erm guys how do i install it with hw_config.sh
It may be a silly question, but after reading descriptions to both the badass and the smartass v2 governors, but I'm still not quite sure which one will provide better battery life overall.
SmartassV2 is the answer ;P
not working on miui 2.7.13 based on 4.0.4

[KERNEL MODULE] Extra modules pack v0.1.3 (feat. overclock) [OMAP4 kernel 3.0.8]

Some extra kernel modules for you & me.
Modules :
filesystem
ntfs.ko (read/write support)
cifs.ko (with extra attributes)
kernel hacking
symsearch.ko (Unexported symbol finder by Skrilax_CZ)
CPU scaling governor (back ported from other dev)
cpufreq_interactiveX.ko [@] (interactiveX V2 governor by imoseyon)
early suspend support and hotplugging
cpufreq_hotplugX.ko [@] (hotplugX governor by imoseyon)
early suspend support and tweaks
cpufreq_smartass2.ko [@] (SmartassV2 governor by erasmux)
cpufreq_pegasusq.ko [@] (Samsung multi-core governor)
based on modification done by Gokhanmoral
cpufreq_boostedASSv2.ko [@] (a modified smartassv2 governor)
ported from BMc08GT
CPU/GPU frequency control
cpu-control.ko [@] (Tweak CPU frequency & voltage to your like)
my 1st kernel module. based on milestone overclock & opptimizer.
I/O scheduler
sio-iosched.ko (Simple IO scheduler)
based on Noop, Deadline and V(R) IO schedulers. In android world, simple is better
modules with [@] mark requires symsearch.ko to operate
Click to expand...
Click to collapse
These kernel module will work for most Motorola omap4 device. (kernel 3.0.8 only)
Disclaimer : I don't write all of these modules. Only make a few changes/tweak for it to work on our device. Enjoy!
Kernel version : 3.0.8
Kernel source : 67.42.17.XT910S.SKT.en.KR
Compiler setup : CodeSourcerey arm-2012.03-56-arm-none-eabi (-O2 optimization)
Build revision : Project Lense build *.*
Change logs:
0.1.1
- Add Simple I/O scheduler.
0.1.2
- Recompile with -O2 flag. I notice some instability when using -O3 flag
- Tweaked sio scheduler
- Add tweaked pegasusq governor.
0.1.3
- Add cpu overclock/underclock module
- Add boostedASSv2 governor
Click to expand...
Click to collapse
Source code :
https://github.com/ProjectLense/kernel_omap4_spyder
- branch extra_kernel_module
Download link :
extra_kernel_modules_0.1.3.zip - contains all the modules
init.d_n_governor_installer_0.1.3.zip - optional. init.d installer (load all modules to memory on startup).
Update : Add a preview of Tweakerz app.
- Include all kernel module. Module are loaded from app storage.(no install /alter system partition.)
- Load/unload kernel module on-the-fly (No save setting or set on boot option)
- Set CPU voltage/freq via GUI (No persist option yet)
[/LIST]
Easy Install method: (For init.d)
Reboot to recovery
Install extra_kernel_modules_0.1.zip
Install init.d_n_governor_installer.zip (Thanks to core720)
Click to expand...
Click to collapse
Install guide for adding init.d script via Script Manager - SManager app
1.Extract all *.ko files from extra_kernel_modules_0.1.2.zip to /system/lib/modules
2.Open Script Manager, Create new script / modify existing script
Code:
#!/system/bin/sh
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
insmod /system/lib/modules/cpufreq_hotplugX.ko
insmod /system/lib/modules/cpufreq_smartass2.ko
insmod /system/lib/modules/cpufreq_pegasusq.ko
insmod /system/lib/modules/sio-iosched.ko
3.Save to /system/etc/init.d/
Click to expand...
Click to collapse
Q: How to load a cpufreq governor
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
Q: What is the best cpu-freq governor
maybe this will help you choose/tweak
CPU Governors explained
Pegasusq Governor
Click to expand...
Click to collapse
Q: How to load cpu frequency/voltage (underclock/overclock)
1.Load symsearch.ko
2.Load cpu_control.ko
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpu_control.ko
Click to expand...
Click to collapse
Q: How to change cpu frequency & voltage
echo id frequency(Mhz) voltage(mV) > /proc/cpu_control/tweak_cpu
example :
Code:
echo 0 196 980 > /proc/cpu_control/tweak_cpu
echo 1 500 1195 > /proc/cpu_control/tweak_cpu
echo 2 750 1320 > /proc/cpu_control/tweak_cpu
echo 3 1000 1388 > /proc/cpu_control/tweak_cpu
echo 4 1350 1410 > /proc/cpu_control/tweak_cpu
ICS kernel default voltage&frequency table
Code:
[B]Id Freq Volt(mV)[/B]
0 300 1025
1 600 1200
2 800 1325
3 1000 1388
4 1200 1398
GB kernel default voltage&frequency table
Code:
[B]Id Freq Volt(mV)[/B]
0 300 1025
1 600 1200
2 800 1313
3 1000 1374
4 1200 1375
** voltage min : 830mV, max : 1410mV
Click to expand...
Click to collapse
More/Details about cpu_control.ko module
To view ICS default frequency-voltage table
Code:
cat /proc/cpu_control/opp_table_default
To view current frequency-voltage table
Code:
cat /proc/cpu_control/opp_table_current
To view current CPU & GPU frequency
Code:
cat /proc/cpu_control/frequency_current
Click to expand...
Click to collapse
whirleyes said:
cpufreq governor install method
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
Will this survive a reboot Whirleyes?
NO.. use init.d or custom init to have it persist.
I've upload new version of bootmenu with 2nd-init support today.
Just waiting for Google Play to start distributing it
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr).
is that kernel source has been opened?
Thanks for your work!
I'll try to test on my razr.
J.Y.Daddy said:
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr).
is that kernel source has been opened?
Thanks for your work!
I'll try to test on my razr.
Click to expand...
Click to collapse
see this thread for all link .. ICS source code is now available!
good work
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
core720 said:
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
Click to expand...
Click to collapse
Thanks.. but to be more efficient, I would like to have them separated.
1. User install my module pack. (extra_kernel_modules_*.zip)
2. User install init.d loader. (init.d_n_governor_installer.zip
core720 said:
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
Click to expand...
Click to collapse
I tried to use your flashable zip. It doesn't work, but I found that after I chmod 777 the 90module in the init.d folder it works flawlessly. So I think you need to add that set permissions to your script.
*edited for grammar issues. It was bugging me that my You're and Your was wrong.
Fix....
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.
Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?
robertwhitten87 said:
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.
Click to expand...
Click to collapse
don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.
DJFliX said:
Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?
Click to expand...
Click to collapse
These modules will work on any 3.0.8 kernel
whirleyes said:
don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.
Click to expand...
Click to collapse
Yeah, I realized that after I commented and was playing around some more. Motoblur is the one throwing the blank sd card issue, not the system itself.
So I think it's time to go back to playing. I'm loving the new governor.
does anyone have an init.d script they could throw up to run one of these on boot?
whirleyes said:
Q: How to load a cpufreq governor
I flashed the zips and have not been able to automatically pick the governor while in setcpu.
I loaded up terminal and did the commands you posted but those didnt work unless i substituted /system/lib for /system/bin. Doing that I can now select interactivex. I'd love for the init.d scripts to work so I dont have to fumble around with this every boot. My rom does have init.d support.
Is there a reason for the difference on my phone? I have a razr maxx and running the newest kernel from build 214 and on Arctic rom.
Thanks.
Click to expand...
Click to collapse
Thank you for this. I loaded both zips & init.d works perfectly for me on an OG Razr running the stock 211 rom/214 kernel combo. Everything is available to select & it all runs at boot. System Tuner Pro is what I use to select the governor/scheduler settings.
Sent from my DROID RAZR using Tapatalk 2
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
evonc said:
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
Click to expand...
Click to collapse
Try check OPPtimizer Projekt, maybe tekahuna has recompile it for ICS.

[KERNEL] Bricked-Kernel Mako

Welcome to the most customizable N4 kernel on xda
Bricked-Kernel Nexus 4 (mako)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake)
* DoubleTap2Wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake)
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz, faux123 (from a thermal point of view that is now SAFE)
* Allow UC down to 94,5Mhz
* Fixed min cpufreq resets
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* ramdisk module insertion
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-mako/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
​
Donor List:​
> Hall of fame <
Thank you very much!​
Stock Nexus4 JELLYBEAN JWR boot.img (flash this if you come from another kernel)
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​Last release for 4.2.2?
STABLE: 20130622_233007_master-8fa9be1
BETA: 20130727_023549_exp-d64cabc​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
it is finally here!!!
i spy sweep2wake
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
I can't wait to get bricked!
alewis2k12 said:
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Click to expand...
Click to collapse
OP is your friend
Sent from my Nexus 4 using xda premium
---------- Post added at 08:38 PM ---------- Previous post was at 08:38 PM ----------
Locksmith81 said:
OP is your friend
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
It's a yes
Sent from my Nexus 4 using xda premium
Flashed it and will report soon
Do it need to wipe cache ??
jarjar124 said:
it is finally here!!!
i spy sweep2wake
Click to expand...
Click to collapse
Soon(tm)
I am currently making final adjustments to sweep2wake
Perhaps it will be a christmas present?
alewis2k12 said:
So over clock is safe with this???
Click to expand...
Click to collapse
From a thermal point of view: Yes.
But if you set a too high clock and your chip craps out because of too much voltage, that won't save it.
Overclocking is dangerous. It will never be safe, the thermal guard just makes it as safe as on any other phone.
cmikeh2 said:
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
Click to expand...
Click to collapse
Yes, because of sooooo many optimizations I pumped into the kernel it was getting pretty big, too big for it to fit inside the boot.img with the ramdisk. SO I had to remove stuff from the kernel and put it into modules (wlan,cifs,tun) which are inserted into the kernel upon boot.
You won't feel the difference but it enabled me to include these optimizations.
(the prima wlan module is 22megs or so... freaky big thing.)
mpttrung said:
Flashed it and will report soon
Do it need to wipe cache ??
Click to expand...
Click to collapse
It wipes cache for you.
show-p1984 said:
Soon(tm)
It wipes cache for you.
Click to expand...
Click to collapse
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
show-p1984 said:
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
Click to expand...
Click to collapse
Red : what do u mean ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
Were you on Franco's kernel?
harpo1 said:
Were you on Franco's kernel?
Click to expand...
Click to collapse
Yeah ! U got stucked too ???
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Sent from my Nexus 4 using XDA Premium HD app
alewis2k12 said:
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Click to expand...
Click to collapse
1.7 should be safe, apq8064 is built with that max freq in mind.
Though to be clear: THERE IS NO SAFE OC FREQ. OC IS ALWAYS DANGEROUS!
To all those who have problems, I will provide a stock boot.img in the first post. (gimme a few seconds)
Stock Nexus4 boot.img (flash this if you come from another kernel)
mpttrung said:
Yeah ! U got stucked too ???
Click to expand...
Click to collapse
Yeah if you're kernel hopping make sure you reset back to stock. :good:
UZ7 said:
Yeah if you're kernel hopping make sure you reset back to stock. :good:
Click to expand...
Click to collapse
Flash to stock using fastboot ?
you could also reflash your rom

[KERNEL] Bricked-Kernel Flo/Deb

Welcome to the most customizable N7 2013 kernel on xda
Bricked-Kernel Nexus 7 2013 (flo/deb)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* vastly improved touchscreen drivers, which made it rock stable even before Google patched the firmware
* Sweep2wake
* DoubleTap2Wake
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz
* Fixed min cpufreq resets
* Undervolting
* Sound Control (faux123)
* Default clocks: 384min & 1512max
Zip features:
*** ON-THE-FLY-RAMDISK EDITS!
*** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels. (Except those roms which intentionally go incompatible to stock/aosp on a driver level)
* removes min freq overrides from the ramdisk
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
* modifies stock ondemand settings
* add module insertion
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
Yes that is a mako, works the same way on the flo though ​
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-flo/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
Thank you very much!​
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Sent from my Nexus 7 using xda app-developers app
Drunken_elk said:
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Click to expand...
Click to collapse
It's been on the flo since September the 19th, there just wasn't an xda thread for it
Oh damn . Anyway good choice to add the thread
Sent from my Nexus 7 using xda app-developers app
no fsynch trigger? or just not mentioned in features?
L-ViZ said:
no fsynch trigger? or just not mentioned in features?
Click to expand...
Click to collapse
Whoever disables fsync is a maniac. It is not in this kernel and will never get in. That's my totally honest opinion.
Using a no fsync, or 'dynamic' fsync kernel is the equivalent of jumping from a skyscraper with nothing but a napkin.
Best Nexus 5 kernel il now on N7 ! Awesome ! Thank's for this
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Assume this is based on the new 4.4.1?
Sent from my Nexus 4 using Tapatalk
ogrillion said:
Assume this is based on the new 4.4.1?
Click to expand...
Click to collapse
Indeed.
Hey man, good to see more talented kernel devs on this device, yours was one of my favourites back on my HTC One X
Any chance of merging kexec patch for multirom support?
http://forum.xda-developers.com/showthread.php?t=2457079
Nexus 7 LTE
Stock rooted KOT49E
Faux Kernel
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
Oh god ! Downloading now !
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Can you include the MultiROM patch in the kernel?
Sent from Tapatalk, using Tapatalk
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Will this brick my phone
Does Slimport work with this? I have had other kernels flick out after 5 minutes or so.
Sent from my Omni 4.4 Galaxy S3. Proud Googy Beta tester.
Works with CM11?
L-ViZ said:
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Click to expand...
Click to collapse
I can tell you that I am running it on Bruce's 4.4 odexed and is running brilliantly so far. Installed it early this morning and running great so far.
Quiksilver78 said:
Works with CM11?
Click to expand...
Click to collapse
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
lionelia said:
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
Click to expand...
Click to collapse
Turning on WiFi caused boot loops for me lol
I figured it wasn't supposed to work so I didn't report it so I flashed slimkat

[Kernel][3.4.113][DualBoot] Chrono Kernel R5.10

Custom kernel for Samsung Galaxy Ace 2​
Features:
Only one universal kernel for JB, KK and LP-based ROMs
CPU, GPU and DDR OC support
more governors and I/O schedulers
Lite kernel - some kernel features moved to modules
fully working BLN
Sweep2wake && Doubletap2wake
CPU freq settings for suspend
Full F2FS support
SELinux support
UKSM support
ABB-charger tweaks
Credits:
@dh.harald and @hafidzduddin for contribution on codina sources
@ Team Canjica for a base for this kernel
@ Nova Fusion for F2FS implementation
@zwliew for contribution on TC kernel
@cocafe for LiveOPP, GPU OC, abbamp and abb-charger tweaks and many cool patches which I've used from his kernel
@faux123 for dynamic Fsync implementation
@Christopher83 for dynamic management of dirty page writebacks implementation
@KINGbabasula for contribution on TC kernel sources
@boype for SIOPlus tweaks and OndemandPlus governor
@Adi_Pat for abbamp, kernel tweaks
@PolishVodka for initramfs scripts for 4.2.x and 5.0.x
@Rox for help in fixing initramfs scripts for 4.1.2
@ace2nutzer for optimization CPU OC and for whatever scripts which I have used in my kernel
@Meticulus for BLN, Sweep2wake and Doubletap2wake
@mkaluza for huge LiveOPP/Mali improvements and Dynamic governor
@yanpol199 for help with F2FS support in TWRP
@ all users who tests this kernel and directs the development along the right path
@ all those users, who I forgot to mention (PM me if so)
Team Win for TWRP recovery
CyanogenMod Team for CWM recovery
Phil3759 for philz recovery
Samsung for opening kernel source
Linus Torvalds for Linux sources
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
To install kernel with F2FS support read installation method in 3rd post
To install kernel with dual boot support, proceed this method.
Since R2.12.1 has been released, no need to care about bootscripts, kernel package will install it itself.
Source Code:
r6.0
< r6.0
Download:
FTP
Thanks @S.AMU for providing FTP-Server
Thanks @shaqman89 for providing build server
​
XDA:DevDB Information
Chrono Kernel, Kernel for the Samsung Galaxy Ace II
Contributors
ChronoMonochrome, cocafe, faux123, zwliew, mkaluza, Meticulus, KINGbabasula, ace2nutzer, TeamCanjica
Source Code: https://github.com/ChronoMonochrome/Chrono_Kernel-1/commits/master-3.10
Kernel Special Features: Swappable ramdisk, UKSM, dual boot support
Version Information
Status: Stable
Current Stable Version: R5.1
Stable Release Date: 1974-11-11
Beta Release Date: 1974-11-11
Created 2014-06-24
Last Updated 2017-10-27
Changelogs and features
Bug list:
-
Changelog
(old changelog)
R2.10
Build from R2.6 sources with re-added all changes in LiveOPP, cpufreq_limits module, some interfaces from 2.9.x (usb sw reset, PonKey emulator on voldown/up).
R2.9
Mali OC module v2.0:
added interfaces boost_hispeed1, boost_hispeed2.
added interfaces mali_threshold_freq_down and mali_threshold_freq_up
(new interfaces manual)
1) mali_threshold_freq_down/up:
echo new value to tweak it:
Code:
echo 150 > /sys/kernel/mali/mali_threshold_freq_up
2) mali_boost_hispeed(2)
Use command
Code:
echo idx=X > /sys/kernel/mali/mali_boost_hispeed2
to tweak its freq.
following command is to tweak its threshold:
Code:
echo threshold=220 > /sys/kernel/mali/mali_boost_hispeed2
partially re-enabled touchboost (it actually was enabled even on 2.7.4, but I forgot to mention)
reverted suspend/hibernate/freezer etc. commits to hopefully fix reboots issue in deepsleep
fixed APE_25_OPP (in suspend it actually used APE50 previously)
minor fixes in cpufreq_limits driver
R2.8
Mali OC module v2.0(detailed description in 3rd post):
added interfaces boost_hispeed1, boost_hispeed2.
added interfaces mali_threshold_freq_down and mali_threshold_freq_up
partially re-enabled touchboost (it actually was enabled even on 2.7.4, but I forgot to mention)
reverted suspend/hibernate/freezer etc. commits to hopefully fix reboots issue in deepsleep
fixed APE_25_OPP (in suspend it actually used APE50 previously)
minor fixes in cpufreq_limits driver
(2.7.6)
- fixed broken GPU scaling algorithm (removed /sys/kernel/mali/mali_scaling_dynamic)
(2.7.5)
- partially reverted LiveOPP voltage autocalibration
- fixed unstable mali tunables and added interface mali_scaling_dynamic
Code:
echo 1 > /sys/kernel/mali/mali_scaling_dynamic
When mali_scaling_dynamic is used, mali will scale between mali_boost_low and mali_boost_high using all steps between these mentioned. mali_stats provides statistics about mali utilization on each step.
- removed some GPU freq steps
(2.7.4)
- new governor Dynamic (thanks to mkaluza)
- new GPU scaling algorithm (thanks to 1N4148 ) - ondemand-like GPU governor
- LiveOPP: reworked avs-based varm recalibration algorithm
(2.7.3)
added governor OndemandPlus (thanks to boype)
removed governors with hotplugging support
added interface to tweak PLLDDR freq on suspend:
Code:
echo on > /sys/kernel/cpufreq/pllddr_raw
To control freq are used raw PLLDDR register values:
Code:
echo suspend=0x000050158 > /sys/kernel/cpufreq/pllddr_raw # 675 MHz
Code:
echo resume=0x000050168 > /sys/kernel/cpufreq/pllddr_raw # 798 MHz
PLLDDR freq can be checked via
Code:
cat /sys/kernel/liveopp/pllddr
Settings applies after 3 sec after suspend/resume.
Too low suspend or too high resume value may cause reboot. Please note that this setting still experimental and unstable itself, so it's disabled by default.
adjusted some GPU OC defaults
fixed BT issues
(2.7.2)
- fixed pllddr_cross_clocks instability
- removed unneeded DDR_50_OPP requirement on screen on (should prolong battery lifetime).
2.7
many various commits from Linux 3.3 (thanks @faux123)
improved hotplugging mechanism
updated RCU system
kernel scheduler
memory management
etc...
LiveOPP:
recalibrate varm and vbbx on boot (better stability)
added interface to OC some clocks that depends on PLLDDR
reimplemented sweep2wake and doubletap2wake (thanks @Meticulus)
enabled UKSM (thanks @cocafe)
- better RAM performance with tiny cost CPU. Boot time will be increased by 3 sec, it's ok.
uploaded kernel for s6d.
R2.6
ABB-charger:
reverted most of changes. It's only uses custom voltage table, termination current 150 mA and some other tweaks, provided by ace2nutzer.
added tweakable interfaces for termination current(better battery lifetime).
LiveOPP:
added most ape_25_opp switch interface
added steps 85, 350, 450 MHz.
ddrpll interface renamed to pllddr ;D
added input boost support for most of governors (thanks to zwliew for original patch)
R2.5
- only one kernel version for all ROMs/Filesystems/codina(p), please note that installation method is different from usual installation
- Switch to single platform RTC driver - AB500 (finally fixed all problems with clock freeze issue) [golden-guy]
- update LiveOPP from CoCore
- reworked and added DDRPLL boost [WIP]
R2.4
completely rewritten screenoff limits driver
added steps 30, 125, 150, 175 MHz, increased voltage on various steps for stability
enabled SELinux again
various fixes in FAT filesystem
re-added exFat support
re-added ZenX
abb charger fix v2 [ace2nutzer]
zRam script moved to init.d (to be able to change zRam size) on CM11
new package installation script, with little changes by me (thanks to borkins for help with this)
R2.3.2
improved battery live (full credit to ace2nutzer)
reduced liveopp table (too hard to search stable/optimal voltage)
Reverted all commits from tuna kernel (these changes are tested not well, may cause instability)
temporarily disabled SELinux
R2.2
LiveOPP 2.2:
no longer use setting ARM OPP (this previously caused lags)
simple algorithm for setting clock and voltages
use only pll, external clock no longer used
use only 1 varm selection
Big LiveOPP table (51 step: 46, 69,..., 1244 MHz)
Added and optimized new governor ZenX
Added FIFO I/O scheduler
Moved more kernel stuff to modules
TWRP 2.8.0.0
R2.1.5
Huge update from Tuna Hybrid kernel by @faux123 ( a lot thanks to him! ) :
a lot various commits from Linux Kernel 3.3-rc3
various fixes backported from Linux 3.5
fixed 3G/WiFi data arrows again
reduced kernel: 628 Mb RAM is available
Reverted from R2.1:
update of device-specific drivers from Novathor 3.4 kernel
"ARM: 7493/1: use generic unaligned.h"
(R2.0.2)
update from TC kernel
moved all networking modules to kernel (fixed lost data usage, tethering, etc.)
added module autoload (read below)
renamed interface /sys/kernel/cpufreq/screenoff_cpufreq_limits -> /sys/kernel/cpufreq/cpufreq_limits_on_suspend
R2.0-refresh
Cleaned kernel source tree from some doubtful commits
moved some kernel features to modules(thanks to mkaluza for idea and most of changes)
9p, CIFS, NTFS file systems
some unneeded ipv6 features
HID drivers
most of governors
slightly decreased boot time(in my case, from 8500 to 8330 ms)
slightly increased available RAM - 628 MB (thanks to reduced kernel size)
Huge LiveOPP improvement by mkaluza:
improved overclock stability, added all extended steps
UV 100-400 MHz steps to 0x12-0x14 (lower power consumption)
added state APE_25_OPP, used only with screen off(originally introduced by mkaluza, adapted for codina by me)
allowed change APE_OPP and DDR_OPP from LiveOPP
changed step 1228 MHz -> 1248 MHz (may cause reboots, need to find out optimal voltage)
Mali improvements by mkaluza
temporarily removed 25 MHz step (don't know how to add it with new LiveOPP, all attempts is caused boot loop)
(R1.6.3)
revert "update sweep2wake and doubletap2wake by Meticulus"
add cpufreq steps: 25, 500, 700 MHz; remove: 1050, 1100, 1250 MHz (only 12 CPU freq step is allowed)
R1.6
ARM: 7493/1: use generic unaligned.h (This has the
benefit of better code generated especially for ARMv7 on gcc 4.7+
compilers.)
register rear cam flash as LED (for BLN) - thanks to @Meticulus
update sweep2wake and doubletap2wake by Meticulus
add LMK timeout interface - @cocafe
Fix max freq not capped on suspend bug on Lulzactive (it was conflicted with screenoff cpufreq limits driver)
(R1.5.2)
F2FS support in TWRP (thanks to [email protected] for help with this)
R1.5.1
update from TC kernel
enabled SELinux (was disabled in r1.5 for testing)
ARM: 7006/1: Migrate to asm-generic wrapper support
added jRCU (thanks to cocafe)
Bugfixes
reverted to LK 3.2.0
fixed disappeared data usage monitor and probably data arrows also
fixed wifi/usb tethering - hopefully, need tests
fixed incorrect display of RAM occupied by some applications
fixed incorrect phone recognition on codina P in CWM/TWRP - thanks to @ace2nutzer
R1.5
Completely reworked file systems update:
fixed reboots, apps FC
fixed CWM loop
fixed huge battery drain (hopefully)
F2FS backported to Linux 3.2
R1.4
Bumped to Linux 3.2.9
File systems: big update from LK 3.2
Writeback: update from LK 3.2
Reduced wlan_rx_wake wakelock by half - zwliew
F2FS support in /system
Fixed more potential and real memory leaks in kernel
Removed u8500 hotplug driver again
R1.3
added BLN separate configuration of blink on and off delays
added MCDE tweaks (read below)
tweaked PegasusQ governor (based on script by ace2nutzer)
fixes:
reverted commits which caused most of random reboots reasons
finally fixed kernel panic in CFQ I/O scheduler (I hope so)
interactive governor reverted to stock TC
R1.2
workaround for s6d display bug (separate kernel version - soon)
CPU freq settings for screen off
Updates from linux kernel 3.2 (currently updated to 3.2):
File systems
Specific drivers
Security
Various core changes
Reverted:
Proportional Rate Reduction for TCP
Power management update from 3.2
1000 MHz messy workaround, provide another workaround instead
r1.1
Fixed 100 MHz bug
Added 300 MHz CPU step
Added VR I/O scheduler again (thanks to @cocafe for fixes compile errors)
Updates from Linux Kernel 3.2:
Process bandwith controller
Thin provisioning and recursive snapshots in the Device Mapper
I/O-less dirty throttling, reduce filesystem writeback from page reclaim
Proportional Rate Reduction for TCP
Memory management (Cross Memory Attach, "vmscan: add block plug for page reclaim", "thp: mremap support and TLB optimization", etc.)
Networking
Device Mapper
Virtualization
Crypto
Tracing/Profiling
r1
backport new zRam driver from 3.5 LK by @faux123. Also enables LZ4 compressor for zRam.
add u8500 hotplug driver by @zwliew again
revert voltage of display and other regulators to stock
add vpnclient.ko
a somewhat fixes and optimizations from CoCore - thanks to @cocafe
fix lagfree, lulzactiveq and interactive wrong tunables
adjust voltage(0x37) for 1200 and 1250 MHz
17.08.2014
Undervolt display from 1800 to 1400 mV
Undervolt various regulators
Revert CFQ to 3.0 branch to fix reboot issue
Add Lionheart governor, disable InteractiveQ and Hotplug
Support for 4.2.x ROMs (thanks to @PolishVodka for initramfs)
12.08.2014
fixed CFQ reboot issue (i hope so )
reboot into recovery from extended power menu should work (JB 4.1.2)- thanks to Rox
TWRP recovery instead CWM for ext4 kernel versions
Update to 3.1.10
9.08.2014
Fixed reboot issue (I hope so)
Add BFQ scheduler again
Fixed UMS bugs - thanks to cocafe
Upgrade kernel to 3.1.1
4.08.2014
Fixed bug of random change min CPU freq to 1Ghz.
Removed u8500 hotplug driver
Update sioplus from [email protected]
Temporarily removed BFQ and VR I/O scheds because they are became broken for some reasons.
Update LMK from [email protected]
Updates from 3.1 LK:
Sound cards, input devices, watchdogs, networking, staging, multifunctional devices, ... etc. See full list of changes on github.
29.07.2014
Added CPU 100MHz freq step
U8500 hotplug driver - zwliew
Universal exfat driver - zwliew
Switch to SLUB again
Updates from LK 3.1:
SLUB
Memory management (6/7 commits)
VFS (9/10 commits)
Dynamic writepage throttling
21.07.2014
revert CPU voltages to default for 0-3 steps
some changes in memory management
17.07.2014
Switch to SLQB memory allocator
Update BFQ I/O sched from v7r3 to v7r5
Enable UHID support (testing)
Some fixes in memory management
Remove some buggy "fixes" from last build
5.07.2014
fixed headset bug that appeared in last build
fixed the file permissions for CoCore Manager (for JB)
4.07.2014
F2FS support (still only KK version)
Usb drivers from STEXperia sola kernel instead stock samsung
(probably, UMS bug has been fixed. For me it works perfectly now.)
LZ4-compressed kernel support
minor fixes
27.06.2014
sources updated
enabled init.d support in kernel (JB)
added Lagfree governor
added ROW I/O scheduler
23.06.2014
fixed cpu oc via 3rd party apps
lowmemorykiller should be less aggressive
19.06.2014
cwm 6.0.48 instead stock recovery
14.06.2014
initial build
Kernel Tweaks:
(GPU/CPU undervolting and related tweaks)
Undervolting the CPU/GPU will bring battery savings but possible instability.
1) to undervolt CPU use ChronoKernel app or via init.d scripts:
Code:
echo *cpufreq* varm=xx > /sys/kernel/liveopp/arm_summary
for example, following sets voltage varm=0x10 for 200 MHz:
Code:
echo 200000 varm=0x10 > /sys/kernel/liveopp/arm_summary
or
Code:
echo 200000 varm-=10 > /sys/kernel/liveopp/arm_summary
(default varm voltage for 200 MHz is 0x1a but, code above sets 0x1a - 0xa(10) = 0x10 )
2) to undervolt GPU use init.d script:
Code:
echo x vape=yy > /sys/kernel/mali/mali_dvfs_config
Example:
Code:
echo 2 vape=0x1c > /sys/kernel/mali/mali_dvfs_config
"2" stands for DVFS idx (look at mali_boost_high/mali_boost_low).
To prevent overriding of such settings by ChronoKernel app, add line to your init.d script after GPU undervolting
Code:
chmod 444 /sys/kernel/mali/mali_dvfs_config
Don't change voltage of both GPU/CPU at the same time - otherwise if you'll get reboot if won't know what it caused. The same is for different frequencies - if you'll change voltage of too many steps you won't know which frequency caused reboot. It's not easy process, though, following method simplifies it: https://github.com/mkaluza/i9070_kernel_CoCore-E/wiki/Undervolting-janice .
3) Custom LiveOPP table.
By default some LiveOPP steps such as 100, 200, 500 ... MHz aren't used. You can re-enable those by following way:
Code:
echo 200000 enable=1 > /sys/kernel/liveopp/arm_summary
Or use CK app instead. Don't enable it unless it uses the same voltage as 400 MHz. The same is for the rest frequencies - until some of them uses same voltage, no point to enable steps with lower freq. I've added 100 MHz just to further make some tests with it once again. It can't use lower varm than 200 MHz - that's why it's disabled by default. Furthermore, not all phones well keep undervoltage, that's why 100-400 MHz steps uses same stock voltage varm=0x1a.
UPD. thanks to @borkins for this nice editor LiveOPP ARM steps: http://forum.xda-developers.com/showpost.php?p=60311291&postcount=2921
(CPU freq management tweaks)
CPU freq. limiter for screen OFF, adjust it via:
Code:
SYSFS=/sys/kernel/cpufreq/cpufreq_limits_on_suspend
echo min=100000 > $SYSFS
echo max=400000 > $SYSFS
echo on > $SYSFS
Too low frequency may cause freezes after wakeup and sound scrathes. If you use Dynamic govermor, it make no sense to use cpufreq limiter, because Dynamic already takes care about CPUfreq usage optimization. For more, read wiki.
Input boost
This feature has been originally written by zwliew.
Not all governors support input boost. Supported governors: ondemand, interactive, conservative, ZenX, lionheart and some others. Dynamic governor has its own boost interface.
Default boost frequency is 400 MHz.
Code:
echo 450000 > /sys/kernel/cpufreq/input_boost_freq # echo '0' to disable
echo 35 /sys/kernel/cpufreq/input_boost_ms
(BackLight Notification)
To configure time intervals of BLN blinking type(bln_ondelay stands for time of blink and bln_offdelay - delay between two blinks):
Code:
echo bln_ondelay=500 > /sys/kernel/bln/blink_mode
echo bln_offdelay=6000 > /sys/kernel/bln/blink_mode
Make sure BLN enabled:
Code:
echo 1 > /sys/class/misc/backlightnotification/enabled
# to enable bln_wakelock.
echo on > /sys/kernel/bln/bln_wakelock
Use /sys/devices/virtual/misc/backlightnotification/blink_mode to changes modes.
Blink modes:
0 = no blinking
1 = blink backlight only
2 = blink backlight + rear cam flash
3 = blink rear cam flash only
(Module autoload)
Now there is a simple way to load modules at boot. Just move needed modules to /system/lib/modules/autoload and reboot device(or execute /etc/init.d/00autoload)
(DDR overclock)
This feature has been developed by me and allows you to improve DDR and GPU performance. Please note, that DDR OC might work unstable and cause filesystem corruption. Though, DDR clock of 975 MHz has been highly tested and should work fairly stable on most devices.
Overclocking DDR over 975 MHz is highly NOT recommended, especially in case if you not sure that you can deal with possible consequences.
How to OC DDR:
1) by using
this script .
2) by using Terminal Emulator(in example below 975 MHz):
Code:
echo 0x5017f > /sys/kernel/liveopp/pllddr_oc_on_suspend
This setting will be applied right after disabling screen.
(Minimum APE/DDR OPP on screen on)
This feature has been developed by me and allows to set minimum APE/DDR OPP states which are used when screen is ON. APE controls many systems such as an image, video, audio system etc. DDR OPP determines performance of DDR. Default values are APE50 and DDR50. Lower states(APE25/DDR25) reduces power consumption, but may cause graphical glitches like screen blinking or filling it by vertical grey lines. If you don't have mentioned effects, it's recommended to use APE25/DDR25:
Code:
echo ddropp=25 > /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp
echo apeopp=25 > /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp
* if you don't have folder /sys/devices/pri_lcd_ws2401.0, use /sys/devices/pri_lcd_s6d27a1 instead.
(Screen refresh rate)
This feature has been developed by cocafe and modified by me. Lower lcdclk frequency cause less power usage, but too low values makes system unusable.
Following command allows to change screen refresh rate:
Code:
echo x > /sys/kernel/mcde/lcdclk
use
Code:
cat /sys/kernel/mcde/lcdclk
to see supported lcdclk modes. Default mode is 60 Hz which is recommended in most typical cases. If you've screen tearings, blinking etc. change resresh rate mode to "60+ Hz":
Code:
echo 0 > /sys/kernel/mcde/lcdclk
(ABB charger tweaks)
added tweakable interfaces for termination current. To adjust it type(just an example):
Code:
echo 90 > /sys/kernel/abb-chargalg/termination_curr_1st
echo 70 > /sys/kernel/abb-chargalg/termination_curr_2nd
curr_2nd should be less or same as curr_1st. Lower values prolongs battery lifetime, but also slows battery charging.
Default values are curr_1st == curr_2nd == 150 mA. Please note, too low values maybe aren't usable.
(Dynamic FSync)
This feature has been developed by Faux123 and allows to dynamically manage the synchronous writes performed on file system (FSync).
It uses asynchronous writes when the screen is on, instead of synchronous writes, to have better performance and a slightly lower battery drain, while when the screen is off the synchronous writes are re-enabled to flush all the outstanding writes and prevent possible data loss.
How to enable/disable the Dynamic FSync (default enabled):
1) By downloading and using Trickster MOD
2) By directly editing the file /sys/kernel/dyn_fsync/Dyn_fsync_active and setting 1 to enable the dynamic fsync, 0 to disable it (note that set value will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic fsync feature
Code:
su
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
- Or run this command to re-enable the dynamic fsync feature
Code:
su
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
Click to expand...
Click to collapse
(Software CRCs)
Disabling software CRCs gives you a slight bump(10-30% is what they say) of MMC performance, at the cost of a possibility of your Ace 2 freezing randomly.
Code:
echo 0 > /sys/module/mmc_core/parameters/use_spi_crc
Click to expand...
Click to collapse
(Dynamic dirty page writebacks)
This feature has been developed by Christopher83 and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss).
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.
How to customize the dynamic dirty page writebacks feature (default disabled):
Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)
1) By directly editing one of the file written above inside /proc/sys/vm and setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic dirty page writebacks feature
Code:
echo 0 > /proc/sys/vm/dynamic_dirty_writeback
- Or run this command to re-enable the dynamic dirty page writebacks feature
Code:
echo 1 > /proc/sys/vm/dynamic_dirty_writeback
- Run this command to set customize the two intervals (30 seconds while the screen is on, 10 seconds when the screen is off)
Code:
echo "3000" > /proc/sys/vm/dirty_writeback_active_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_suspend_centisecs
(Storages switch)
By default, this kernel comes with internal and external storages switched. You can revert this behavior, by changing the line
Code:
use_swap=1
to
Code:
use_swap=0
in file /ramdisk/fstab_specs.txt and flashing the kernel package. This setting will remain until you format /ramdisk partition.
(Tweak app)
ChronoKernel settings
Thanks mars_army for this app!
Bug reports:
after experiencing a random reboot, type in terminal:
Code:
su
cat /proc/last_kmsg > /storage/sdcard0/last_kmsg.txt
report it in the thread and attach the last_kmsg.txt
Other information
How to install kernel with F2FS support:
For those who don't know what F2FS is, check these links out:
General info
Benchmarks
Warnings
1. Make sure you have a standard kernel for backup that uses ext4 just in case. If anything goes wrong, just install the backup kernel and reboot to recovery.
2. You will have to wipe your /data and /cache partitions for this. Basically factory reset.
3. For 2, you could try to backup data and restore after formatting. I haven't tried this but I could work.
Click to expand...
Click to collapse
Installation method of kernels with full F2FS support:
Before installation make sure that you have at least ~25% free space on each partition that will be formatted to F2FS.
for CWM:
make backup
format /system partition to F2FS (and also /data and /cache if you didn't do it before)
restore /system partition
for TWRP
disable md5 generation
make backup of /system
find backup folder, run terminal and rename file system.ext4.win to system.f2fs.win (it won't work via filemanager)
Code:
mv system.ext4.win system.f2fs.win
format /system as f2fs
restore backup
Then install kernel.
To install kernel on ROM that isn't supported by installer:
(supported ROMs):
Stock ROM 4.1.2
CyanogenMod 10.1*
CyanogenMod 10.2*
CyanogenMod 11*
CyanogenMod 12
* most ROMs that based on this ROM are also supported. Despite of that some ROMs are supported, they can work incorrectly due to difference in their initramfs scripts(ramdisk).
1. Install needed ROM first,
2. Type following command in terminal emulator:
Code:
cd /
find . -xdev | cpio -o -Hnewc | gzip -9 > /sdcard/x.y.z.cpio.gz
where x.y.z is OS version (for example - CM11-based ROM - 4.4.4.cpio.gz)
3. put this file in installer at osfiles/x.y.z/ (e.g. osfiles/4.4.4/4.4.4.cpio.gz)
4. install kernel
To install a new ROM that is not F2FS compatible:
Use EXT4 to F2FS converter script
or edit the updater-script as follows
(manual method)
1. Replace strings
"mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");"
with string
"run_program("/sbin/busybox", "mount", "/system");"
2. Replace string
"format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");"
with string
"run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p3");"
3. Add string
"run_program("/sbin/busybox", "mount", "/data");"
after strings
"run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p3");"
"run_program("/sbin/busybox", "mount", "/system");"
4. Add string
"unmount("/data");"
before string
unmount("/system");
Click to expand...
Click to collapse
Fix for CodinaP, recognized as Codina in recovery (thanks @fluffi444 )
http://forum.xda-developers.com/showpost.php?p=58839849&postcount=2448
Various tweaks (thanks @xo.en )
xo.en said:
do NOT use swapiness more than 30, bigger values can bog machine down!
small advice:
Code:
#!/system/bin/sh
#chmod -R 755 /system/etc/init.d
chown root:root /proc/sys/vm;
echo "30" > /proc/sys/vm/swappiness;
busybox chmod ugo+rw /proc/sys/vm/vfs_cache_pressure;
echo "50" > /proc/sys/vm/vfs_cache_pressure;
echo "2000" > /proc/sys/vm/dirty_expire_centisecs;
echo "1500" > /proc/sys/vm/dirty_writeback_centisecs;
busybox chmod ugo+rw /proc/sys/vm/dirty_ratio;
echo "90" > /proc/sys/vm/dirty_ratio;
busybox chmod ugo+rw /proc/sys/vm/dirty_background_ratio;
echo "75" > /proc/sys/vm/dirty_background_ratio;
echo "512" > /sys/devices/virtual/bdi/default/read_ahead_kb;
echo "10" > /proc/sys/fs/lease-break-time;
echo "4" > /proc/sys/vm/page-cluster;
echo "5360" > /proc/sys/vm/min_free_kbytes;
echo "8" > /proc/sys/vm/min_free_order_shift;
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "1" > /proc/sys/vm/overcommit_memory
busybox sysctl -w kernel.random.write_wakeup_threshold=256;
busybox sysctl -w kernel.random.read_wakeup_threshold=1376;
and
Code:
#!/system/bin/sh
chmod 0644 /sys/module/lowmemorykiller/parameters/adj
echo "0,3,6,10,12,15" > /sys/module/lowmemorykiller/parameters/adj;
chmod 0644 /sys/module/lowmemorykiller/parameters/minfree
echo "1024,2048,2560,4096,6144,8192" > /sys/module/lowmemorykiller/parameters/minfree;
chmod 0644 /sys/module/lowmemorykiller/parameters/debug_level
echo "0" > /sys/module/lowmemorykiller/parameters/debug_level;
works miracles in my case, especially second one, imho it would be hard to use different values, i was trying different setups for YEARS(with this machine), so it is not just random throw. Bigger LMK REALLY makes things worse here. It usually has tremendous influence over fluidity of gui, and whole sys.
Click to expand...
Click to collapse
Odin kernel
with TWRP
with CWM
There is no KSM or Low Memory killer or any Performance tweaks ?? Built in CWM ?
Master-ZizO said:
There is no KSM or Low Memory killer or any Performance tweaks ?? Built in CWM ?
Click to expand...
Click to collapse
This kernel based on stock CM kernel by TeamCanjica, and it's have same changes.
Damn, I was so excited to see a new kernel, but I noticed that it's actually for 4.1.2. I almost flashed it on a 4.4.3, not that it would have been such a tragedy.
Is there gonna be a version for the KitKat ROMs?
dragos281993 said:
Is there gonna be a version for the KitKat ROMs?
Click to expand...
Click to collapse
yes, please wait a little bit.
ChronoMonochrome said:
yes, please wait a little bit.
Click to expand...
Click to collapse
OK. I've got another question for you. Are you gonna add "lagfree" between the governors you already added, because that's probably one of the best governors a kernel can have ?
This is for stock samsung JB?
yes it is
Even if in the download section it says 4.4.2, I flashed the kernel on a Carbon 4.4.3 and it's working like a charm. The only thing that doesn't show up correctly is both frequency bars in "performance". It shows 0MHz max, 0MHz minimum, but if you set the minimum to 600MHz, for example, the frequency will run at 600 minimum, even if it shows 0.
five attempts and each time bootloop and recovery keys do not work.
dragos281993 said:
The only thing that doesn't show up correctly is both frequency bars in "performance". It shows 0MHz max, 0MHz minimum, but if you set the minimum to 600MHz, for example, the frequency will run at 600 minimum, even if it shows 0.
Click to expand...
Click to collapse
It works normally for me. (ROM CM11 by TeamCanjica 4.4.2)
dragos281993 said:
OK. I've got another question for you. Are you gonna add "lagfree" between the governors you already added, because that's probably one of the best governors a kernel can have ?
Click to expand...
Click to collapse
Maybe I'll add this Governor.
mPiter said:
five attempts and each time bootloop and recovery keys do not work.
Click to expand...
Click to collapse
please post your last_kmsg log.
@ChronoMonochrome how do I do ksmg log when the phone does not turn on?
ChronoMonochrome said:
It works normally for me. (ROM CM11 by TeamCanjica 4.4.2)
Maybe I'll add this Governor.
please post your last_kmsg log.
Click to expand...
Click to collapse
If you added "lagfree", you'd be the first on to do it, so it would obviously be amazing and it would make you a better developer than others, of course.
EDIT: About the frequency thing, for me it shows 0MHz probably because I've got kitkat 4.4.3. Everything else's working fine.
@mPiter ,
Bug reports:
after experiencing a random reboot, type in terminal:
Code:
su
cat /proc/last_kmsg > /storage/sdcard0/last_kmsg.txt
report it in the thread and attach the last_kmsg.txt
Click to expand...
Click to collapse
p.s. restore stock kernel first.
there is a new folder in sdcard0 : triggers and files in it ( Cpt log). what is it?
ip3000 said:
there is a new folder in sdcard0 : triggers and files in it ( Cpt log). what is it?
Click to expand...
Click to collapse
I have no idea what caused this problem. Because on stock kernel and CM kernel i did not have this problem. Try to remove this folder and create text file with same name.
Would love to see lag free if anyone could make possible
Sent from my GT-I8160 using Tapatalk
1. Compatible for aosp 4.4.4 or only for CM?
2. Whats is the different with custom kernel by zwliew?
@ChronoMonochrome

Categories

Resources