You need to root your phone first.
What is ROOT? HOW TO?
Google will answer you. :l
1. Download kernel zips from #4 post 2. Extract kernel.bin.md5 from zips 3. Copy kernel.bin.md5 to somewhere you like (e.g. /sdcard) 4. Open Terminal app,use these commands
Now lets go to superuser mode
* If you type a wrong dd command,it might hard birck your phone
So please think twice before hit enter
* WARNING: Think twice before you hit Enter,
some people bricked their phone because of a wrong command.
* Recommend SAFER recovery method
* It is recommended that check the md5 of kernel.bin.md5
If it doesnt match 'md5.txt' in zips,dont flash to phone.
Please re-download zips
CoCore-E 4.0+ will only provide flashable zips.
Please flash custome recovery kernel first(3.3 or others).
Press Vol.Up + Home + Power to go to recovery.
Then choose zips in external sdcard to flash.
Q: What firmware does this kernel support? A: All ROM bases on stock firmwares,all stock firmwares.
Q: Why my phone lags a lot! A: Please check the cpu load.If it always goes very high,some apps are using cpu!And please check that you are not in PowerSaving mode.
Q: Why my phoen lags after booting in some minutes?! A: Media Scanner is running in the background. More media files(especailly HD videos),more time it will take
Q: Why my phone cannot go to deep sleep when screen is off!!! A: Fix it youself. It is app(s) taking the wakelock. Not kernel.
Q: Do I need to wipe anything when flashing this kernel? A: NO
Q: My phone rebooted suddenly!!! What can i do?! A: Give me /proc/last_kmsg and logcat. Will try my best to fix.
Q: Do i need to wipe data or dalvik caches? A: No.
Q: Hey!Your kernel has issue!No-fills CPU shows me a wrong freqs!Fix it! A: This is NOT issue.Every I9070 kernel will have this problem.Because No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Q: My GPS doesnt work!? A: Our Kernel only provides a trigger of enabling the GPIOs of GPS.It doesnt have GPS driver.
So check it in setting menu or try to reboot to fix or try to edit the region server of your GPS,remember to enable Wireless Position
Q: The audio volume is tooooo low in calls!! A: My teammates diego and frapeti confirmed that this is baseband issue.
Flash newer firewares(at least LQB) or flash newer baseband directly.
Q: Hey my phone still lags after startup! A: 1) Select another governor 2) Install Elixir(an app),tap Running,Select CPU usage filter,check which app(s) is taking cpu load!Then kill them.
In most caes,download provider is the battery and performance dainer! It runs when you download a file in browser like Chrome,it has a
serivice named Media Scanner,so dont remove it,just kill it.
Q: My phone cannot charge properly! A: This is caused by your cable. Our usb switch driver has bugs right now(stock kernel too). We are fixing it. See here
Here are some introductions/tips about how to play with the kernel.
Terminal is needed.
If you get 'Permission denied',you need su permission.
If the devices lost responses,hold power button 8s to reboot. Simply,You can cd to the folder first,then do echos.
Then `???` stands for the number to input
* OnDemand has been patched cpu idle detection
* PegasusQ is taken from SiyahKernel (new version)
* PegasusQ recommended
* Most of custom governors are based on ondemand/interactive
* OndemandQ is a new governor.It will hotplug cpu when screen turns off only.
* If you mind the battery life time,choose HotPlug.It hotplugs cpu frequently.
* Interactive updated to linux-android-3.4 [Thanks! Aditya!]
* Zzmoove is the new version(0.3)
* LulzactiveQ, it will hotplug cpus
( CPU Freqs )
On JB,we cannot tweak min/max scale freqs via apps like SetCPU.
Here is the method.
For example: set 400Mhz as max limited
echo 400000 > cpufreq_max_limit
* When you switch on/off,power saving mode,this tweak will be overrided.
( IO schedulers )
* PegasusQ(hotplug governors) works badly with 5
* OnDemand works well with 5
* Please note that it wont increase the using time but standby time.
* ( 6.0+)You can add an init.d script to tweak it 4 if you want
To check the cpuidle state:
( exFat sdcard )
In TWRP version kernel,it supports exfat sdcard.
Copy /sbin/libexfat.so to /system/lib
Insert exfat sdcard,use binary /sbin/exfat-fuse to mount
/sbin/exfat-fuse /dev/block/mmcblk1p1 /storage/extSdCard
Then tap mount sdcard in system settings to let system know sdcard is mounted
* Create an intit,d script to mount exFat sdcard during startup
( zRAM SWAP )
zRAM is optimized for Android.
It is not lazy anymore.
Using zRAM will take a little CPU,because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, around 100 mb.
2. Using a FILE as swap RAM: (Create a continuity file first)
dd if=/dev/zero of=swapfile bs=1024 count=81920
Then you will have an 80mb swap RAM.
( jRCU )
# To tweak jRCU freq (20 - 1000 hz)
echo hz=100 > rcudata
( Init.d script )
Please install busybox in system first
I recommend you install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permission of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
Put some scripts (any name you like) in init.d folder with permission 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permission will be executed when system boots.
( Charger control )
Please note that this control can damage your battery/phone. If your battery/phone damaged,read the top of #1 post. Lower current makes the charging longer,but protects battery. Too high current can burn your battery!
I recommend you that don't set the max limited current over 900mA.
To get the charging current:
When you plug charger:
dmesg | grep -i ab8500-charger
( USB VBus )
( 6.2+) This can enable the internal vbus power supply for usb devices.
But the phone still cannot recognize our usb devices now.
You can use it for fun,like charging for other devices, using usb fan...
echo 1 > VOTG
* Say 0 to VOTG to disable
* Plug yoru cable first,then enable it
( MMC SPI CRC )
Disabling SPI CRC can improve mmc performance (10% ~ 30%) But phone may freeze randomly.
* You can use Root Explorer to view these files in /sys/kernel/abb-chargalg
* When it says "First eoc reached",then the UI should show you charged 100%
But it is not the real full charged.
* When it says the real EOC reached, unplug the charger.
* According to my experiments,it needs 1-2 hours to charge to real full after it shows you 100%
( POnKey Emulator )
Because my power key is going to break, so I need this feature.
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
echo 100 > /sys/kernel/abb-ponkey/emulator
To active the power menu: ( 520 < value(ms) < ∞)
echo 800 > /sys/kernel/abb-ponkey/emulator
To use Vol.Up or Vol.Down key as Power Key:
echo volup=1 > /sys/kernel/gpio-keys/ponkey_emu
echo voldown=1 > /sys/kernel/gpio-keys/ponkey_emu
* It doesn't work in suspend expect in charging.
( ABBamp audio [sound control] )
Please note that listening to too high volume music over 1 hour or more can damage your ears. Too high volume can make your speakers/headset overload or damage them.
First,why do i call it `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
* Use RootExplorer to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "enable","disable" (no quotes)... So,say "enable" to enable this tweak,then this tweak will apply the value stored/inputed View(cat) these files,most of them will give you useful infomation about this tweak
They will show you the volume in dB of gain
`cd` to /sys/kernel/abb-codec first then do echos,will be more convenient for you
::: In 7.0+, all enable/disable commands have changed to on/off :::
[AnaGain3] (Headset analog gain path):
echo enable > /sys/kernel/abb-codec/anagain3
echo disable > /sys/kernel/abb-codec/anagain3
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abb-codec/anagain3
echo right=?? > /sys/kernel/abb-codec/anagain3
Write both left and right channels:
echo gain=?? > /sys/kernel/abb-codec/anagain3
[HsLDigGain] (Headset left digital path gain)
echo on > /sys/kernel/abb-codec/hsldiggain
echo off > /sys/kernel/abb-codec/hsldiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
echo gain=?? > /sys/kernel/abb-codec/hsldiggain
[HsRDigGain] (Headset right digital path gain)
echo on > /sys/kernel/abb-codec/hsrdiggain
echo off > /sys/kernel/abb-codec/hsrdiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
* If set up digital path +4dB,analog gain +4dB,the result will get over +8dB
[HsLowPow] (Headset driver low power mode)
This lowpow mode is enabled by device normally.
If you want high performance audio instead of LPA(low power audio),
You can disable it.
echo on > /sys/kernel/abb-codec/hslowpow
echo off > /sys/kernel/abb-codec/hslowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
echo mode=? > /sys/kernel/abb-codec/hslowpow
[HsDacLowPow] (Headset DAC low power mode)
DAC is Digital-to-Analong Converter.
This lowpow mode is enabled by device normally.
echo on > /sys/kernel/abb-codec/hsdaclowpow
echo off > /sys/kernel/abb-codec/hsdaclowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
echo mode=? > /sys/kernel/abb-codec/hsdaclowpow
[HsHpEn] (Headset high pass filter)
This high pass filter is disabled by device normally. Enable this can reduce some sub-nosie of audio.
echo on > /sys/kernel/abb-codec/hshpen
echo off > /sys/kernel/abb-codec/hshpen
To tweak the mode (0: disable highpass filter, 1: enable highpass filter)
echo mode=? > /sys/kernel/abb-codec/hshepen
Besides,the file anaconf1 will shows you the status of LPA
[ClassDHPG] (ClassD high-pass gain)
ClassD is a kind of amplifier.
According to the documents,our ClassDs only relate to Handsfree(speaker). This can increase the high frequences sound of speaker
echo on > /sys/kernel/abb-codec/classdhpg
echo off > /sys/kernel/abb-codec/classdhgp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
echo gain=?? > /sys/kernel/abb-codec/classdhpg
Gain control for the white component of dithering filter
echo on > /sys/kernel/abb-codec/classdwg
echo off > /sys/kernel/abb-codec/classdwp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
echo gain=?? > /sys/kernel/abb-codec/classdwg
This is the audio path of mic2(phone mic,not headset mic)
This tweak will enable automatically when mic2 is enabled by device
echo on > /sys/kernel/abb-codec/addiggain2
echo off > /sys/kernel/abb-codec/addiggain2
Gain control: (min:0 ,max: 63) lower value,higher gain (default: 04[+15dB], max: 00[+31dB])
echo gain=?? > /sys/kernel/abb-codec/addiggain2
This is the digtal gain of earpiece
echo on > /sys/kernel/abb-codec/eardiggain
echo off > /sys/kernel/abb-codec/eardiggain
Gain control: (min:0 ,max: 15) lower value,higher gain (default: 4[+4dB])
echo gain=?? > /sys/kernel/abb-codec/classdwg
* It uses the same path of HsLDigGain,please check the volume table of HsLDigGain
* +8 dB might crash the sound of earpiece
This is a misc tweak
View shortcir this file first
0: Automatic switch off on short circuit detection is disabled
1: Automatic switch off on short circuit detection is enabled
0: Short circuit detection on Ear driver enabled
1: Short circuit detection on Ear driver disabled
0: Short circuit detection on HsL and HsR drivers enabled
1: Short circuit detection on HsL and HsR drivers disabled
0: HsL and HsR outputs are in high impedance
1: HsL and HsR outputs are pulled down to ground
 HsOscEn (ABBamp enables it by default)
0: The HS drivers use the system clock
1: The HS drivers use a local oscillator (system clock absent: analog path only)
0: All intermediate steps are applied between two programmed gains (fading)
1: Gain on HS is applied immediately
0: HS gain changes on signal zero cross (unless time-out occurs)
1: HS gain is changed without zero cross control
echo ???? > /sys/kernel/abb-codec/shortcir
* The first ?? the slot of each option,the second ?? stands for the value to write to this slot
* View shortcir this file,you will get it
This method can work on any ab850x codec platform!
Play music,reduce the volume.
Now we are going to edit the codec registers.
HIghlight mode for assistive light, enabling this for a long time will heat up your device, be careful!
Enable: Disable: echo 0
echo 1 > /sys/class/camera/flash/highlight
( Touch Booster control )
What is touch booster?
It can jump the cpufreqs(in fact,not only cpufreqs) to high value when you touch to improve the experience of touching. Disabling this can save some power.
To enable: (default: disable)
echo off > /sys/kernel/mxt224e/touchboost
To change the boost freq: (default: 400000, stock: 800000) (Vaild: 200000, 400000, 800000, 1000000)
echo xxxxxx > /sys/kernel/mxt224e/touchboost_freq
* I reduced this to get a balance between performance and battery.
* If you feel lagged,set it 800000
* Disabling cpufreq requirement: echo 0 > /sys/kernel/mxt224e/touchboost_freq
To disable DDR/APE requests:
echo off > /sys/kernel/mxt224e/touchboost_ape
echo off > /sys/kernel/mxt224e/touchboost_ddr
( Touch Parameters(Sensitivity included) control )
This threshold(touch sensitivity) control is the real one.
echo ?? > /sys/kernel/mxt224e/threshold_t48
* When the threshold value is too big, touchscreen will lose responses.
* When the threshold value is low (<10), air touches will appear!
* When the threshold value is too low (<7), mxT224E calibration will fail,
and the points may fly here and there on the screen (signal is too noisy).
TIP: Enabling `Show Point Location` in Developer Settings to debug the touches
In the same folder, numtouch_t48 is the max number of touch fingers.
Movefilter is the filter which decides move sensitivity
For example, T48_BASEFREQ is the value of reporting input events frequency (lower value higher freq)
Its address is 3 in config T48
echo 3 0 > /sys/kernel/mxt224e/config_t48
( Sweep2Wake )
This is the sweep2wake implementation of mxT224E + ABB-POnKey.
Sweep2wake means, you can wake up your phone via sliding the screen.
Although this implementation doesn't use any wakelock, the kernel will take wakelock automatically. That means, it will keep your device waking(no deep sleep, battery drops).
So we recommended that use this feature in charging (Home key is too hard to press) (When in charging, phone is waking always)
echo on > /sys/kernel/mxt224e/sweep2wake
echo off > /sys/kernel/mxt224e/sweep2wake
( 6.8-) See here,fsync control has been updated in 6.8+
Get current status:
0: fsync on
1: fsync off
2: fsync dyn
echo 1 > /sys/kernel/fsync/mode
* Disabling fsync can improve io performace,
but it can make the data which hasnt been written lose when a sudden poweroff comes.
* Disabling fsync or enabling dyn_fsync will make param driver fail to store data
That means your "reboot recovery" will fail.
Enable Dynamic FSYNC:
echo 2 > /sys/kernel/fsync/mode
* Dynamic fsync will sync all buffers when screen turns off,
* If there is a heavy io load,the screen might get stuck for seconds.
* This is an experimental feature.
( S6E63M0 Color Filters )
( 6.0+) You can tweak the color here.In fact,you are tweaking gamma.
Change DIR first:
* Or: cd /sys/devices/pri*
There are three files named filter_X
For example,we tweak the red color here
echo 29 > filter_R
* RGB default values are 24(R) 8(G) 36(B)
* Valid values range from 0 to 255
* Recommend you tweak it slightly
If you want to reset the settings: ( 6.8-):
echo -1 > filter_R
echo reset > filter_R
Besides,you can add an init.d script to apply them during pre-boot.
( S6E63M0 Gamma Tuner )
Read gamma table first: (This table will change according to brightness)
If you want to tweak single value in gamma table:
echo ?? 0x?? > gamma_tune
* The ?? is the register of gamma table
* The 0x?? stands for the value in hex you want (0 ~ 255)
To reset the tweaks: ( 6.8-):
echo ?? -1 > gamma_tune
echo reset > gamma_tune
If you want to tweak whole gamma table:
* %x stands for hex value of each register in gamma table ( 03, 05, 07 ... 41, 43 ) ( 6.8-)
* Say 0 to /sys/module/display_s6e63m0/parameters/gamma_table_req then change the brightness to revert gamma table ( 6.8+):
* echo reset > gamma_table[/QUOTE]
( S6E63M0 Gamma Mode )
[View gamma_mode this file first]
[For some games which are dark, set gamma 1.9 mode will help you see the details of the screen!!!]
echo 1 > gamma_mode
( S6E63M0 LCDCLK )
[View lcdclk this file first] [This LCDCLK is a clock source, which looks like refresh rate]
echo INDEX > lcdclk
[For example: echo 1 > lcdclk , will limit fps around 50]
( S6E63M0 Brightness(illumination) )
The folder contains tweaks:
Let me clear the panel for you:
The brightness of our panel is depends on gamma
The gamma is depends of illumination value
We have 26 levels of gamma,means we have 26 slots of illuminations too
So the brightness in system like 1 and 6 are the same brightness in kernel driver(converted),
Because 1 and 6 are in the same gamma level.
Check the file gamma_table to see,the gamma valeus are the same
In non power saving mode,
We allowed 255 brightness uses the maximum gamma level(25) in kernel driver
In power saving mode,
The maximum brightness can be set is around 230(not 255).
This can control this brightness of panel
You can write any value to it,maximum proper illumination is 300
echo ??? > illumination
To disable tweaks:
echo reset > illumination
* The minmum illumination panel supports is 1
* Illumination 0 and 3 has color issue!
illumination_table: View this file first,there are 26 slots Current: [??] ??? Shows you which index is using
The index0 is the minimum brightness(namely in power saving mode).
You can tweak every level of illuminations now.
Tweak index0 can modify the dimming brightness of system
Tweak index0 illumination:
echo 0 10 > illumination_table
* 0 is the index
* 10 is the value
* If you are in power saving mode now,the brightness will change!
To use the lowest brightness of our panel in night
Mali Utilization control
(Default: low_to_high 192 high_to_low 64)
Our driver will report a mali utilization frequently.
This utilization(range: 0~255) means the load of mali.
If utilization is bigger than low_to_high,driver will request higher hardware performance(highest APE/DDR OPP).
If utilization is smaller than high_to_low,the driver will store the requested OPP(uses low OPP).
OPP can be understood as freq simply.
* I use veno,recommended veno
* In fact,every congestion is disigned for different environments.
* Google to learn more!
( EGL Driver )
To use Mali hardware egl driver only: Edit /system/lib/egl.cfg
0 0 android
0 1 mali
0 0 mali
Then remove libGLES_android.so
* Recommend to backup these files
* In case it cannot boot,use TWRP file manager to recover changes
* According to my feelings: after disabling sw egl driver,UI is faster
( Logcat )
( 6.8-)See here ( 6.8+) We support to load logger mode at early init now!
Just create a new file(empty file) named logger in /data When this file exists,kernel will load logger.ko for you automatically
( Changelog )
Here you can check the detail of changing
2013-11-03 hotfix update
defconfig: version tag 8.0 -> 8.1 -> 8.2 …
mxt224e: disable touch booster by default (To save batterylife)
bcmdhd: off-screen pm mode MAX -> FAST (This is made for bcmdhd updated driver)
board-janice: mxt224e threshold batt 17 -> 15 (More sensitive)
block: downgrade bfq iosched v6r2 -> v5r1 (V6R2 has bugs which causes reboots)
power/wakelock: driver updates (Optimizes code)
sysfs: driver updates
fs/nls: driver updates
fs/fat: driver updates (Fixes FatFS name char issues)
tspdrv: driver updates (Optimizes code)
gp2a_light_prox: driver updates (Optimizes code)
ux500_usb: driver updates (Seems that it fixes UMS(USB Mass Storage) issues)
net/wireless: bcmdhd driver updates
(Now CoCore-E has synced up with lastest Samsung Kernel source)
defconfig: version tag 7.6 -> 7.7 -> 7.8 -> 8.0
rcu: jRCU with lazy mode (To reduce RCU memory usage, designed for multi-core CPU)
mali: reset l2 max reads (According to documents, we have a fixed 32kb l2 size.)
mxt224e: fix threshold on charging (namely, fixed touch issues at the bottom on charging)
ux500 pcm: Proper#ed max pcm buffer rate
sysctl: tweak vm params (supports to fix memory leaks)
defconfig: version tag 7.2 -> 7.6
rcu: enable fast nohz mode
mali: reduce pre-allocated os memory 24mb -> 16mb (to save some RAM for other things)
board-janice: reset BASEFREQ param of touchscreen (in order to fix the touching issues when charging)
board-janice: reset YEDGEDIST param of touchscreen (in order to fix the touch position offsets)
ramdisk: update TWRP recovery 22.214.171.124 -> 126.96.36.199
ramdisk: enable ADB function in LPM charging
s6e63m0: new gamma mode interface
s6e63m0: entry for tweaking lcdclk
s6e63m0: reduce the level0 illumination of illumination table (dimming more a bit at lowest brightness)
mxt22e: reduce x threshold of sweep2wake snd_usb: fix sysfs conflicts
block: update BFQ iosched v5r1 -> v6r2
defconfig: version tag 7.0 -> 7.2 - Stablity Update
misc: fix some small bugs during rebooting
arm: use previous hotplug timer for our platform(in order to reduce the possiblity of death sleep/wakeup)
arm: use simple spinlock (old implementation) instead of the new one (for stablity)
sched: enable /d/sched_features (so that you can tweak some sched features)
abb-chargalg: when real EOC reached, phone will wake up for seconds to notice user: charging has finished
mm: swtich SLQB -> SLUB memory allocator to get more stablity
mm/SLUB: use costly page orders (looks more smooth)
defconfig: version tag 6.8 -> 6.9 -> 7.0
ramdisk: TWRP Recovery 188.8.131.52 -> 184.108.40.206
ramdisk: CWM Recovery 220.127.116.11 -> 18.104.22.168 (optional)
ramdisk: CWM Touch Recovery 22.214.171.124 (thanks OliverG96)
ramdisk: Fix ADB permission issues (SU permission by default, or it will return ERROR when pushing files)
param: correct param driver indexs
param: add debug module for developers
mxt224e: allow disabling freq requests of touchboost
cypress-touchkey: touch2wake when has wakelocks
mach-ux500: add janice gpio debug driver
mach-ux500: add janice dvfs debug driver
abb-codec: ABBamp audio v2.4 (optimized driver)
debug: disable a lot of debug stuff
cpufreq: remove lulzactivew governor (rather than use Performance governor)
cpufreq/ondemandq: replug up cpu1 when governor starts
cpufreq/ondemand: replug CPU1 when governor starts
cpufreq/performance: replug CPU1 when governor starts
cpufreq/interactive: replug CPU1 when governor starts
abb-chargalg: add private charger control
abb-POnKey: implement PowerOn Key emulator (can emulate power key via sysfs)
ARM: spinlock: use ticket algorithm for ARMv6+ locking implementation
ARM: SMP: use a timing out completion for cpu hotplug
TCP: Proportional Rate Reduction (better TCP performance, tested!)
mxt224e: remove auto calibration
mxt224e: sweep2wake implementation
mxt224e: touchscreen configs control-able
mxt224e: new param control (movefilter, numtouch, custom-able parameters)
mxt224e: new threshold control (this is the real one!)
mxt224e: increase report events frequency
mxt224e: fix touch issues on left and right sides (touch issues of top and bottom sides aren't able to fix, hardware issues!)
audio: Fix for choppy playback in Ubuntu pulse audio (patched it again)
mali: pre-allocated max memory size writable
mali: Pre-allocated memory size 16mb -> 24mb
sched: remove MC/SMT scheduler forever (they are broken and performance dropper)
sched: disable arch power
bcmdhd: reenable ipv6 and disable multicast in suspend
drivers/mmc: SPI CRC configurable
gpio-keys: POnKey emulator on Vol Up/Down
mm: SLUb -> SLAB -> SLQB
st-mmio: add highlight mode for rear flash led (it will heat up your phone, don't use for a long time!)
defconfig: version tag 6.2 -> 6.3 -> 6.4 -> 6.6 -> 6.8
ramdisk: fix insmoding logger issues
random: read wakeup threshold 512 -> 256
s6e63m0: allow maximum gamma level in manual mode
s6e63m0: fix and add tweakable illumination table
cpufreq/ondemandq: update and fix dead sleep issues
cpufreq: add lulzactivew
cpufreq: add lulzactiveQ
abb-chargalg: enable sysfs charger control
abb-chargalg: update real eoc sysfs entries
fs: update fsync control 0.4
abb-charger: update charger control
audio: Fix for choppy playback in Ubuntu pulse audio
abb-codec: ABBamp audio v2.3b
abb-regulator: add Varm HW mode option
board-janice: add pn544 nfc platform data
misc: support I9070P, still beta now
defconfig: version tag 6.0 -> 6.1 -> 6.2
block: bfq iosched v6 -> v6r1 -> v5r1 (v6r1 and v6 are unstable)
cpufreq: add and fix ondemandq governor
mxt224e: enhance and update touch params control
mxt224e: rename touch_boost -> touchboost
random: tune entropy parameter
lpm.rc: set hotplug governor when charging in low-power mode namely non-booting charging
abb-regu: add VOTG sysfs interface (otg isnt available yet,i'm sorry,but you can use usb fan now!~)
defconfig: version tag 5.7.3 -> 6.0
random: entropy tweaks are all the rage nowadays
block: default iosched bfq -> cfq
block: update bfq iosched v5r1 -> v6
mxt224e: clean auto calibration
s6e63m0: add elvss table interface
cpufreq: disable ondemandq,i will fix it later
cpuidle: deepest state 4 -> 3
arm: remove cpu unaligned access path (suposed to fix sudden reboots)
scripts: remove the '+' at the end of local version string
cypress-touchkey: add interface to write touchkey threshold
abb-codec: headset hp filter default 0 -> 1
s6e63m0: color filters and gamma tuner
defconfig: bump version 5.3 -> 5.6 -> 5.6.2
ab8500-codec: improve sound control
block: fix a bug of zen io scheduler
bcmdhd: fix wifi power in standby
s6e63m0: rename conflicts sysfs file lcd_power -> ldi_power
s6e63m0: fix the permission of ldi_power
s6e63m0: fix gamma mode issues after startup (Samsungs fault)
arm: cpu unaligned access path
fbearlysuspend: increase fbdaley time 50ms -> 350ms
mali: fix l2 cache reads when delete cache cores
mali: osmem max buffer size 64mb -> 16mb
drivers/char: add frandom module
mach-ux500: update prcmu clock control module
mxt224e: reduce threshold chrg 25 -> 20 (fix touch issues when charging)
mxt224e: update touch sensitivity control (touch params control)
mxt224e: default touchboost cpufreq 800000 -> 400000 (for more power saving)
mxt224e: update touch auto calibration
fs: keep param partition R/W for saving boot params (fix cwm reboot commands issues)
cpufreq: add debug mask to shut up annoying noise
s6e63m0: fix samsung's typos(warnings)
ramdisk: add twrp 126.96.36.199
ramdisk: fix sbin permisson
defconfig: bump version 5.1 -> 5.3
ramdisks: fix bootanimation script
ramdisks: add fstrim binary
mali: osmem buffer size 64mb -> 16mb
mali: fix l2 cache reads when delete core
block/bfq: remove the "optimized" tweaks
fbearlysuspend: delay time 50ms -> 350ms
ab8500-codec: add a gain delay param
mxt224e: chrg threshold 25 -> 20
mxt224e: read threshold params from pdata
s6e63m0: fix a sysfs error
drivers/char: add frandom modulem
mach-ux500: finish prcmu clock control module
defconfig: bump version 5.0 -> 5.1
ramdisk: remove kill bootanimation
fbearlysuspend: add stop drawing delay param
ab8500-codec: add earpiece widget event
ad8500-codec: add mic2 gain control
ab8500-codec: enhance sound control
mali: osmem max buffers 16mb -> 64mb
defconfig:bump version 4.8 -> 5.0
ramdisk:update twrp 188.8.131.52 -> 184.108.40.206
ramdisk:add custom bootanimation support
cpufreq:add zzmoove governor
ab8500-codec:remove hs widget event
ab8500-codec:add classD high volume control
ab8500-codec:add ihf dac widget event
defconfig:bump version 4.4 -> 4.8
ramdisk:twrp update 220.127.116.11 -> 18.104.22.168
misc:fix modifier name
ab8500-chargalg:edit eoc messages
ab8500-codec:remove shortcir control
ab8500-codec:improve anagain3 control
ab8500-codec:add detected chipid
ab8500-codec:add hsxgain control
ab8500-codec:add micxgain control
ab8500-codec:add hs lowpow control
ab8500-codec:add hs dac lp control
ab8500-codec:add hs hpf control
ab8500-codec:add classD hp/wg control
ab8500-codec:add hsx diggain control
musb:add otg extra power support
ramdisk:2nd bootstage kernel boots
defconfig:bump version to 2.8 -> 2.9
bcmdhd:remove suspend pm control
ramdisk:add cwm ramdisk
defconfig:bump version to 2.6 -> 2.8
fs:enable cifs as module
drivers/char:include rng-core and hwreg into kernel
bcmdhd:add suspend pm control
mxt224e:add touch sensitivity control
mxt224e:charging threshold 22 -> 25
maxt224e:battery threshold 16 -> 17
ab8500_asoc:remove anc fir iir moduleparams
ab8500_charger:add charger control
defconfig:bump version 2.4 -> 2.6
defconfig:remove usb otg 2.0 config
ab8500_asoc:remove vcp controls
ab8500_asoc:add anc fir/iir controls
mxt224e:add tsp threshold control
mxt224e:add touch booster control
mm:disable cleancache (useless,doesnt work)
staging:disable zcache (useless,doesnt work)
kconfig:disable frame pointer debugger
cpufreq:add ondemand idle detection
ab8500_asoc:add two confs control
defconfig:enable usb otg 2.0 config
Check the ATTACHMENTS Because of the maximum limit of attchments(20 ea), I have to put new releases in POST 5
Please note that the new TWRP 22.214.171.124 might mess your sdcard
Please use chkdsk(chkdsk X: /f) command on Windows to fix your sdcard before using TWRP
Ensure that your sdcard doesnt have any error
adi_pat for helping the kernel and patches&hints!!! CallMeVentus for teaching a lot of things and testing EP!!! fedevd Good buddy!! frapeti for testing and helps!! OliverG96 for helps of building recovery!!! diego-ch for helping the kernel and cwm!!! hafidzduddin for helping the kernel and great hints!! ming86 for debugging and patient testings!!!! Samsung for opening kernel source!! Shaaan for helping and finding cwm reboot command patch!! shut_down for answering in threads! Team Win for T.W.R.P recovery!!
Now CWM has one issue.
I am sorry.
Dont use reboot recovery command to go to CWM.
Because param driver cannot store reboot data with CWM.
Yes,this is caused by CWM.
You can use reboot download any time you like.
But we provide you a workaround to use reboot recovery.
When you go to CWM with this command,please flash this zip(In attachment) to reboot system.
I am sorry for this issue.
By the way,this method perhaps cannot work on other kernels. ( 5.6+) This issue has been figured out by OliverG96! ( 7.0+) CWM 126.96.36.199 is the newer version, CWM Touch is touchable CWM.
Both of them have a warning: no file_contexts, that is no problem.
This TWRP is taken from S3 mini.It is offcial build.
So it doesnt support internal memory.
So /sdcard is mounted as /data/media
When you go to TWRP for the first time,check Mount menu,choose Use external SD.
It will remember your settings.
Now i provide you guys a workaround.
In our TWRP,/emmc is the internal memory.
You can use built in file manager to edit the internal memory.
When you want to install zips from /emmc,just tap (Up a level),then go to /emmc.
So DONT wipe internal storage, DONT make backups to internal storage ( 5.6+) The UI in TWRP 2.5.0. 0 has been modified.
In Mount Menu,tap storage bar to switch default storage position.
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?