[KERNEL][GPL]2013-03-02 b24 motley kernel for the Prime (4.2.2 alpha)

Search This thread

newellj79

Senior Member
Jan 2, 2011
2,378
298
OnePlus 8
No such luck here, couldn't even make it past the lockscreen it was rebooting so quickly. Thankfully a cwm restore of just boot got me back to working, but I find it weird that it would reboot because balanced is the default setting so it shouldn't even go into 1.7ghz (assuming hat was the cause of my reboots). Let me know what you think.

Sent from my ROOTED Transformer Prime

Hmmm, maybe a bad download?

edit, not that it should matter but I did not even clear dalvik.
 

_motley

Senior Member
Aug 17, 2010
858
2,360
No such luck here, couldn't even make it past the lockscreen it was rebooting so quickly. Thankfully a cwm restore of just boot got me back to working, but I find it weird that it would reboot because balanced is the default setting so it shouldn't even go into 1.7ghz (assuming hat was the cause of my reboots). Let me know what you think.

Sent from my ROOTED Transformer Prime

Yes, it should be in balanced mode when it boots, so it shouldn't be hitting 1.7 unless you have scaling scripts or some app that would do this. Which ROM are you running? Any other customization (other OC method or kernel modules etc.)?
 

PapaSmurf6768

Senior Member
Jul 29, 2011
284
84
Yes, it should be in balanced mode when it boots, so it shouldn't be hitting 1.7 unless you have scaling scripts or some app that would do this. Which ROM are you running? Any other customization (other OC method or kernel modules etc.)?

Running latest version of virtuous, no CPU tweaks running but I do have ATP Tweak installed to set deadline io at boot. I'll play around tomorrow and see if I can get it working.

Sent from my ROOTED Transformer Prime
 

uhmzilighase

Member
Aug 27, 2009
49
17
Colorado Springs, CO
A new version has been released and the first post has been updated. Sorry, no 1.8GHz yet, but there have been many other enhancements. Please let me know how you like it.

Thanks,

motley

The 1.1 version caused nothing but reboots here but this 2.0 version is behaving quite nicely. I don't have any amazing Antutu benchmarks to post but the device is happy to complete the test this time! It will still reboot if you lock it to 1700 MHz and do anything CPU intensive. When left to 'interactive' or 'ondemand' I don't see any stability issues. Will test for a few days and see how it does. So far so good. :) Well done.
ROM: virtuous_prime_s_9.4.2.15_v2
core_cap_level 1400
 
Last edited:

_motley

Senior Member
Aug 17, 2010
858
2,360
Running latest version of virtuous, no CPU tweaks running but I do have ATP Tweak installed to set deadline io at boot. I'll play around tomorrow and see if I can get it working.

Sent from my ROOTED Transformer Prime

Ah, most likely when this app starts at boot, it is crashing the tab since this kernel has deadline as the default scheduler and the kernel module should no longer be loaded.
 

demandarin

Senior Member
Apr 7, 2010
7,021
2,038
Alexandria, Va
Virtuous rom has overclock built into it. That may be messing around with things. As far as you asking the other guy if he had any overclock tweaks or anything added.
 

_motley

Senior Member
Aug 17, 2010
858
2,360
Virtuous rom has overclock built into it. That may be messing around with things. As far as you asking the other guy if he had any overclock tweaks or anything added.

I don't think that will hurt anything as others are reporting that they are running Virtuous without issues. Those are just scaling scripts I believe, just like stock. I am pretty sure it is the ATP Tweaks causing the problem since it is loading kernel modules with kernel features already enabled within this kernel. This can't be a good thing and would likely cause instability. Once this is disabled or removed, my guess is that it will work and the app will no longer be required since the functionality is built in.
 

SfinxSoft

Member
Oct 11, 2011
21
3
Odessa
sfinxsoft.com
Well 2.0 is much better with 1.4v and 1.7Ghz - I've got 5427 in quadrant and 12319 (without 2d/3d as it bugs) in antutu. But 1.4v is still too low for my particular device ;) To be able to pass the antutu test I have to cool the prime - the warm device still reboots in antutu with 1.7 mode.

P.S. Forgot to say that it is interesting to see what happens during instability periods (reboots/hangs) by examinating /proc/last_kmsg file. Mine has a bunch of temp messages and then oops :

....
[ 439.714275] nct1008_get_temp: ret temp=72C
[ 444.724274] nct1008_get_temp: ret temp=74C
[ 449.734269] nct1008_get_temp: ret temp=71C
[ 454.744265] nct1008_get_temp: ret temp=73C
[ 459.754341] nct1008_get_temp: ret temp=74C
[ 464.765282] nct1008_get_temp: ret temp=74C
.... oops .......
 
Last edited:

jermaine151

Senior Member
Jun 19, 2010
4,237
3,690
Columbus, Ohio
I'm no expert on those messages but if those temps are correct you should definitely lower your clock speed before your device blows up.

74C = 165.2F = Really hot for electronics

Sent from my Galaxy Nexus using Tapatalk
 

_motley

Senior Member
Aug 17, 2010
858
2,360
Well 2.0 is much better with 1.4v and 1.7Ghz - I've got 5427 in quadrant and 12319 (without 2d/3d as it bugs) in antutu. But 1.4v is still too low for my particular device ;) To be able to pass the antutu test I have to cool the prime - the warm device still reboots in antutu with 1.7 mode.

P.S. Forgot to say that it is interesting to see what happens during instability periods (reboots/hangs) by examinating /proc/last_kmsg file. Mine has a bunch of temp messages and then oops :

....
[ 439.714275] nct1008_get_temp: ret temp=72C
[ 444.724274] nct1008_get_temp: ret temp=74C
[ 449.734269] nct1008_get_temp: ret temp=71C
[ 454.744265] nct1008_get_temp: ret temp=73C
[ 459.754341] nct1008_get_temp: ret temp=74C
[ 464.765282] nct1008_get_temp: ret temp=74C
.... oops .......

If you use the interactive governor for daily use, it should not be a problem. I don't recommend running the performance governor for long, maybe just for a test or two to see if you are stable. The 4 cores will draw a lot of juice if you continue to tax them and it will get very warm. These cores draw require the same voltage as tegra 2 cores do for 1.5/1.6GHz. Leaving them running hot continuously is useless anyhow. We really probably should be running tests using the interactive governor to see how real world performance compares.

This temp is being reported by the driver for NCT1008 (nct1008.c), a temperature monitoring device from ON Semiconductors. It appears that a thermal shutdown was triggered. EDP will throttle your clock down starting at a certain temp and then thermal shutdown will occur at a max temp.

It is strange that Antutu can't get past the 2d/3d tests. Something doesn't sound right there.

I'm no expert on those messages but if those temps are correct you should definitely lower your clock speed before your device blows up.

74C = 165.2F = Really hot for electronics

Yes, luckily the tablet was smart enough to shut it down!
 
  • Like
Reactions: jermaine151

benefit14snake

Senior Member
Dec 23, 2011
819
174
Henrico, VA
74c is not terrible. It depends on the silicone, alot of higher end gpus run 85+ stock. I'm not sure the upper limit of the 40nm process this chip is based off but 74 is out of my comfort zone. 60 or so would be ideal. Does anyone know how the heatsink on this device is setup? Can we mod it?

Sent from my Transformer Prime TF201 using Tapatalk
 

jermaine151

Senior Member
Jun 19, 2010
4,237
3,690
Columbus, Ohio
74c is not terrible. It depends on the silicone, alot of higher end gpus run 85+ stock. I'm not sure the upper limit of the 40nm process this chip is based off but 74 is out of my comfort zone. 60 or so would be ideal. Does anyone know how the heatsink on this device is setup? Can we mod it?

Sent from my Transformer Prime TF201 using Tapatalk

It's terrible enough to make it shut down. :) Mine stays around 40C when I'm using the tablet.
 

PapaSmurf6768

Senior Member
Jul 29, 2011
284
84
Reporting back from before, turns out atp tweak was the problem. I unchecked enable deadline at boot and was able to boot right up and run some benchmarks at 1.7ghz. Then I opened up atp tweak just for fun and my tab immediately rebooted. So I'd add to the op that people need to uninstall or atleast disable Atp tweak.
Sent from my ROOTED Transformer Prime
 
Last edited:

SfinxSoft

Member
Oct 11, 2011
21
3
Odessa
sfinxsoft.com
It is strange that Antutu can't get past the 2d/3d tests. Something doesn't sound right there.

It never does even in stock kernel - seems like the antutu bug, I do not bother.

This temp is being reported by the driver for NCT1008 (nct1008.c), a temperature monitoring device from ON Semiconductors. It appears that a thermal shutdown was triggered. EDP will throttle your clock down starting at a certain temp and then thermal shutdown will occur at a max temp.

It is clear - I'd like the people to know/distinguish the 'reboot/freeze' event that caused by thermal shutdown or by chipset overclock instability. This means that true 1.8Ghz can be possibly achieved with some additional cooling ;)
 

benefit14snake

Senior Member
Dec 23, 2011
819
174
Henrico, VA
It never does even in stock kernel - seems like the antutu bug, I do not bother.



It is clear - I'd like the people to know/distinguish the 'reboot/freeze' event that caused by thermal shutdown or by chipset overclock instability. This means that true 1.8Ghz can be possibly achieved with some additional cooling ;)

Where is prime95 when you need it? Lol

Sent from my Transformer Prime TF201 using Tapatalk
 

_motley

Senior Member
Aug 17, 2010
858
2,360
Any chance this supports init.d ?

sent from my Transformer Prime

Sure, this should be easy to addto the init.rc within the included initramfs in the next version.

For example:
Code:
...
[B][I]exec /sbin/sysinit.rc[/I][/B]
class_start default
...

Then, you would be required to provide your own sysinit.rc or the ROM will already have it setup somewhere. I will check some custom ROMs to see what path/naming convention they are using.




Reporting back from before, turns out atp tweak was the problem. I unchecked enable deadline at boot and was able to boot right up and run some benchmarks at 1.7ghz. Then I opened up atp tweak just for fun and my tab immediately rebooted. So I'd add to the op that people need to uninstall or atleast disable Atlanta tweak.
Sent from my ROOTED Transformer Prime

Thanks for reporting back Papa. I have updated the OP with this info under requirements.
 

newellj79

Senior Member
Jan 2, 2011
2,378
298
OnePlus 8
I've been trying to keep tabs on my clock speed, just for kicks. Its seems that when I'm set to 1.7 using the interactive governor, I almost never hit 1300, 1400, 1500, or 1600. It's not a problem by any means, I'm just curious if it was designed to be like this. I don't know anything about kernels, other than how to install them. And by the way this one is working great. Really hoping for a 1.8 my temp seem to be fine.

