[KERNEL] HOT UPDATE-Blazed v2.2.4 VOODOO/UV-OC1.3GHz/BLN - Eclair 220.127.116.11 Beta Awesome kernels for everyone to enjoy...just updated with new 1/21/11 RC's...all credit goes to SirGatez over at XDA......Enjoy.... Original link:http://forum.xda-developers.com/showthread.php?t=902136 [KERNEL] HOT UPDATE-Blazed v2.2.4 VOODOO/UV-OC1.3GHz/BLN - Eclair 18.104.22.168 Beta About a month ago some of you may remember my posts that I was working on a kernel. Here is my first public release. The whole thing works at about 95% or so. ============== The advantages I notice while using it besides the normal issues associated with Eclair are as follows: 1. Memory management has changed (has good and bad effects) Good: when you fly through 45 websites the browser does not crash as it eats memory. Bad: when you blow through 45 websites the browser will hang (easy fix hit home, and use app killer to free memory from apps you are not using) (Personally I like not losing my place as I get lost in the web, it also will prevent apps from dieing in the background when you are using multiple apps at the same time, if memory gets low enough the OS WILL KILL the offending apps). I personally found Eclair for Fascinate to handle memory available worse than this kernel, and I find this kernel handles memory more like Eclair on the Moto Droid did, and the Moto Droid had far less memory to work with. 2. UI has a faster response vs stock kernels, the kernel is also running AS scheduling vs BFQ but I updated BFQ to run as well if you want to revert. 3. Internet Connectivity appears to be faster with those apps that properly use the API. Web browsing, CheezeBurger, youtube etc all load content faster (efficiently? / Maybe related to memory management?) ============== Issues to fix (ToDo List, I am working to fix these issues): 1. Camera sometimes FCs, appears to work 4/5 of the time. [Confirmed - Reproducibility varies] 2. Camera FCs on zoom [Confirmed] 3. Camcorder FCs when you press record with 720P as format [Confirmed] 4. FIXED Bluetooth Driver not loading/working. If you are still having any Bluetooth issues please post in this thread, Thanks! 5. Windows drivers do not recognize the phone, works fine under Ubuntu [Confirmed] 6. When using the Voodoo version of this kernel (only change being the INITRAMFS) the phone will reboot when connected to a computer (Windows and Ubuntu, appears to occur when attempting to mount the SD card) This issue is likely related to Bug #5. [Confirmed] 7. Internet connectivity issues (only certain internet applications have issues, some of which appear in other roms) Known internet issues are Sparse RSS will load only the first three feeds and croak on net connectivity, killing and reloading Sparse RSS appears to resolve the issue. Also Orbot (TOR) sometimes dies mid transmission and requires OS restart to fix. [Possibly Application Related, will investigate] ============== For those doubting, this IS 22.214.171.124, I personally merged the code myself, IT IS NOT 100% COMPLETE. Some drivers still need merging, and the V4L2 code is not completely converted because Fascinate uses different (updated?) V4L code (compare Fascinate's Eclair to Eclair on AOSP) If anyone wants to help bug hunt I will forever be grateful. I would like to finish squashing bugs in this in the next 2 weeks as I really want to attempt to work on a Froyo for Fascinate. Even if it uses Eclair code to run the only RIL code we have. I also semi-blindly fixed about 50-100 coding problems in the Eclair Kernel, varied from not returning data from a function that should have, simple void definitions that were returning when they had no data to return and no function collected it. Correcting order of operations in if statements. Declaring data types that were vague (unsigned vs signed). You will notice it compiles a lot cleaner...attempting to fix the camera code nearly kills the camera completely, I am thinking the broken code dumps variables by accident that the corrected code does not. Attached is a working kernel, it will have issues using DI01 (such as no vibrations), it works great with DJ05 ROMS and maybe DL09 system roms. At this time I can not recommend a DL09 system rom with this kernel, during my initial tests it appears to drop GPS and cell data connectivity frequently resulting in having to relock on GPS satillites, and losing data connections in networked applications. I highly recommend the setup I am running, DL09 Radio, Son Of Skywalker Blackhole v2.4 and this kernel (if you can handle the few bugs that is, it is beta). Please feel free to post bug reports please include detailed information about the issues, I AM NOT FIXING APP PROBLEMS. Please remember to only report kernel issues and information specific to the kernel crash. If an app crashes on other kernels and not just this one please do not submit a report. This kernel is NOT setup for debug info, I will post one setup with debug turned on later. Right now, play around with it and report your results! Enjoy and have a great time :-D GITHUB: https://github.com/sirgatez/ Edit 1: I thought I would mention that I originally started with the JT1134 kernel source from late Nov. - mid Dec. and the Samsung Fascinate stock source (from Samsung's Opensource website) then I merged in source from 126.96.36.199 from www.kernel.org and from Cyanogen's 188.8.131.52 Eclair kernel. I stopped on 184.108.40.206 instead of moving higher because of 1 reason, once you step in to 2.6.30 there are major driver changes requiring a lot of double verification and back trekking....In a few words, it is lots and lots of work, and I think that jumping from 2.6.29 to 220.127.116.11 will help transition to the 2.6.30 (Froyo?) series of kernels because then the majority of the work is in restructuring the driver code (which would likely best be done backwards, from the system .h files, to the .c handlers, down to the device drivers) from Samsung to match that in the stock 2.6.30 set. Complexity will be reduced by a measurable amount Notes 1: Samsung's Android code has some significant differences under the hood from AOSP Android code, I have not sorted it all out yet, but it is possible that without an AOSP stock system that a full kernel update to the current AOSP code may not be possible. There is a built in virtual CD driver for what appears to be hosting the ISO built into the base Samsung system image, I have not opened the image yet but it appears to perhaps be drivers? Also it does not sleep the SD card like standard AOSP does, attempts to do so will disable the SD card from use with no ability to remount without a battery pull. (This is in 3 of 4 lines of code that AOSP had that must be commented out from the Samsung kernel for this SD issue to be prevented). For those wanting it, CIFS and NFS are compiled modules in this kernel. The current kernel is not over-clocked, and does not have voodoo. It does support both with a kernel configuration edit required for voodoo with the proper init scripts, and over-clocking requires changing just a few files and recompiling, I did neither as I wanted a true comparison to compare changes against the original stock kernel. The kernel does have the BLN notification code built in. BLN, Voodoo, and Over-clocking code are not my own creation they are pulled from their respective creators. Original Release Download [ REMOVED ] Update 2: I updated the DI01 initramfs I was using, added to DJ05 (update init & adb binaries). I also imported a few of geeknikbrians config options, important are those related to memory management. From geeknik's config file https://github.com/geeknikbrian/Stup...odoo_defconfig [USER_SCHED/PROFILING/THUMBEE/L2_PLE/CONFIG_HZ=300/IPV6 options/Netfilters DCCP-SCTP-SANE/RFKILL_PM/PMEM Drops/Video MEM Drops UACCESS w/MEMCPY/KSM/PREMPT_VOL] I also fixed the bluetooth issue, it appears to have be related to an fix I did to RFCOMM (I can pair and connect with my computer but not sure on headsets as I don't have one with me). Also tunneling support was added, if you have a VPN to try it on please report if it works or not. As a result of the above changes the most recent version feels even faster. Please report any new unusual issues not already on the above list. I will be playing with this for a few days. Remember this is beta [It's got issues *Wink*] So it's likely to drop you like a hot prom date but everything has been running great for me on the last update for over 2 weeks I don't imagine a major change in attitude over this small update. For those waiting, I will post an OC version of this release by sometime Monday. Followed by a voodoo version for those you who just gotta have it (I just need to checkout and merge the latest voodoo files/patches to include into this thing). What do you think about the name Blazed for this kernel? Everyone's reaction since my first release is that is feels fast... FINAL NOTE: Please disable voodoo before using this kernel also...even if you think it feels like it These kernels are not Over-Clocked...Just Optimized Edit: Most recent v2.2 has OC @ 1200Mhz. Update v2.2: This is a half update, still having issues with ADB on windows, thought I almost had it and in a fit of insomnia I slipped up and reverted what might have worked, work moves on however. BLN is now properly supported and this kernel boots with 1200Mhz overclock so use setcpu to cut it back if thats too much for you...it will eat battery faster at 1200. I will continue my work on fixing the windows ADB/SD issues and integrating voodoo as my next goal. If you have issues with FC remember to fix permissions and as last resort clear your cache/dalvik cache, I had some issues at one point with all this dev testing and clearing my caches and fixing permissions resolved them all. [ REMOVED ] Due to battery not charging bug. Update v2.2.1: Bugfix, charging issue fixed (CONFIG_USB_GADGET_VBUS_DRAW=2, Remember not to change to 500, phone thinks it does not need to enable charging...) [ REMOVED ] Update v2.2.2: Minor update, changed voltage settings to undervolt processor by 50mv vs stock, seems to run a bit more stable and saves a little juice (double whammy). If 1200 is too much for you use setcpu to cut back the speed after boot. Seems to work fine, still haven't found the magic switch in the kernel for fascinate to set the default profile's max/min speeds during bootup. Also no luck on ADB/SD for windows yet, it's beginning to be a needle in the haystack. Some minor feature updates as well, double check bluetooth again and make sure all is well I tweaked the driver a little, hopefully for the better. This build rides a little on the high end of the spectrum in speed (as did v2.2.1) hence the quicker battery drain. I will be cutting that back to something more reasonable once I have tested it some more, bad settings make the phone think that the battery is invalid for the phone (reminds me of the days when MotoDroid was first getting some hacking). Personal Notes: Battery seems to charge faster on an outlet charger than on a USB port, maybe do to the overclock settings. It definitely charges alot faster when not in use vs being used like a Portable Internet And Media Device. [ REMOVED - Battery Issues ] Update v2.2.3: Overclock remains 1.2Ghz with 7 slots. This is a minor update to address the OC1.2Ghz 7 slot kernel not charging properly. The problem was within vzw_auth (thanks for the pointer nemesis2all) routines from /drivers/power/s5_pc110_battery.c, removing these (safety checks) will prevent charging from being stopped. Things vzw_auth looked for were batteries reporting an unknown status, using more or less amperage/voltage than they should (hence why overclocking caused issues), or failing (security?) Firmware / CRC checks. I also cut back the throttle a bit so the phone should ride the mid-low spectrum of speed more often unless under load. Also the device will now boot at 1Ghz, if you want the 1.2Ghz you gotta use setcpu or the shell to make it happen (so it doesn't kill your battery with unneeded speed). Charging may still be a little slow, particularly where I noticed was when charging from USB, but no issues from an outlet charger for me so far. This maybe related to the source output and not to the above issues, reports will be helpful. Please report any other issues you find, Thanks and have fun! [ Edit: I'm glad we have the battery issue resolved! ] Update 01/14/10: Due to a flake internet connection when I was updating this article earlier today over half of it went missing for part of today, we have Google's all-seeing all-caching servers to thank for this recovery, next time I'll keep a backup ;-) Update v2.2.3-VooDoo: For those who-do, here's some Voodoo! Enjoy! Voodoo was pulled from https://github.com/project-voodoo and integrated into the initramfs, I found using their scripts too add voodoo support easier than I expected. I will be attempting to include Voodoo CWM in rom with next release to provide the option for those who would like to use in their recoveries. It will convert your phone to use Voodoo if you are not, you must have "/sdcard/voodoo/disable_lagfix" file present to prevent, just make an empty one by that name and it will not convert to voodoo, having the file present will have this voodoo kernel run as a normal non-voodoo kernel. I may continue to maintain voodoo and non-voodoo versions of this kernel under the same version number. If you have no idea what voodoo or how to use it, then DO NOT flash this kernel you will gain nothing else from it. For those who want to learn about voodoo please see the relevant threads here on XDA's fascinate dev forum. When I thought this thing could not get any faster, sure enough it does, Thanks to the voodoo team for their work [ In case nobody noticed this release was much earlier than I anticipated. ] [ Edit: Updated Github to v2.2.3 minus Voodoo, going to rearrange the project layout and re-push to make things cleaner later. Voodoo will be included in the re-layout, until then for source see voodoo-project, I made no changes to the files from the voodoo-project to utilize them ] [ Edit 2: After 4hours up time, of 3/4 constant web browsing my battery is at 54% my load avgs are .38 .39 .61, with time in state reported as: 1200000 0 1000000 279061 800000 97772 600000 74673 400000 91051 200000 57390 100000 598147 I was running 1Ghz to 100mhz Voodoo enabled, wifi tethering on for part of the time (1.5hrs roughly), screen lit almost the whole time. From my work with the RFS filesystem I typically had more of the load in the higher end of the spectrum, and the load averaged above 1.00. These are my results so far and I will update if anything changes. The 100Mhz is the real golden egg, our phones should be in that range when idling or sleeping to save the most juice. Out of all that use over half the clock cycles (about 60%) were in the lowest end of the spectrum, that is key to making more efficient use of the battery, with proper tuning it is possible that you could leave the kernel open to 1.2Ghz and it utilize it properly. To save even more juice you can cut the speed back to 800Mhz, or even 600Mhz (600 might have some stutter too it, but no worse than the MotoDroid) Although I have no comparisons for battery use under those circumstances on this phone yet. ] [ Edit 3: While experimenting with the phone I ran into my memory mods/hiccups by running out of memory, symptoms for those who have not experienced it is that if you try to open an app it will not open, if you try to visit another website the connection appears to hang for extended periods (on known working good sites), simple open your task manager and kill your memory eating unused apps, then resume your work. I prefer this approach better than Android deciding that since my browser is hogging all the memory that it needs to go in the middle my Google quest for the answers to the meaning of life ;-) This way if my browser or any other app I am using is the problem I have a chance save my work before I kill the app. BTW I do recommend you open your task-killer and background it or have it automatically start, but do not let it free memory for you. Keep in mind Android will still kill apps eating too much memory, but with this setup it does not appear to bother the foreground app. ] [ BUG: ] Likely related to the ADB/SDCard under windows issue, when using the Voodoo version of this kernel (only change being the different INITRAMFS, the phone will reboot when connected to a computer (appears to occur under Windows and Ubuntu when the SDCARD is attempted to be mounted). I am trying to resolve this issue. Update RC v2.2.4-VooDoo/NoVooDoo: This is a bug fix that should address the ADB/SDcard under windows issues and may correct the bug where Voodoo and plugging into a computer crash the phone but I have not had time to throughly test it yet to determine if it is a complete fix, also some small changes to the camera code that may make it a bit more reliable. Please report back with your results once I have had a chance to test it completely I will release a 2.2.4, this is only a release candidate. Also you'll never see that CDROM driver load on your phone with this release, so if you had that bug you should not have it with this kernel, please report your results. Thanks and enjoy! [ Edit ] Due to issues with the Voodoo version it has been pulled, I will be working on resolving the issue that I think is in initramfs, hopefully I will have it fixed and a replacement posted in a few hours. Thanks for everyones help! Update RC2 v2.2.4-VooDoo/NoVooDoo: This is a major bug fix that should correct all camera, camcorder, and data connection errors (related to pppd/deflate crashing). It also fixes voodoo issues from the previous RC. Camera fixes are all timing related, Samsung never properly waited for returns from the camera, so I added some brief delays and in most cases a new routine (check out the sources, the ce147 drivers should work on other kernels too if you are having camera FCs) to keep checking for the returned data before sending more, the camcorder was purely a buffer was made too small problem (oops), and ppp's deflate.c needed a vfree instead of kfree due to large data sizes (plus kfree doesn't seem to handle empty data packets that have been compressed...like at all, thanks Google!). If you still have any bugs please post what the bug is, be detailed on how to reproduce it and if possible include logcat snippets. I hope everyone enjoys this, because this version is now my kernel of choice, soon to be for recovery as well Hopefully if everything works out I'll make it official 2.2.4 soon! Maybe when I get to 2.2.5 I'll have recovery added So be on the lookout for those bugs, and thanks for your time...Now go get Blazed! Update RC3 v2.2.4-VooDoo/NoVooDoo: This is a minor/major (depending who you ask) bug fix to adjust the processor throttles. Think I've got it too set to a good sweet spot now, the peaks are steep and a little harder to climb but the falls are also quicker. After turning it my phone on with it last night and about 2 hours of use I went to sleep, wake up a couple times to silence various alarms (I wake to wake up, but I want to sleep a little more, can't I do both?), and these are the numbers that setcpu reports for time in state: 1.2Ghz = 0 (Had the phone thottled to 1.0Ghz for this test, but with 1.2 on it only uses it when it needs it, might could leave it on? 1.0Ghz = 164978 (Not such a big a number as before) 0.8Ghz = 292008 (much more reasonable than before, could be a little lower) 0.6Ghz = 117672 0.4Ghz = 114250 0.2Ghz = 104715 0.1Ghz = 2965562 (This is what I was aiming for proportionally for 0.1Ghz) Remember these times are mostly from idling, the idea was to reduce clockspeed when not in use to save some juice. The phone might take a moment to wake up from idle, but once it is going you shouldn't feel hardly any difference between this and RC2. Bootup clockspeeds from your first 3-4 minutes will almost always remain in the top tier due to applications still loading, media scanner running, etc. Update v2.2.4-VooDoo/NoVooDoo: This is a major fix kicking us out of RC status and into actual release. Now for the menu, prepare your appetite, for the appetizer we'll be serving a much demanded voodoo color fix, and voodoo sound fixes. Followed by a main coarse of throttle tweaks, throttle shift updates (these are new they decide what the next cpu speed will be when a throttle is exceeded up or down, every kernel to my knowledge including my last used the default for a 5 slot kernel, here is a true 8 slot), and for desert a reduction in logged touch screen data from the touch screen, and an additional surprise to everyone, a reduced cpu load when using the touch screen! Apparently the touch screen had authority to force the cpu into any slot it wants, it defaulted to slot 1 (which was 1.0Ghz for Blazed, now it's 1.2Ghz). The result of which meant that if you pressed the touch screen your cpu load catapulted up to 1Ghz for as long as you touched it even if you only held your finger in one place with no apps open. I have changed that to only go to 400Mhz, we'll see how this goes, if anything we might bump it to 600Mhz, so far besides a slightly slower response when first touch my touchscreen after leaving it alone for a long period it doesn't effect normal use from one app to another. If your processor is already at 400Mhz or higher it will not up it further. You will find this kernel will likely end up being the most battery conscious you have ever seen, once you get things moving the speed follows. If you find this kernel has a slower response than you feel it needs let me know, because when I fixed the touch screen from blasting the cpu load through the roof, it through off my throttle settings some, now they may be too conservative, report back and we'll fix them if it is a problem. Ah yes, please don't forget to tip your waiter if you enjoyed the service... If you appreciate Blazed and enjoy using it, please consider making a donation. Thank you for trying it out and have fun! Fixed SDCard/ADB under windows, fixed Voodoo, fixed camera, fixed camcorder, fixed data connections. Check It Out! Downloads: Blazed Eclair update release1: xda-developers Blazed Eclair update release2: xda-developers Blazed Eclair update release 2.2.3 UVOC12-BLN: xda-developers Blazed Eclair update release 2.2.3 UVOC12-BLN-VooDoo: xda-developers RC2 v2.2.4-fix nonVooDoo-UVOC12-BLN: xda-developers RC2 v2.2.4 VooDoo-UVOC12-BLN: xda-developers RC2 v2.2.4 nonVooDoo-UVOC12-BLN: xda-developers RC3 v2.2.4 nonVooDoo-UVOC12-BLN: xda-developers RC3 v2.2.4 VooDoo-UVOC12-BLN: xda-developers v2.2.4 nonVooDoo-UVOC13-BLN: xda-developers v2.2.4 VooDoo-UVOC13-BLN: xda-developers Enjoy !!!!!