[KERNEL] SetiroN i9000 SuperOptimized v1.5.6: JPX, 345MB RAM, UV/OC upto 1.6GHz
Quote:
Sorry for disappearing guys, I wasn't in the mood for posting or working on the kernel: unfortunately it looks like I bricked my phone.
I couldn't believe it myself but as soon as I restarted it phone after CWM-flashing my usual JPO rom, going back from official JPU+803.pit, the screen went black and never came up again, no matter the key combination. No signs of life besides warming up slightly after pressing power or connecting the USB cable. No luck with a JIG cable aswell, tried all the way from 290K to 315K Ohm and nothing happens... I guess there's nothing I can do.
The problem is, I came back to Europe last month and official Samsung centers around here are refusing to offer repair services on US phones because of some kind of freak policy they have, even if I pay myself.
Update Dec 13:
I have no words to explain how thankful I am: PAulyhoffman offered to donate a spare phone he had, and promptly shipped it on the same day.
A special mention goes to Patrick Richter, Pauly's father in law, who just passed away on Saturday: a most generous man in honor of whom he would like to dedicate the donation.
I've already covered the shipping fee myself but customs will add a variable amount in taxes (most definitely 20% of original value as they usually do, although the specified value is just $100).
Hoping customs won't hold the package over the holidays, untested version versions will have to do for now.
HUGE thanks go to every single one who offered help, I really am moved by the affection demonstrated by this wonderful community.
|
I've compiled a Kernel based on Sztupy's ULF and xcaliburinhand's re-oriented kernels, including OC/UV support, 340Mb RAM and compiling optimizations.
Being based on the i9000 JPM source, it comes with every issue xcaliburinhand's kernel might have.
As I have absolutely no kernel programming knowledge, all credit goes to the respective coders: I've merely copied, pasted and compiled things, so I won't be able to offer much additional support or modify any of the function unless they provide source.
THIS IS A FROYO KERNEL, USE ONLY WITH A 2.2 ROM, PREFERABLY AN I9000 ONE
DO NOT USE SETCPU
Features:
- Sztupy's Ultimate Lag Fix V. pre-0.4
Multiple configurable Lagfix options:
Ext4 No-Journal DATA: /data converted to Ext4 with no journaling, everything else stays RFS
Ext4 No-Journal ALL: /data, /cache and /dbdata converted to Ext4 with no journaling
Ext4 DATA: /data converted to Ext4, everything else stays RFS
Ext4 ALL: /data, /cache and /dbdata converted to Ext4
Ext2 DATA: /data converted to Ext2, everything else stays RFS
Ext2 ALL: /data, /cache and /dbdata converted to Ext2
Advanced options: lets you specifically configure each partition and eventually add an Ext2 loop on top of them
Ext3/4 mount options: enables writeback journaling mode
(Using BIND_DATA_TO_DBDATA you might run out of space with many apps installed)
Suggested configuration (Ext4 ALL):
DATA_FS=ext4
CACHE_FS=ext4
DBDATA_FS=ext4
DATA_LOOP=false
CACHE_LOOP=false
DBDATA_LOOP=false
BIND_DATA_TO_DBDATA=false
Use FAST mount opts
You will get a "Configuration has changed" recovery screen at the first reboot after setting lagfix options, it's perfectly normal. If you wish to keep your current data, select the first option and wait (a separate backup is recommended).
- Modded CWM integrated
- CWM pre-installed (no more install from update.zip)
- reboot to 2e recovery
- reboot to download mode
- tweaking options
- root from recovery
- configure lagfix
- raspdeep's OC/UV
If you do not want to mess with commands,
use Xan's Voltage Settings app
- do note that you're subtracting voltage from the default setting, which varies with frequency:
Code:
1600MHz CPU 200MHz GPU 1400mV
1552MHz CPU 194MHz GPU 1375mV
1488MHz CPU 186MHz GPU 1350mV
1440MHz CPU 205MHz GPU 1325mV
1400MHz CPU 200MHz GPU 1300mV
1344MHz CPU 192MHz GPU 1300mV
1288MHz CPU 184MHz GPU 1300mV
1200MHz CPU 200MHz GPU 1300mV
1000MHz CPU 200MHz GPU 1275mV
800MHz CPU 200MHz GPU 1200mV
400MHz CPU 200MHz GPU 1050mV
200MHz CPU 200MHz GPU 950mV
100MHz CPU 100MHz GPU 950mV
the lastest Voltage Settings version includes voltage calculation
- 345Mb available RAM with 720p and JPU support
And improved minfree memory management
- Hardcore's SpeedMod
- jhash3
- Kernel HZ
- startup tweak scripts (available from cwm)
- ext4 kernel patches from
http://www2.kernel.org/pub/linux/ker.../ext4-patches/
- compiling optimizations:
(thanks to laststufo)
-O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -fno-gcse -fprefetch-loop-arrays --param l2-cache-size=512 --param l1-cache-size=64 --param simultaneous-prefetches=6 --param prefetch-latency=400 --param l1-cache-line-size=64
- config optimizations: (XT variant only)
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_KSM=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
additional config settings found in other kernels are pointless or even counterproductive for performance/stability
- BFQ I/O scheduler
Set as default, you may change it using
Xan's Voltage Settings app
- supercurio's Voodoo Color&Sharpness
- HSUPA support (with i9000 modems)
Enable WCDMA 850Mhz by dialing *#2263# (COMBI BANDS -> choose WCDMA 850)
- neldar's v2.2 BackLight Notifications support
Configure with
BacklightNotification settings app
To enable BLN it is necessary to flash a CWM zip or enable BLN in CWM from ULK advanced options
- Boot animations support
http://forum.xda-developers.com/showthread.php?t=819686
http://forum.xda-developers.com/showthread.php?t=822955
http://forum.xda-developers.com/showthread.php?t=623960
Once again, none of it comes from me and all credit goes to the original developers, especially
xcaliburinhand, raspdeep and hardcore
Nevertheless, if you're feeling particularly generous and have already provided for the developers, I'll gladly accept a token of gratitude (after all, being so ignorant I did have to invest quite a bit of time into it).
Everything comes at your own risk, I offer no support at all.
Thank you
aleadam,
ReedX50v,
junktzu,
shaolin95,
Shane,
krl66,
Smokestack76,
Henry,
Xstop,
lpsi200,
Arffer,
newter55,
Lertets,
txRangerXDA,
id10terrordfw and
Bedwa for your donations.
Code:
- v1.5.6
fixed boot-up and CWM instability
updated modules from JPX kernel
new frequency table
full compatibility with Voltage Control 3 (lowering frequency with it seems to cause freezes)
removed update_frequency, making changes to the freq table immediately applies them
- v1.4.7
fixed boot animation issues
fixed init.d script execution
fixed CIFS support
- v1.5.5
lowered default freq to 1000MHz
updated ram disk to late 1.4.x versions
improved wi-fi performance
fixed internal SD mount as CD-ROM on JPU
- v1.4.6
improved wi-fi performance
fixed internal SD mount as CD-ROM on JPU
Changelog:
- v1.4.5
Frequencies/battery fix
- v1.4.4
added workaround script inside the update.zip to execute voltage control boot settings directly from the program's data dir, eliminating the necessity to remount /system
gained an additional MB of RAM thanks to kernel size optimization
implemented Xcaliburinhand's wired headset fix
optimized RAM utilization (minfree tweaks)
updated CWM to include Hardcore's latest additions
slight menus reorganization
updated optimization scripts (now including battery optimizations, GPS tweaks, CIFS support)
built-in support for ext2, ext3 and ext4 no-journaling (you will see a "configuration changed" screen if you manually disabled journaling - select "No, enter recovery mode" and switch ext4 to ext4nj)
built-in support for ext4 mount optimizations (writeback mode)
HZ=500, PREEMPT_VOLUNTARY
JPU variant with modules and mem config extracted from samsung's JPU kernel: DO NOT USE IT ON FIRST BOOT OR YOU'LL GET AN ENDLESS VIBRATING BLACK SCREEN, BOOT ON SAMSUNG JPU AND ONLY THEN FLASH THIS KERNEL
v1.5.4
initial boot and recovery frequency lowered from 1200MHz to 800MHz
reduced voltage change delay
frequency jumps set up more like 1.4 in order to improve performance
v1.5.3
/system mounts as RO
added workaround script inside the update.zip to execute voltage control boot settings directly from the program's data dir, eliminating the necessity to remount /system
corrected frequencies script, should now work on every ROM
only available as a CWM update.zip to make sure everyone has working init scripts
increased default voltages for 1456-1464MHz to 1325mV, 1504-1544MHz to 1375mV and 1600MHz to 1400mV, regulate your UV settings BEFORE upgrading
gained an additional MB of RAM thanks to kernel size optimization
v1.5.2
DELETE USER GENERATED SCRIPTS IN /system/etc/init.d/ BEFORE UPGRADING
(remember it's necessary to unlock higher frequencies from both freq_table and Xan's app)
implemented Xcaliburinhand's wired headset fix
mount /system R/W - could be dangerous, but solves script creation issues
optimized frequency jumps for better battery life
optimized RAM utilization (minfree tweaks)
workaround for the highest frequency step being sometimes briefly used during bootup and recovery operation
effectively set 1200MHz as the default frequency
corrected wrong display of highest frequency in Quadrant
added frequencies scheduler script in the CWM zip package with a visual aid
reorganized performance levels with a few additions
- v1.5.1
skipped, integrated in 1.5.2
- v1.5
updated raspdeep's OC/UV to v300
multiple performance levels:
100
200
400
800
1000
1200
1360 (GPU downclocked, don't worry performance improves anyway)
1400
1440 (GPU slightly overclocked)
1460 (GPU downclocked)
Default clock at 1200MHz, additional frequencies can be enabled by editing /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
in order to update the states table it's necessary to edit to 1 /sys/devices/system/cpu/cpu0/cpufreq/update_states (echo from terminal or by manually editing the file, just like the states table)
added compatibility with Xan's voltage app v2.0 (please update, v1.9x wouldn't work correctly)
reduced 14xxMHz default voltage to 1.3v
updated CWM to include Hardcore's latest additions
slight menus reorganization
updated optimization scripts (now including battery optimizations and CIFS support)
built-in support for ext2, ext3 and ext4 no-journaling (you will see a "configuration changed" screen if you manually disabled journaling - select "No, enter recovery mode" and switch ext4 to ext4nj)
built-in support for ext4 mount optimizations (writeback mode)
- v1.4.3
fixed 2e recovery, now completely functional
added 1350Mhz, 1400MHz and 1450MHz variants, only available as ODIN packages. The latter two have a default voltage of 1350mV. Keep using Xan's Voltage App v1.98b's 1200MHz setting to undervolt, higher frequencies replace the 1200MHz step, bear in mind the app doesn't show the updated frequency/voltage. Remember to reset said setting before upgrading and please realize how 14xxMHz will only run on few lucky devices
from now on there won't be a CWM version for 1350MHz+ and XT variants as well as a release integrating the modem, just install it on its own if necessary
- v1.4.2
implemented Tiny RCU
re-enabled Samsung's bootanimation when there's no bootanimation.zip
re-added -noatime optimization script
XT variant: 1280MHz, config optimizations: HZ=500, PREEMPT_VOLUNTARY, UACCESS_WITH_MEMCPY, KSM (possibly unstable, slightly higher performance and battery drain, might be necessary to lower UV)
- v1.4.1
fixed BLN (flashing as update.zip or re-enabling it from CWM might be necessary)
- v1.4
raspdeep's OCUV updated to v217
implemented fastscaling for 100-400MHz frequencies
added 1280MHz variant (UV setting for 1200MHz applies to 1280MHz, so reset it)
ULF updated to pre-0.4, modified to support bootanimations
fixed potential /system corruption
integrated JK3 modem in CWM flash package
kernel version updated to reflect frequency variant (#140-1280 / #140-1200)
BLN has issues
- v1.3.5
removed config optimizations
removed -noatime remount script
(should provide stability for those experiencing hangups/reboots/charging issues)
- v1.2.6
removed config optimizations (should provide stability for those experiencing hangups/reboots/charging issues)
HZ=300
- v1.3.4
rebuilt from scratch
even more stability fixes
build # updated according to version (#134->v1.3.4)
- v1.2.5
rebuilt from scratch
additional FS optimization script to remount partitions with -noatime included in the I/O Scheduler script
fixed script execution
kernel HZ back to default
build # updated according to version (#125->v1.2.5)
- v1.3.3
fixed screen lock issue
kernel HZ lowered to 300
more stability fixes
supposedly fixed charging issues (oneclick to JF6, reset battery stats and masterclear)
- v1.3.2
stability fixes
- v1.3.1
included ext4 patches from http://www2.kernel.org/pub/linux/ker.../ext4-patches/
additional FS optimization script to remount partitions with -noatime included in the I/O Scheduler script
- v1.3
Corrected a small bug that was preventing scripts from running
updated raspdeep's OC/UV to v2.1
update Xan's app to undervolt
- v1.2.1
hopefully fixed script execution on Captivate ROMs aswell
fixed CWM option for enabling BLN
fixed 500hz setting
enabled CONFIG_UACCESS_WITH_MEMCPY and CONFIG_PREEMPT_VOLUNTARY as they apparently make no difference in battery use
- v1.2
increased available RAM to 343Mb
updated BLN to v2.2
- v1.1.1
enabled init.d script execution on boot (Xan's app voltage settings are now being kept)
- v1.1
added BFQ I/O scheduler
updated Voodoo color&sharpness
BLN reverted to v2.0, now working (flashing from an update.zip is required to install the Library)
- v1.0.1
fixed JFS filesystem support, added bootanimations, BLN still not working (no clue why not, waiting for xcaliburinhand's upcoming update)
- v1.0
initial release
RESET ALL UV SETTINGS (DELETE INIT.D SCRIPTS) BEFORE UPGRADING TO HIGHER VERSIONS
IF YOU'RE HAVING SLEEP DEATH ISSUES, REVISE UV SETTINGS
Modules and mem config extracted from samsung's JPU kernel: DO NOT USE THIS KERNEL ON JPU FIRST BOOT OR YOU'LL GET AN ENDLESS VIBRATING BLACK SCREEN, BOOT ON SAMSUNG STOCK AND ONLY THEN FLASH THIS KERNEL
The XT variant is slightly faster but can cause instability (which might require higher voltage) and charging death.
Voltage Control 3 supports enabling higher frequencies from the freq table, but doesn't yet let you disable selective ones.
To disable a certain frequency its corresponding value in /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table has to be set to '0'.
Changing update_states is no longer necessary. That file can either be manually edited or modified through an 'echo' command, which is much more convenient if you're in front of a PC and able to use ADB.
It's a volatile RAM file, which means changes made to it won't stick through reboots; I've included a script that reapplyies settings on boot in the CWM package (also attached to this post).
Let's say you wish to overclock to 1400MHz and disable 1288-1344:
1344MHz corresponds to the 6th value, 1288 to the 7th:
Code:
#!/system/bin/sh
#SET OC - below are GHz decimals (i.e. 1.60GHz, 1.55GHz, 1.50GHz and so on)
#60 55 48 44 40 34 28 20 00 .8 .4 .2 .1
#echo 0 0 0 0 1 0 0 1 1 1 1 1 1 > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
REMEMBER TO REMOVE # FROM THE LAST LINE
jk3_modem_update.zip
SetiroN_v1.4.7xt_1600.tar.7z 1400mV@top frequency - 200MHz GPU
SetiroN_v1.4.7_1600.tar.7z 1400mV@top frequency - 200MHz GPU
SetiroN_v1.4.7xt_1552.tar.7z 1375mV@top frequency - 194MHz GPU
SetiroN_v1.4.7_1552.tar.7z 1375mV@top frequency - 194MHz GPU
SetiroN_v1.4.7xt_1488.tar.7z 1350mV@top frequency - 186MHz GPU
SetiroN_v1.4.7_1488.tar.7z 1350mV@top frequency - 186MHz GPU
SetiroN_v1.4.7xt_1440.tar.7z 1325mV@top frequency - 205MHz GPU
SetiroN_v1.4.7_1440.tar.7z 1325mV@top frequency - 205MHz GPU
SetiroN_v1.4.7xt_1400.tar.7z 1300mV@top frequency - 200MHz GPU
SetiroN_v1.4.7_1400.tar.7z 1300mV@top frequency - 200MHz GPU
SetiroN_v1.4.7xt_1344.tar.7z 1300mV@top frequency - 192MHz GPU
SetiroN_v1.4.7_1344.tar.7z 1300mV@top frequency - 192MHz GPU
SetiroN_v1.4.7xt_1288.tar.7z 1300mV@top frequency - 184MHz GPU
SetiroN_v1.4.7_1288.tar.7z 1300mV@top frequency - 184MHz GPU
SetiroN_v1.4.7xt_1200.tar.7z 1300mV@top frequency - 200MHz GPU
SetiroN_v1.4.7_1200.tar.7z 1300mV@top frequency - 200MHz GPU
setiron_v1.5.6.tar.7z
setiron_v1.5.6_cwmupdate.zip
setiron_v1.5.6xt.tar.7z
setiron_v1.5.6xt_cwmupdate.zip
Voltage Control 3 alpha3