zE96p76R



Edit.. whoa, first time I've ever posted a pic. Didn't intend for it to be so big...
 

benefit14snake

Senior Member
Dec 23, 2011
819
174
Henrico, VA
Interestingly enough I did try this with the new build of the aokp rom and it works marvelously! ! Quite a bit smoother than the kernel they have packaged with the rom. The only problem is wifi doesn't work! Lol ill probably flash back to virtuous when the new build comes out and use this kernel.

Great work!

Sent from my Transformer Prime using Tapatalk
 

Top Liked Posts

  • There are no posts matching your filters.
  • 106
    _motley kernel for the Prime

    Disclaimer: You know the gig...I am not responsible for damaging your device or voiding your warranty. Play at your own risk!

    New version released for testing on 4.2.2 ROMs I see popping up since this is likely our future unless Asus releases something. I have been dev'ing for the N4 and N7 lately, so I haven't had a lot of time to keep up with the Prime. However, I wanted to stop by to share the kernel I built over the course of the last two nights for my own device.

    Features:

    • Forked from namidairo (thanks!)
    • OC to 1.7GHz
    • GPU OC to 600MHz - configurable from 520-650MHz (see below)
    • Voltage Control (use Trickster or System Tuner)
    • Removed system_mode from Asus - boots to 1.4GHz - control with standard apps (use Trickster or System Tuner)
    • FSYNC - 3 modes (see below) (use Trickster)
    • Linaro built with optimizations
    • Kernel log spam reduced - important for our crappy eMMC
    • optimized ARM RWSEM algorithm
    • Other misc tweaks (see github)

    Build 24 (beta)
    • Initial release for 4.2.2
    • AnyKernel install works on 32GB Primes only
    • Added blob based installs for CM 10.1 and PA. Read notes carefully below when choosing an install zip.

    View attachment motley_anykernel_tf201_build_24.zip - 32 GB Primes ONLY (any 4.2.2 custom ROM)
    View attachment motley_b24_CM.zip.zip - CM10.1 based ROMs only (blob based install for 32/64GB Primes)
    View attachment motley_b24_AOSP_PA.zip - PA/AOSP 4.2.2 ROMs only (blob based install for 32/64GB Primes) (only tested on PA thus far! Using PA ramdisk as donor.)

    Git repo:
    https://github.com/motley-git/android_kernel_asus_tf201


    GPU OC

    Examples:

    Code:
    echo 520 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc

    Code:
    echo 650 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc


    FSYNC Control

    Notes: I thought about combining these options, but many kernel apps already support these two options. So, I have them both and they can be controlled in combination to give us the 3 modes. If you set fsync_enabled = 0 it will be OFF regardless of how Dyn_fsync_active is set.

    3 Modes:

    Dynamic (default in b35 and higher)- fsync is asynchronous when screen is on, when screen is off it is committed synchronously
    dynamic fsync ON
    fsync ON
    Code:
    echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
    echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled

    Off (best performance, less safe) - fsync is always asynchronous (b32 and prior builds)
    dynamic fsync OFF
    fsync OFF
    Code:
    echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
    echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled

    Stock (safest) - fsync is always committed synchronously
    dynamic fsync OFF
    fsync ON
    Code:
    echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
    echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
    There is a lot of info out there on fsync, that will not be discussed here. I have run fsync off on several devices for awhile now and haven't experienced any issues. If you are using a device that is not stable and crashes alot, I recommend enabling it via init.d or script manager on boot.


    See all my old tf201 kernel versions for ICS here:

    Requirements (please read carefully!)
    • alpha version is stable for most, but changes often until we hit a good stable version. Let me know how it works!
    • Do a CWM backup so you can restore your boot.img and ROM if necessary!
    • 64GB tabs please use blob based install with ramdisk. Anykernel method may not work on 64GB tablets
    • Recommend 1.6 or 1.7GHz. I have scored 14300+ on Antutu with 1.7GHz. 1.8 is just not necessary IMO and generates too much heat.
    • ICS ROMs only
    • You must be rooted with busybox. Busybox is used for init.d support.
    • You must be unlocked (Asus Unlock Tool provided on their web site)
    • Official CWM with latest update (see http://xdaforums.com/showthread.php?t=1533697)
    • You should have your current full and a stock ROM including kernel on your sdcard (just in case). This is always a good idea anyhow.
    • Beware of third party tweaks that may conflict. If you have installed another app that will load conflicting kernel modules or provide overclocking capability for the stock kernel, please uninstall or disable this on boot before you install this kernel. For example, if you are using ATP Tweaks and are loading the CFQ or SIO schedulerd at boot, it can cause a crash as soon as the conflicting kernel module loads into memory. This kernel now includes the many features that folks were previously using kernel modules for. Since this kernel supports these features natively, you know longer need to load a kernel module manually or via a third party application unless the feature is not listed above. For example, if you use CIFS Manager, you should remove the requirement to load the CIFS kernel module in the settings as it is no longer needed with this kernel.

    Stock/AOKP versions
    • Still using stock broadcom WiFi drivers (module built by me match stock modules)
    • Still use same scaling scripts from before (cpu3.sh etc.) or installed 2.6.11 first and then flash this kernel to be sure you have them right.
    • Same system modes apply as before (system_mode=3 for 1.6GHz, system_mode=4 for 1.7GHz, system_mode=5 for 1.8GHz etc.)

    Generic kernel versions
    • Supports Gummy, Team EOS, and CM9 since they have the same WiFi driver implemented in their device trees.
    • No need to use an OC app (SetCPU, No-frills etc.) to set the clock.
    • WiFi driver is built-in (no kernel modules) using opensource broadcom drivers (nl80211)
    • KSM=y (ROM needs to enable KSM in dalvik and set scan in the init file like in CM9)
    • Overclock - needs init.d to be functional to run a init.d script on boot (see sample script below).
    • Same system modes apply as before (system_mode=3 for 1.6GHz, system_mode=4 for 1.7GHz, system_mode=5 for 1.8GHz etc.)
    • If you don't get deep sleep, make sure you have implemented the init.d script properly. "echo N > /sys/module/cpu_tegra3/parameters/no_lp" seems to be necessary on generic ROMs to get the proper deep sleep.



    "Lite" kernel
    This kernel version has been kept very close to stock form, except for OC and some basic features. The kernel won't be updated often, only when Asus releases new versions or an important fixable bug is discovered.

    "Lite" Features
    • Based on stock Asus v9.4.2.28 base
    • Simple I/O scheduler as the default
    • OC from 1.5 to 1.7GHz (system_mode 3 = 1.5GHz, 4 = 1.6GHz, 5 = 1.7GHz)
    • Compiler optimizations (-o2), ARM toolchain - Code Sourcery Lite 2010.09-51
    • initramfs changes from stock - init.d support (your ROM must have the /system/etc/init.d folder and busybox) and the default.prop has been updated with ro.secure=0 (for "adb remount")
    • CIFS support (built-in, no need for kernel module)
    • NTFS/exFAT modules are provided in stock ramdisk - uses stock Tuxera modules. See http://www.tuxera.com/) - modules are loaded during init automatically with included initramfs.
    • Kernel compression mode LZMA
    • Input devices - PS3 (stock), XBox (CONFIG_INPUT_FF_MEMLESS and CONFIG_JOYSTICK_XPAD_FF), Other input device support (CONFIG_HID_APPLE, CONFIG_INPUT_MOUSEDEV, CONFIG_HID_LOGITECH)
    • Networking/VPN - in addition to stock: CONFIG_L2TP, CONFIG_IP_ADVANCED_ROUTER, CONFIG_NET_IPIP, CONFIG_NET_IPGRE, CONFIG_IP_MULTIPLE_TABLES, CONFIG_INET_AH, CONFIG_INET_IPCOMP, CONFIG_INET_XFRM_TUNNEL, CONFIG_INET_XFRM_MODE_TUNNEL, CONFIG_INET_XFRM_MODE_BEET, CONFIG_L2TP_DEBUGFS, CONFIG_L2TP_V3, CONFIG_L2TP_IP, CONFIG_L2TP_ETH, CONFIG_PPP_MULTILINK, CONFIG_PPPOE

    v1.0.0

    Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
    CWM flashable: View attachment motley_lite_stock_full_kernel_and_ramdisk_1.0.0_build_1.zip
    (Stock and stock-based ROMs only - 32GB and 64GB primes)

    Anykernel for Stock or AOKP (won't touch your ramdisk, heat, or init.d scripts)
    CWM flashable: View attachment motley_lite_anykernel_stock_and_AOKP_1.0.0_build_1.zip
    (32GB stock-based ROMs or AOKP primes only!)

    AOKP MS 6.1 with full ramdisk and 1.7 init.d OC script
    CWM flashable: View attachment motley_lite_v1.0.0b_build_1_for_AOKP_MS_6.1.zip (updated zip 7/16/2012 10:40pm - will OC to 1.7 on boot, WiFi is working for me)
    (AOKP only - 32GB and 64GB primes)

    Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
    CWM flashable: View attachment motley_lite_generic_anykernel_v1.0.0_build_2.zip
    (32GB EOS, Gummy, CM9 primes only!)



    Alpha 3.x kernel
    A more experimental kernel, with stable versions along the way.
    View attachment 986646

    Features - includes alpha
    • Asus v9.4.2.28 base with Asus keyboard dock support
    • Overclocking options: 1.6, 1.7, or 1.8GHz performance mode (choice of Asus modes)
    • Compiler optimizations (-o2)
    • I/O schedulers - CFQ (default), SIO, NOOP, and deadline
    • ZRAM (must be enabled by a script...see example below)
    • MMC drivers back-ported from Nvidia 3.1 kernel
    • Governors - optimized Interactive (default), Performance, On Demand, Power Saver
    • initramfs changes from stock - init.d support (your ROM must have the /system/etc/init.d folder and busybox) and the default.prop has been updated with ro.secure=0 (for "adb remount")
    • CIFS support (built-in, no need for kernel module)
    • NTFS/exFAT modules are provided in stock ramdisk - uses stock Tuxera modules. See http://www.tuxera.com/) - modules are loaded during init automatically with included initramfs.
    • Kernel compression mode LZMA
    • Userspace voltage control/undervolting (UV)- experimental, don't set on boot until you test your settings (use SetCPU or other voltage tweaking tool) (thanks richardtrip)
    • Input devices - PS3 (stock), XBox (CONFIG_INPUT_FF_MEMLESS and CONFIG_JOYSTICK_XPAD_FF), Other input device support (CONFIG_HID_APPLE, CONFIG_INPUT_MOUSEDEV, CONFIG_HID_LOGITECH)
    • Networking/VPN - in addition to stock: CONFIG_L2TP, CONFIG_IP_ADVANCED_ROUTER, CONFIG_NET_IPIP, CONFIG_NET_IPGRE, CONFIG_IP_MULTIPLE_TABLES, CONFIG_INET_AH, CONFIG_INET_IPCOMP, CONFIG_INET_XFRM_TUNNEL, CONFIG_INET_XFRM_MODE_TUNNEL, CONFIG_INET_XFRM_MODE_BEET, CONFIG_L2TP_DEBUGFS, CONFIG_L2TP_V3, CONFIG_L2TP_IP, CONFIG_L2TP_ETH, CONFIG_PPP_MULTILINK, CONFIG_PPPOE
    • MMC - CONFIG_ZIMMER by HTC Studio Engineering (reference OneX kernel) - Experimental - can't find the source of this hack, so it may be an HTC original or a variant of another hack upstream. It increases vm swappiness to 100 by default to force swapping of dead RAM. The theory is to clear out the stale RAM and open up the RAM for something more useful. While this may be counter-intuitive to I/O performance since swapping equates to more disk i/o, the code changes also implement some changes to the block, fs, and mm portions of the kernel. Essentially, from what I can tell, it flags and handles disk operations (aka "bios") differently if they are involved in swap operations (going to or coming from swap). A "bio" is essentially a manifest of an ongoing I/O block device operation, what sectors and memory locations it contains etc. Once the RAM is freed up, I have also been increasing the Dalvik vm RAM settings in the build.prop (see Demandarin's build.prop post) to allow for more RAM consumption.
    • Turned off GENTLE_FAIR_SLEEPERS - Theoretically should improve UI performance on Android.
    • ARM toolchain - Code Sourcery Lite 2010.09-51
    • Many other performance tweaks and many Nvidia patches/bug fixes applied beyond the stock version. See the release notes or github for details.

    alpha v3.0.7.0 - fix deep sleep issue

    Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
    CWM flashable: View attachment motley_stock_full_kernel_and_ramdisk_3.0.7.0_b302.zip(build 302)
    (Stock and stock-based ROMs only - 32GB and 64GB primes)

    AOKP build 40 with full ramdisk and 1.7 init.d OC script
    CWM flashable: View attachment z_motley_tfp_v3.0.7.0_b302_for_AOKP_build_40_1.7GHz.zip(build 302)
    (AOKP only - 32GB and 64GB primes)

    Anykernel for Stock or AOKP (won't touch your ramdisk, heat, or init.d scripts)
    CWM flashable: View attachment z_motley_anykernel_stock_and_AOKP_3.0.7.0_b302.zip (build 302)
    (32GB stock-based ROMs or AOKP primes only!)

    Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
    CWM flashable: View attachment motley_tfp_anykernel_generic_3.0.7.0_b303.zip (build 303)
    (32GB EOS, Gummy, CM9 primes only!)


    alpha v3.0.6.10 - fixed wifi issues in 3.0.6.9

    Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
    CWM flashable: View attachment motley_stock_full_kernel_and_ramdisk_3.0.6.10.zip (build 247)
    (Stock and stock-based ROMs only - 32GB and 64GB primes)

    AOKP build 40 with full ramdisk and 1.7 init.d OC script
    CWM flashable: View attachment z_motley_tfp_v3.0.6.10_for_AOKP_build_40_1.7GHz.zip (build 247)
    (AOKP only - 32GB and 64GB primes)

    Anykernel for Stock or AOKP (won't touch your ramdisk, heat, or init.d scripts)
    CWM flashable:View attachment z_motley_anykernel_stock_and_AOKP_3.0.6.10.zip (build 247)
    (32GB stock-based ROMs or AOKP primes only!)

    Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
    CWM flashable: View attachment motley_tfp_anykernel_generic_3.0.6.10.zip (build 250)
    (32GB EOS, Gummy, CM9 primes only!)

    Older alpha 3.0.x versions can be found in post 803
    Many are stable on v3.0.5 if the above versions don't work for you.


    v2.6.11 build 100 2012-04-22

    Asus stock-based ROMs (aroma installer): View attachment motley_tfp_2.6.11_Turge_installer.zip
    Flash with CWM to run the installer and pick your heat!

    Other ROMs: see alpha version 3.0.x above as previous generic kernels discontinued due to wifi incompatibility other than AOKP.

    Installation

    1. Backup stock boot.img (just do a full backup with the latest CWM)
    See http://xdaforums.com/showthread.php?t=1533697

    2. Flash the proper zip with CWM


    --------------------------------------------------------------------------------------------------------------------------------------
    If you want to set your modes and play with the scripts manually as before see this post:
    http://xdaforums.com/showpost.php?p=24565491&postcount=278)
    Don't set your core_cap_level higher than 1400mV as it is the highest core voltage available.
    system_mode numbers (3=1.6GHz, 4=1.7GHz, 5=1.8GHz)

    --------------------------------------------------------------------------------------------------------------------------------------

    Going back to stock:
    If you want to revert to stock boot image including stock kernel from your backup
    Use your CWM backup. You can do a selective restore and just restore your boot.img

    If you want to revert back to your Asus scaling scripts
    Flash the stock scaling script: View attachment Stock_scripts_1_to_5.zip
    --------------------------------------------------------------------------------------------------------------------------------------

    Github rep: https://github.com/motley-git/TF201-Kernel

    --------------------------------------------------------------------------------------------------------------------------------------
    Past versions

    v2.5.8 build 71 (GPU Love) 2012-04-14
    CWM flashable zip: v2.5.8
    Aroma installer with heat scripts: View attachment motley_tfp_2.5.8_Turge_installer.zip

    v2.4 build 34 (Neon glitter) 2012-04-06
    CWM flashable zip: View attachment 986645

    v2.3 build 25 (Need for speed)
    CWM flashable zip: View attachment 978413

    v2.2 build 23 (No fools, more Asus Tweaks)
    CWM flashable zip: View attachment 976821

    Thanks to:
    • Asus for the awesome machine and kernel source
    • viperboy, jermaine151, MasterZen88, di11igaf, Diamondback and shaky156 for sharing their knowledge and tools
    • raman84 (RaYmAn) and others for the blob tools that work on transformer
    • Turge - awesome Aroma installer base creation for us!
    • amarullz - Aroma Installer
    • Doktaphex - touch recovery thread used by Turge for the touchscreen components.
    • AnyKernel - Koush and TeamDRH (and Jermaine for bringing it to the Prime)
    • All of those that have helped with testing! Special thanks to CekMTL for his troubleshooting skills and Deathmo for really going above and beyond to help out.

    Sample overclock init.d script example (needed for AOKP or generic roms). AOKP uses /system/etc/init.d/cpu_overclock, so I recommend you edit that file for AOKP since it is already working.

    Code:
    #!/system/bin/sh 
    echo 4 > /sys/module/cpu_tegra/parameters/system_mode
    echo 1350 > /sys/kernel/tegra_cap/core_cap_level
    echo 0 > /sys/kernel/tegra_cap/core_cap_state
    echo 0 > /sys/devices/platform/tegra_grhost/enable_3d_scaling
    echo 10 > /sys/module/cpu_tegra3/parameters/mp_overhead
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_1
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_2
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_3
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_4
    setprop power.saving.mode 1
    setprop persist.tegra.NV_FPSLIMIT 0
    setprop persist.sys.NV_FPSLIMIT 0
    setprop persist.sys.NV_POWERMODE 0
    
    echo 1700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    echo N > /sys/module/cpu_tegra3/parameters/no_lp

    Sample ZRAM init script (thanks show-p1984) (needs to be run as "su" using script manager):

    Code:
    #!/system/bin/sh
    # auto zram activation init script with busybox search
    # by show-p1984
    
    echo "[90ZRAM]: Firing up /system/etc/init.d/90zram";
    
    if [ ! -e /sys/block/zram0/disksize ] ; then
            echo "[90ZRAM]: ERROR unable to find /sys/block/zram0/disksize";
            echo "[90ZRAM]: Is this a ZRAM kernel?";
            echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
    else
            #find busybox in /system
            bblocation=$(find /system/ -name 'busybox')
            if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
                    echo "[90ZRAM]: busybox found in:" $bblocation;
                    echo "[90ZRAM]: Setting ZRAM disksize.";
                    echo $((100*1024*1024)) > /sys/block/zram0/disksize
    
                    echo "[90ZRAM]: Starting ZRAM...";
                    bblocation=${bblocation%/*}
                    cd $bblocation
                    ./busybox mkswap /dev/block/zram0
                    ./busybox swapon /dev/block/zram0
    
                    echo "[90ZRAM]: ZRAM activated.";
            else
                    echo "[90ZRAM]: ERROR! busybox not found!";
                    echo "[90ZRAM]: Is busybox installed? Symlinks set?";
                    echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
            fi
    fi
    24
    3.0.x alpha thread

    Moved to OP 2012-06-29 with 3.0.6.9 release

    Alpha 3.0.x Testing

    • alpha version, experienced users and testers only please!
    • Do a CWM backup so you can restore your boot.img and ROM if necessary
    • 64GB tabs please use blob based install with ramdisk. Anykernel method may not work on 64GB tablets
    • Recommend 1.6 or 1.7GHz. I have scored 14300+ on Antutu with 1.7GHz. 1.8 is just not necessary IMO and generates too much heat.
    Stock/AOKP version
    • Still using stock broadcom WiFi drivers (module built by me match stock modules)
    • Still use same scaling scripts from before (cpu3.sh etc.) or installed 2.6.11 first and then flash this kernel to be sure you have them right.
    • Same system modes apply as before (system_mode=3 for 1.6GHz, system_mode=4 for 1.7GHz, system_mode=5 for 1.8GHz etc.)
    Generic kernel version
    • Supports Gummy, Team EOS, and CM9 since they have the same WiFi driver implemented in their device trees.
    • No longer need to use an OC app (SetCPU, No-frills etc.) to set the clock.
    • WiFi driver is built-in (no kernel modules) using opensource broadcom drivers (nl80211)
    • KSM=y (ROM needs to enable KSM in dalvik and set scan in the init file like in CM9)
    • Overclock - needs init.d to be functional to run a init.d script on boot (see sample script below).
    • Same system modes apply as before (system_mode=3 for 1.6GHz, system_mode=4 for 1.7GHz, system_mode=5 for 1.8GHz etc.)
    • If you don't get deep sleep, make sure you have implemented the init.d script properly. "echo N > /sys/module/cpu_tegra3/parameters/no_lp" seems to be necessary on generic ROMs to get the proper deep sleep.

    motley TFP kernel alpha 3.0.5 change-log
    • Added Simple I/O Scheduler (SIO) - by popular demand.
    • deadline i/o scheduler - setting tweaks back to stock. Starving a second write is probably best for performance.
    • block: block-exec: blk_execute_rq() - change hang_check timer code back to stock Linux/Nvidia (now also matches the HTC OneX kernel)
    • MMC - removed Asus debug printk spamming during normal operations
    • MMC - CONFIG_ZIMMER by HTC Studio Engineering (reference OneX kernel) - Experimental - can't find the source of this hack, so it may be an HTC original or a variant of another hack upstream. It increases vm swappiness to 100 by default to force swapping of dead RAM. The theory is to clear out the stale RAM and open up the RAM for something more useful. While this may be counter-intuitive to I/O performance since swapping equates to more disk i/o, the code changes also implement some changes to the block, fs, and mm portions of the kernel. Essentially, from what I can tell, it flags and handles disk operations (aka "bios") differently if they are involved in swap operations (going to or coming from swap). A "bio" is essentially a manifest of an ongoing I/O block device operation, what sectors and memory locations it contains etc. Once the RAM is freed up, I have also been increasing the Dalvik vm RAM settings in the build.prop (see Demandarin's build.prop post) to allow for more RAM consumption. So far, this combination (at least for me so far) has really given me good UI performance and I haven't had to kill the browser often like I did before.
    • MMC - increase command retries to 10 from 3 (Nvidia)
    • ARM: vfp: only clear vfp state for current cpu in vfp_pm_suspend (github)

    Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
    CWM flashable: View attachment motley_stock_full_kernel_and_ramdisk_3.0.5.zip (build 151)
    (Stock based ROMs only - 32GB and 64GB primes)

    AOKP build 38 with full ramdisk and 1.7 init.d OC script
    CWM flashable: View attachment z_motley_tfp_v3.0.5_for_AOKP_build_38_1.7GHz.zip (build 151)
    (AOKP only - 32GB and 64GB primes)

    Anykernel for stock and AOKP (won't touch your ramdisk or init.d scripts)
    CWM flashable: View attachment z_motley_anykernel_stock_and_AOKP_3.0.5.zip (build 151)
    (32GB stock-based ROMs or AOKP primes only!)

    Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
    CWM flashable: View attachment motley_tfp_generic_3.0.5_with_nvram.zip (build 152)
    (32GB EOS, Gummy, CM9 primes only!)
    Updated: CONFIG_ZIMMER was turned off in build 152 generic posted above. Here is a new zip with it it turned on: View attachment motley_tfp_generic_3.0.5b_with_nvram.zip

    motley TFP kernel alpha 3.0.4 change-log
    • Merged Asus 9.4.2.28 kernel changes (GPS etc. See github for details)
    • Removed CONFIG_ASUS_OVERCLOCK_MODES since I don't use it anymore

    Stock ROM with ramdisk and 1.7GHz heat script (init.d added, unsecured ramdisk)
    CWM flashable: motley_stock_full_kernel_and_ramdisk_3.0.4b.zip
    (32GB and 64GB primes)
    2010-06-16 Updated to 3.0.4b (ramdisk change) to USB mount issues with some USB drivers. Thanks to mrwookie6379 for bringing this to my attention when users of his ROM found it.

    Stock/AOKP Anykernel (won't touch your ramdisk, init.d, or heat scripts)
    CWM flashable: View attachment z_motley_anykernel_stock_and_AOKP_3.0.4.zip
    (32GB primes only)

    Generic Anykernel for EOS, Gummy, CM9 (won't touch your ramdisk or init.d scripts)
    CWM flashable: View attachment motley_tfp_generic_3.0.4_with_nvram_file.zip
    (32GB primes only)


    motley TFP kernel alpha 3.0.3 change-log

    • Userspace voltage control/undervolting (UV)- experimental, don't set on boot until you test your settings (use SetCPU or other voltage tweaking tool) (thanks richardtrip)
    • ZRAM enabled – experimental, needs init.d script "91zram" to enable 100MB zram disk (see below).
    • Updated SHA-1 implementation to hopefully improve boot performance
    • Memcopy enhancements
    • Nvidia patches:
    • tps80031 regulator calculation fixes.
    • Spi fixes
    • Allow CPU-supported unaligned accesses - may provide slight performance improvement
    • Improvement for solid state drives.
    • Turned off GENTLE_FAIR_SLEEPERS - Theoretically should improve UI performance on Android.
    • kernel/mutex.c: update to upstream 3.0 - this fixes various mutex_lock problems.
    • Recommend using 1.7GHz if you are looking for Overclock. 1.8GHz is still present, but the TFP does run quite hot and it is kind of overkill in my opinion.
    • Updated ARM toolchain to Code Sourcery 2010.09-51

    Stock/AOKP Anykernel zip only View attachment z_motley_anykernel_stock_and_AOKP_3.0.3.zip
    (stock or AOKP 32GB tabs only, won't alter your ramdisk. Recommended for stock-based ROMs on 32GB primes)

    Blob based install (flash with CWM) for STOCK only based on Asus stock .21 ramdisk. Should work for 32 and 64GB primes: [/COLOR] View attachment motley_stock_full_kernel_and_ramdisk_3.0.3.zip

    Blob based install (flash with CWM) for AOKP only based on it's build 38 ramdisk and includes proper 1.7 OC init.d script. Should work for 32 and 64GB primes: [/COLOR] View attachment z_motley_tfp_v3.0.0_for_AOKP_build_38_1.7GHz.zip
    (zip really should say 3.0.3, zImage is the same as the anykernel install)

    Generic version - confirmed working with the latest Gummy. EOS, and CM9 ROMs motley_tfp_generic_3.0.3_with_nvram_file.zip (Anykernel CWM zip, 32GB primes only!)



    Sample overclock init.d script example (needed for AOKP or generic roms). AOKP uses /system/etc/init.d/cpu_overclock, so I recommend you edit that file for AOKP since it is already working.

    Code:
    #!/system/bin/sh 
    echo 4 > /sys/module/cpu_tegra/parameters/system_mode
    echo 1350 > /sys/kernel/tegra_cap/core_cap_level
    echo 0 > /sys/kernel/tegra_cap/core_cap_state
    echo 0 > /sys/devices/platform/tegra_grhost/enable_3d_scaling
    echo 10 > /sys/module/cpu_tegra3/parameters/mp_overhead
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_1
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_2
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_3
    echo 9999999 > /sys/module/cpu_tegra/parameters/pwr_cap_limit_4
    setprop power.saving.mode 1
    setprop persist.tegra.NV_FPSLIMIT 0
    setprop persist.sys.NV_FPSLIMIT 0
    setprop persist.sys.NV_POWERMODE 0
    
    echo 1700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    echo N > /sys/module/cpu_tegra3/parameters/no_lp

    Sample ZRAM init script (thanks show-p1984) (needs to be run as "su" using script manager):

    Code:
    #!/system/bin/sh
    # auto zram activation init script with busybox search
    # by show-p1984
    
    echo "[90ZRAM]: Firing up /system/etc/init.d/90zram";
    
    if [ ! -e /sys/block/zram0/disksize ] ; then
            echo "[90ZRAM]: ERROR unable to find /sys/block/zram0/disksize";
            echo "[90ZRAM]: Is this a ZRAM kernel?";
            echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
    else
            #find busybox in /system
            bblocation=$(find /system/ -name 'busybox')
            if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
                    echo "[90ZRAM]: busybox found in:" $bblocation;
                    echo "[90ZRAM]: Setting ZRAM disksize.";
                    echo $((100*1024*1024)) > /sys/block/zram0/disksize
    
                    echo "[90ZRAM]: Starting ZRAM...";
                    bblocation=${bblocation%/*}
                    cd $bblocation
                    ./busybox mkswap /dev/block/zram0
                    ./busybox swapon /dev/block/zram0
    
                    echo "[90ZRAM]: ZRAM activated.";
            else
                    echo "[90ZRAM]: ERROR! busybox not found!";
                    echo "[90ZRAM]: Is busybox installed? Symlinks set?";
                    echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
            fi
    fi
    15
    Has Motley forsaken us for the Nexus? Loads of cool stuff going on over there but the Prime kernel scene seems dead as a doornail. :(

    I'm still here Loccy! Started working on some new stuff yesterday:eek:
    15
    New "Lite" version released

    Hi everyone,

    I have released a new "Lite" version (see the OP). This will provide a stock-like base and may tell us some things about stability issues that some report. I am wondering if it might help some that have issues with video reboots, SOD etc. As for as dock SOD, I have seen this before on the stock kernel and all variances of my custom kernel. I can go weeks without seeing it and then bam, it happens a couple times in a short period of time. Not sure why it happens. I once thought it happened most often when the dock battery is drained and the tablet was sleeping in the dock. But, I have seen it once on stock when the dock was plugged in and charging...so go figure!

    I'll try to pop back in soon to help to answer questions etc. Been really busy with work and family stuff. Hope you are all doing well!

    Cheers,

    motley
    14
    Thanks for making another kernel mr motley!

    The kernel is working wonders with Paranoid Android on my 64 GB Prime. Have you implemented any of the optimizations from your old kernel for eMMC? I don't know if the driver for it is updated or not.

    Typing is a dream now since there is almost no lag now.

    Hi Motley, can i ask would it be possible for you to include SIO IO scheduler in your kernel? we had it on ICS and it was faster than others, well felt like anyway!

    thanks

    The ROW scheduler is now default. It aids in the slow flash memory, especially ours, by prioritizing Read Over Write, which is what the acronym represents. ROW is nearly identical to SIO except what I said above. This makes it so that fsync writes are scheduled further back and do not interfere with main operation all the time. It still does not solve the problem presented with our slow eMMC, but it helps loads.

    Hey guys, I will include SIO in the next build. I forgot to add it in. It is still one of my favorite IO schedulers. Then we can run some tests and see how they do. Since we are now on a 3.x kernel, many of the fixes for eMMC are included that I had ported before.

    Thanks, is there a motley kernel for stock JB base 4.1? I couldnt find one! Thanks

    Sent from my Transformer Prime TF201 using XDA Premium HD app

    Latest beta works on stock Asus ROM but it breaks wifi.

    If I have some extra time over the next week, I'll see if I can create a build for stock since there seems to be some interest.

    The dev at Trickster MOD has added the ability to control the GPU OC in his latest beta and I have been using it. So, we should be seeing that released sometime in the near future. I will also likely be moving the kernel downloads to Goo.im so you can install kernels via their app if you like.