FORUMS
Remove All Ads from XDA

[KERNEL] SetiroN i9000 SuperOptimized v1.5.6: JPX, 345MB RAM, UV/OC upto 1.6GHz

313 posts
Thanks Meter: 292
 
Post Reply Email Thread
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
The Following 42 Users Say Thank You to SetiroN For This Useful Post: [ View ] Gift SetiroN Ad-Free
 
 
3rd November 2010, 10:32 PM |#2  
Senior Member
Flag Simi Valley
Thanks Meter: 38
 
Donate to Me
More
FINALLY! Going back to 2.2 so i can try this out. Can't wait for the link.

Sent from my Cappy using mental telepathy, bitchezz.
3rd November 2010, 10:38 PM |#3  
peachpuff's Avatar
Senior Member
Thanks Meter: 748
 
More
Quote:
Originally Posted by SetiroN

- neldar's v2.2 BackLight Notifications support
coming in the next release

Awwww that's a deal breaker for me, need bln badly. But yes finally, sztupy ulf on the cappy.
3rd November 2010, 10:41 PM |#4  
SetiroN's Avatar
OP Senior Member
Thanks Meter: 292
 
Donate to Me
More
BLN now included, untested.
3rd November 2010, 10:42 PM |#5  
Retired Recognized Developer
Bed-Stuy
Thanks Meter: 194
 
More
Awesome. I've been trying to figure out the how to do all this as well. I edited the code this morning at work and I just thought I'd check XDA while CodeSourcery finished installing...and what do I see?

I'll be flashing this immediately. FWIW, I've actually been running raspdeep's OC/UV 2.0 since Monday. I have it set at -100UVLF, -75UVHF, and I've had absolutely no problems with it at all, but it seems to be a YMMV situation. I don't think all processors can handle the UV. Even with (I think) unhelpful's, JAC's, and kingklick's kernels for the Galaxy S, phones handle the UV fine, some don't. Battery life is amazing with this though.

Also, I've had problems with screen off settings with setCPU. You probably don't want to use them at all.
3rd November 2010, 10:42 PM |#6  
Senior Member
Flag Simi Valley
Thanks Meter: 38
 
Donate to Me
More
Quote:
Originally Posted by SetiroN

BLN now included, untested.

that's some fast support...
3rd November 2010, 10:42 PM |#7  
bedwa's Avatar
Recognized Developer
Flag Springfield IL
Thanks Meter: 666
 
More
Yes please. Link?
3rd November 2010, 10:46 PM |#8  
Athailias's Avatar
Senior Member
Flag Bonham
Thanks Meter: 16
 
More
Thumbs up
Quote:
Originally Posted by DOAlaboratories

that's some fast support...

Can I get this uploaded in Shep's rom since he is "unavailable" until tomorrow :P Since you are so fast at making peoples dreams come true :P

/sarcasm
3rd November 2010, 10:52 PM |#9  
Senior Member
Flag Simi Valley
Thanks Meter: 38
 
Donate to Me
More
so has anyone run this yet? it seems pretty alpha and my phone just went into download mode to test it
3rd November 2010, 10:57 PM |#10  
Retired Recognized Developer
Bed-Stuy
Thanks Meter: 194
 
More
By the way everyone - the UV is still what I think raspdeep considers alpha. You will probably want to stress your system a bit to ensure it can handle it. I found that with -100UVLF/-75UVHF flash video was a little bit choppier than with the settings at -75UVLF/-50UVHF.

That said, it has been steady for me over the last couple days, no problems at all with it. I can watch flash video and my CPU temps still stay under 100.

Also, link to xan's UV GUI seems to be missing - so here is another one.

And having alogcat installed and knowing how to use it would probably be the best practice if you want to help raspdeep make this even better.
3rd November 2010, 11:01 PM |#11  
SetiroN's Avatar
OP Senior Member
Thanks Meter: 292
 
Donate to Me
More
Quote:
Originally Posted by Athailias

Can I get this uploaded in Shep's rom since he is "unavailable" until tomorrow :P Since you are so fast at making peoples dreams come true :P

/sarcasm

Just get in download mode and flash it over
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes