• If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.
  • Nearly there! Migration cleanup is mostly done. There are about 6k posts left to import, a few forum redirects to make, and minor details. All the heavy lifting is done. Would love to hear feedback over at this thread!

[KERNEL][awesom3]Cody Kernel ~ 20||Oct||14


New member
Sep 27, 2012
1. My device rebooted or crashed, how can I help?
A: Get me /proc/last_kmsg on pastie.org.
2. Battery sucks, my device is not entering deep sleep. FIX PLOX!
A: Get the name of kernel (parital) wakelock that's keeping your device awake
4. Do I need to wipe anything when flashing this kernel?
A: No
5. Does this kernel has X or Y mod?
A: Learn to read, everything you need to know is in the features list, changelog or public repo.


The zip's are named in the following fashion:

kernel changelog:

supported ROMs(name | version since when supported):
  • CyanogenMod 11 | RC 3
  • OmniROM | build #10

XDA:DevDB Information
Cody Kernel, Kernel for the HTC Pico (Explorer)

Kernel Special Features:

Version Information
Status: Stable

Created 2014-01-11
Last Updated 2014-09-28
Last edited:


New member
Sep 27, 2012

Terminal commands for some of the options in this kernel:

vibrator voltage
echo i > /sys/devices/virtual/timed_output/vibrator/voltage
replace i with 2100-3100 of your choice

echo 1 > /sys/android_touch/sweep2wake/enable - to enable
echo 0 > /sys/android_touch/sweep2wake/enable - to disable

echo i > /sys/android_touch/sweep2wake/xres_min_width - to set min width to swipe
replace i with 0(?)-924 of your choice

echo 1 > /sys/android_touch/sweep2wake/s2s_only - to enable sweep2sleep only
echo 0 > /sys/android_touch/sweep2wake/s2s_only - to disable sweep2sleep only


echo 1 > /sys/android_touch/doubletap2wake/enable - to enable doubletap2wake
echo 0 > /sys/android_touch/doubletap2wake/enable - to disable doubletap2wake

echo i > /sys/android_touch/doubletap2wake/timeout_max - to set max timeout b/w two taps
replace i with 0(?)-1000 of your choice (should be greater than timeout_min's value)


echo 1 > /sys/android_touch/pocket_mod/enable - to enable pocket detection before waking device, etc
echo 0 > /sys/android_touch/pocket_mod/enable - to disable pocket detection before waking device, etc

sound Control
echo i > /sys/sound_control/volume_boost

Replace i with 0-8 of your choice (0 being no boost, 4 being 1½ times original, and 8 being 2 times original volume) (prolonged audio output at 8 (speakers) might blow 'em)

USB fast charge
echo 1 > /sys/kernel/fast_charge/force_fast_charge - to enable
echo 0 > /sys/kernel/fast_charge/force_fast_charge - to disable

echo 1 > /sys/class/misc/backlightnotification/enabled - to enable
echo 0 > /sys/class/misc/backlightnotification/enabled - to disable

static backlights
echo 1 > "/sys/class/misc/backlightnotification/in_kernel_static" - to enable
echo 0 > "/sys/class/misc/backlightnotification/in_kernel_static" - to disable

static backlights max time
echo i > "/sys/class/misc/backlightnotification/static_maxtime"
replace i with preferred lights timeout in seconds (from 1 to 3600 sec = 1 hour)
the default value is 60 seconds = 1 minute.

blinking backlights
echo 1 > "/sys/class/misc/backlightnotification/in_kernel_blink" - to enable
echo 0 > "/sys/class/misc/backlightnotification/in_kernel_blink" - to disable

blinking backlights max time
echo i > "/sys/class/misc/backlightnotification/blink_maxtime"
replace i with preferred lights timeout in seconds (from 1 to 3600 sec = 1 hour)
the default value is 60 seconds = 1 minute.

lights interval
echo i > "/sys/class/misc/backlightnotification/blink_interval" - sync'ed lights on/off interval
echo i > "/sys/class/misc/backlightnotification/blink_interval_on" - lights on interval
echo i > "/sys/class/misc/backlightnotification/blink_interval_off" - lights off interval
replace i with preferred interval in milliseconds for the related blink transition
the default value is 500 milliseconds.

set static lights after blink timeout
echo 1 > "/sys/class/misc/backlightnotification/status_after_blinking" - to enable
echo 0 > "/sys/class/misc/backlightnotification/status_after_blinking" - to disable

TCP Congestion Algorithm interface
To check all the available options:

sysctl net.ipv4.tcp_available_congestion_control

To change to other option:

sysctl -w net.ipv4.tcp_congestion_control=NAME_OF_THE_ALGORITHM

Detailed test of available algorithms:

Latency - Download - Upload

1st run: 15ms - 10,75Mbps - 7,82Mbps
2nd run: 14ms - 10,84Mbps - 8,06Mbps

1st run: 13ms - 15,51Mbps - 6,73Mbps
2nd run: 13ms - 14,73Mbps - 8,51Mbps
Last edited:


New member
Sep 27, 2012

- include: sync msm_rotator.h with device tree
- towake: fix pocket mod showing s2w toggle value
- towake: fix S2S only logic
- firmware: add yamato_*.fw firmware for pico
- pico_defconfig: regen
- Set ION heap sizes in separate function (credits to galaxyfreak)
- i2c: tps65200: Use fast charge rate when slow charge is requested (credits to Sultanxda)
- defconfig: Enable expanded RAM (credits to Sachin Thomas)
- board-pico.h: allow to rework memory a *little* (experimental)
- ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above (credits to Dave Martin)
- ARM: 7493/1: use generic unaligned.h (credits to Rob Herring)
- msm: display: Allow MDP clocks to use Max clock. (credits to Saurabh Shah)
- awesom3: allow a 128 mB userdata

- video: msm: add back towake hooks!
- ARM: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ && MMU (credits to Will Deacon)
- sch_prio: backport enable_flow for KitKat (credits to Conn O'Griofa)
- signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig() (credits to Oleg Nesterov)
- mm, memcg: pass charge order to oom killer (credits to David Rientjes)
- mm, oom: force oom kill on sysrq+f (credits to David Rientjes)
- mm, oom: avoid looping when chosen thread detaches its mm (credits to David Rientjes)
- mm: oom_kill: remove memcg argument from oom_kill_task() (credits to Johannes Weiner)
- oom: do not kill tasks with oom_score_adj OOM_SCORE_ADJ_MIN (credits to Michal Hocko)
- oom: fix race while temporarily setting current's oom_score_adj (credits to David Rientjes)
- oom: remove oom_disable_count (credits to David Rientjes)
- oom: avoid killing kthreads if they assume the oom killed thread's mm (credits to David Rientjes)
- oom: thaw threads if oom killed thread is frozen before deferring (credits to David Rientjes)
- Revert "msm: display: non-blocking for overlay update" (credits to Sachin Thomas)
- Revert "msm_fb: display: update var in display commit" (credits to Sachin Thomas)
- net/l2tp: don't fall back on UDP [get|set]sockopt (credits to Sasha Levin)
- android: lowmemorykiller: add lmk parameters tunning code. (credits to seungho1.park)
- msm: adsp: Avoid preemption during driver registration (credits to Kaushal Kumar)
- msm: qdsp5: memset stack buffer allocation. (credits to Asish Bhattacharya)
- msm: qdsp5: memset stack buffer allocation. (credits to Asish Bhattacharya)
- msm: qdsp5: Memset stack buffer allocation. (credits to Asish Bhattacharya)
- qdsp5: Fix warnings (credits to Sachin Thomas)
- htc_acoustic: Update from protou (credits to Sachin Thomas)
- qdsp5: Updates from HTC (credits to Sachin Thomas)
- qdsp5: Use pmem for camera and omx (credits to Sachin Thomas)
- devices: msm7x27a: Add platform device for ADSP (credits to galaxyfreak)
- fix non-v4l2 (credits to galaxyfreak)
- update qdsp5 from teamhacklg (credits to galaxyfreak)
- msm: mdp: Update sync pt. behaviour (credits to naseer)
- msm_fb: display: get mipi frame rate from panel file (credits to Huaibin Yang)
- msm_fb: display: update var in display commit (credits to Naseer Ahmed)
- msm: display: non-blocking for overlay update (credits to Naseer Ahmed)
- msm: kgsl: Don't hold the refernce to the process private in kgsl create context (credits to Gaurav Gagrani)
- msm: kgsl: Increase the timeout value for fault detection (credits to Shubhraprakash Das)
- Staging: android: binder: More offset validation. (credits to Arve Hjønnevåg)
- msm: kgsl: Force the ME off before reading the microcode (credits to Jordan Crouse)
- mm: pass readahead info down to the i/o scheduler (credits to Lee Susman)
- writeback: fix writeback cache thrashing (credits to Namjae Jeon)
- mipi_samsung: Use mipi_dsi_cmds_tx (credits to Sachin Thomas)
- mipi_samsung: Enable bkl from display on cmds (credits to galaxyfreak)
- mipi_samsung: Call bkl_ctrl from lcd_on (credits to Sachin Thomas)
- mipi_samsung: Use mipi_dsi_cmds_tx2 (credits to Sachin Thomas)
- Update framebuffer from CAF msm-3.4 (credits to galaxyfreak)
- Update genlock from kk_2.7_rb1.6 (credits to Sachin Thomas)
- kgsl: fix genalloc BUG when detroying pagetable. (credits to Flemmard)
- pico_defconfig: enable awesom3
- awesom3: hax the partition table!
- Revert "aw3som3: hax the partition table!"
- Revert "pico_defconfig: enable aw3som3"
- Revert "aw3som3: set msm_nand_data.parts later"
- Revert "aw3som3: rearrange and relay the partition table"
- Revert "board-pico.h: allow to rework memory a *little* (experimental)"

- aw3som3: rearrange and relay the partition table

  • Compiled with the gcc-arm-none-eabi-4_8-2014q2
  • dm: use vzalloc (credits to Joe Perches)
  • power: don't wait for timeout if sys_sync completes early (credits to Sachin Thomas)
  • pico: wifi: Add custom country-code table (credits to Sachin Thomas)
  • board-pico-wifi: Revert some changes to improve stability (credits to Sachin Thomas)
  • WiFi toggle fix (credits to Sachin Thomas)
  • msm: Create shadow files under /sys/kernel/ipv4 (credits to Ravi Joshi)
  • WLAN subsystem: Sysctl support for key TCP/IP parameters (credits to Mahesh A Saptasagar)
  • lowmemorykiller updates (credits to Sachin Thomas)
  • msm: kgsl: Fix spinlock recursion in destroy pagetable (credits to Prakash Kamliya)
  • msm: kgsl: prevent kgsl_get_pagetable from returning a destroyed pt (credits to Jeff Boody)
  • msm: kgsl: Look up the process struct in process_mem_open() (credits to Jordan Crouse)
  • msm: kgsl: hold a process_private refcount in process_mem_print (credits to Jeremy Gebben)
  • msm: display: Buffer sync point support (credits to Ken Zhang)
  • Revert "add mdp_display_commit struct to hackishly fix display-legacy-exp build"
  • qdsp5: Add vocpcm driver (credits to Sachin Thomas)
  • pico_defconfig: enable BLN && BLN Blinks by default
  • misc: bln: import BLNv10 with updates and changes by Christopher83
  • aw3som3: set msm_nand_data.parts later


  • BLN: add a simple "count" function (thewisenerd)
  • fixup "LOAD_FREQ (4*HZ+61) avoids loadavg Moire" by Klaus (thewisenerd)


  • msm_vibrator: fixup range checking logic && set permissions to 0777 to sysfs entry (thewisenerd)
  • update BFQ to v7r5 (thewisenerd)
  • towake.c: remove dt2w_min_timeout code (un-necessary) (thewisenerd)


  • futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1) (Thomas Gleixner) (vulnerability fix)
  • n_tty: Fix n_tty_write crash when echoing in raw mode (Peter Hurley) (vulnerability fix)
  • drivers/tty: Add back htc related stuff (thewisenerd)
  • towake: remove un-needed variable in doubletap2wake_func (thewisenerd)


  • (thewisenerd) : towake.c: initialise && move to
  • (thewisenerd) : msm_vibrator: retain set vibrator_level if values set in sysfs are out of range
  • (thewisenerd) : aw3som3: hax the partition table!
  • (Sachin Thomas) : ion_platform_data: Enable has_outer_cache
  • (thewisenerd) : add uksm for v3.0 .ge.84.patch
  • (thewisenerd) : volume_boost: add QDSP5_VOLUME_BOOST_HAX
  • (thewisenerd) : himax8526a: fix improper usage of printk's (there might be more) //todo: find and fix remaining printk's
  • (thewisenerd) : msm_vibrator: add a voltage toggle in sysfs
  • (Ezekeel) : Added SLQB memory allocator.
  • (thewisenerd) : set max_readahead to 256 kbytes (testing)
  • (thewisenerd) : update msm_vibrator.c from caf kk_3.5
  • (thewisenerd) : Squashed update drivers/tty to 3.0.101

  • Compiled with the gcc-arm-none-eabi-4_8-2014q1
  • Fix build with SM 4.8.3

  • Latest BCMDHD drivers from grouper (Sachin Thomas and galaxyfreak)
  • Fix missing is_screen_on declaration with s2w enabled but dt2w disabled (@Mystic-Mirage)
  • implement pocket mod hook in BLN (this will save your battery :) )

  • Add backlight notification support for Pico
  • cpufreq: Fix broken uevents for cpufreq governor and cpu devices
  • msm_fb: Update from protou
  • Update to KK-2.7 KGSL
  • Add PocketMod to the Capella CM3628
  • Bring in PocketMod on Himax8526A touchscreen sensor


  • msm_fb: display: clean dsi fifo during dsi_off
  • Enable nand_ecc (ECC algorithm that detects and corrects 1 bit errors in a 256 byte block of data)
  • Increase vmalloc reserve from 16M to 32M

  • Update BFQ to v7r3
  • block, bfq: add Early Queue Merge (EQM) to BFQ-v7r3 for 3.0.0
  • tune CFQ
  • ion: Port from sultan-kernel-pyramid-pure (CAF KitKat msm-kk_2.7_rb1.X)

  • added PMEM_CACHE_FLUSH to driver (credits to agrabren)
  • Update genlock from kk_2.7-stable (sachinthomaspj)
  • Separate DT2W and S2W (DT2W no longer dependant on S2W)
  • Remove DT2S
  • Enable ext2/3, exfat
  • msm: qdsp5: Fix logging adsp messages for 32-bit address
  • msm: acpuclock-7201: Fix table index for precomputing frequency jump
  • msm: acpuclock-7201: Add support for updating lpj in acpuclock
  • msm: acpuclock-7201: Add delay for apps cpu clock switch
  • msm-fb: display: Reducing the display wake up time
  • Fast Charge ported (szezso), hackishly /*is that even a word!?*/ fixed (thewisenerd)
  • board-pico-keypad: enable debounce_time, to fix multiple power button inputs. (galaxyfreak)
  • Build S2W, DT2W, but not enable it. (With power button fixed, not needed.)

  • Implemented USB Fastcharge In kernel
  • Fixed Power Button
  • Updated Genlock to Kitkat
  • Default Frequency Between 122 Mhz - 678 Mhz ( Dont worry Its safe OC)
  • Thermal activated
  • Tweaks here and there

  • Permanently turned off DT2S
  • Disabled CIFS. Of no real use

  • Reverted to old net subsystem, as I was experiencing some very random glitches in net connectivity
  • Added DT2W/DT2S with toggle

  • updated entire net subsystem (thanks to sultanxda) from Google common 3.0 kernel.


  • Initial Release

Last edited:


Good work bro....
Does it has s2w disableing feature also?

Sent from my HTC Explorer A310e using XDA Premium 4 mobile app


Can any1 make one copy for jellybean 4.3.1

Sent from my HTC Explorer A310e using XDA Premium 4 mobile app


New member
Jul 1, 2013

Hey all,
Some new stuff for you guys from TeamCody, A new Custom ION Kernel for KitKat ROMs. :D :good:

Why this?
Because we didn't had any Custom Ion Kernel for KitKat. :p

Note - It's not OC currently, someone from team will release it soon.

What Features(More will be there with time. :) )
>ION Memory Allocator
>Smooooth and stable! ;)
>USB force fast charging script.

Downloads - Here
Source Code - ION Kernel 3.0.101

Credits -
> @Sachin Thomas
> @galaxyfreak
> @sakindia123
> @lirokoa
> @derefas
> @cute_prince

Have a good time! :)

XDA:DevDB Information
Cody Kernel, a Kernel for the HTC Pico (Explorer)

#Superuser, thewisenerd, xaak, dhrumangajjar, omerjerk
Kernel Special Features: Its an ION based Kernel :)

Version Information
Status: Stable
Current Stable Version: 1
Stable Release Date: 2014-01-11

Created 2014-01-11
Last Updated 2014-01-14
Dude can you please make OC version of this kernel for CM10.2 by SAK,I mean with ION Memory Allocator (If possible):)