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.
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
- 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):
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:
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
- 345Mb available RAM with 720p and JPU support
And improved minfree memory management
- Hardcore's SpeedMod
- 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_CGROUP_DEBUG is not set
# CONFIG_PREEMPT_NONE is not set
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
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.
- 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:
#!/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
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
Voltage Control 3 alpha3