[HTC Desire S] amidabuddha:
This is a kernel, build from the recently released saga-ics-crc-3.0.16-62a67df source.

Compatible with all ICS (Android 4) + Sense (3.6, 4A or 4) based ROMs

OFFICIAL MIUIv4 and Stock rooted ICS users can enjoy init.d scripts support with this kernel
​

Enjoy!​

BACK2BASICS EDITION​

FEATURES​

Interactive Aroma Installer

Completely Stock code, with only 2 additions by me:

Configurable sweep2wake.

Ported bcmdhd wireless driver from the HTC One V latest source code for better reception and no wakelocks. Still breaks WiFi tethering in ROMs based on Sense 3.6. Tethering works fine in Sense 4

Completely Stock ramdisk. The only changes are:

Unsecured boot.img (adb remount and USB debugging)

Busybox run-parts (init.d scripts) support

Some extra lines, required for the proper operation of the new WiFi driver

No OC, UV, optimizations or any other changes.

Compiled with the recommended by HTC toolchain 4.4.3

ISSUES​

For all with BLUETOOTH issues: use 4EXT Recovery

due to incompatibility with sweep2wake the native Sense screenshot function has to be disabled (on some ROMs Power+Volume Down is working- 10x to rzr09 for pointing it out). You will need to change the value of ro.htc.framework.screencapture = , located in /system/build.prop from true to falsemanually, using any root file explorer. To make it functional again (if you decide to disable s2w) just change back from false to true

NEW USERS: before flashing install/update BusyBox in /system/xbin (with some of the apps available in the Google Play - the one by Stericsson+Smart Install worked fine for me) and check for the existence of the busybox binary and run-parts symlink in the /system/xbin folder on your device. If there is no such files install/reinstall BusyBox until you have it.

OPTIONAL: If you do not have an /system/etc/init.d folder AND you want to use additional modules you should create it manually BEFORE flashing the kernel:

adb remount

adb shell

mkdir /system/etc/init.d

chmod 775 /system/etc/init.d
​

DOWNLOAD AND INSTALLATION​

Download: b2b_3-0-16.zip

md5sum: d5bd32bd12a0e1120b03f800eaf1beda

S-OFF users: flash in recovery, no wipe required. Follow the instructions

HTCDEV users: flash in recovery, no wipe required; follow the instructions, reboot straight to bootloader and flash the corresponding to your ROM boot.img (extract it from the zip) with th following commands:

adb reboot bootloader

fastboot erase boot

fastboot flash boot XXX_boot.img
​

IMPORTANT (HTCdev users): if you are using 4EXT Recovery Control for flashing make sure to select the "Stay in recovery after flashing" option!
​

Boot images are:

Sense4_boot.img - for all Sense4 based ROMs (Fallout, ProjectX, Cooldroid, Sabsa Prime, Desire XS, ViperSaga, others)

Custom_Sense36_boot.img - for ICE_DS, Stock ICS by masteross, or other custom Sense 3.6 ROM without lib partition

Stock_Sense36_boot.img - for Ice Cream Saga or clean RUU/PG88IMG (that keeps S-OFF and Recovery) install (rooted)

MIUIv4_boot.img - for any version of official MIUIv4

NOTES:

There is no boot.img for Virtuous Infinity since it cannot operate smooth with the Stock CPU settings

If sweep2wake takes screenshot upon screen off in this version you have to modify your build.prop manually (see above)

PATCHED KERNEL 3.0.89​

Due to controversial feedback on Tweaked kernel starting from version 5.0 I have decided to take a different approach.

Patched kernel unifies the concept of both Tweaked3 and B2B kernels.

So what does this mean?

The HTC source is taken as a base and is synced completely with the upstream (the official Android kernel 3.0) where applicable. Since it is patched only up to 3.0.72 the rest of the patches are taken directly from the Linux kernel upstream.

All is done from scratch and revising every single commit (it took me 4 days to complete this only). The result is absolutely clean merge (not as in Tweaked where I took the patches from other developers without actually knowing have they screw up something in the progress). During the patching I have discovered some misses or copy-paste from 3.4 upstream (which I consider for another generation devices and probably the changes from there are not completely suitable for our device). I have cleaned and synced with the 3.0 upstream all not-updated files that I discovered during the patching.
​

FEATURES​

The features of the kernel are the basic ones from Tweaked, but staying as close as possible to the Stock configuration (B2B concept):

Interactive Aroma Installer

Compiled with GCC 4.4.3 toolchain

Patched to Linux Kernel version 3.0.89

Synced with Android kernel 3.0 upstream

Overclockable to 1.5 GHz

Added VDD sysfs interface for userspace UV control

Stock Frequencies and Voltages

Default governor: INTERACTIVE @ 254 - 1024 MHz

Interactive governor updated from android 3.4 upstream

Default scheduler: DEADLINE

Configurable Sweep2Wake

Fixed WiFi tethering on Sense 4 based ROMs

Updated WiFi drvier from HTC One V source

Built-in CIFS support

Built-in TUN support

Built-in NTFS + NLS_UTF8 support

Optional WiFi calling

Two way call recording - both WAV and AMR

Enabled USB OTG HOST (big thanks to astro757 and engelmarkus)

Enabled SWAP support

ISSUES​

If your WiFi does not work upon install check this solution /10x to toxic-hero/

Sometimes the sweep2wake does not work instantly after deep sleep period. Just swipe once more to unlock the device or press the search button.

due to incompatibility with sweep2wake the native Sense screenshot function has to be disabled (on some ROMs Power+Volume Down is working- 10x to rzr09 for pointing it out). You will need to change the value of ro.htc.framework.screencapture = , located in /system/build.prop from true to false manually, using any root file explorer. To make it functional again (if you decide to disable s2w) just change back from false to true

For all with BLUETOOTH issues: use 4EXT Recovery

USEFUL INFORMATION, PLEASE READ​

Overclocking applications, reported to work:

If you are in doubt which governor and IO scheduler to use - there is a lot of useful info here (thanks to Tectas and the authors)

SetCPU

Voltage Control {settings not stick after reboot on Virtuous Infinity}

No-frills CPU Control {settings not stick after reboot on Virtuous Infinity}

Daemon Controller app + andrev_oc script

note1: there is virtuous_oc on Virtuous Infinity already, so you can use only the Daemon Controller app

note2: oc daemons are not supporting scheduler changing

undervolting can be done with a command from Terminal Emulator or adb shell:

echo -X > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
​

where X is the desired value (-25, -50, -75, -100, -125 or whatever you like). Unfortunately has to be repeated after every reboot since putting it in an init.d script is risky

Originally posted by engelmarkus

Hi,

I played around with the experimental branch of your kernel once more and today it works perfectly.

Keyboards, mice and USB storage devices work without any messing with the terminal. For almost-auto-mounting I used this app here: https://play.google.com/store/apps/d....shajul.usbotg

So I think you can very well enable this in your next kernel version so others can try this out, too.​

DOWNLOAD AND INSTALLATION​

Download: 3089.zip

md5sum: 921dda7817b33ee1b7730afca4c57e1c

S-OFF users: flash in recovery, no wipe required. Follow the instructions

HTCDEV users: flash in recovery, no wipe required; follow the instructions, reboot straight to bootloader and flash the corresponding to your ROM boot.img (extract it from the zip) with the following commands:

adb reboot bootloader

fastboot erase boot

fastboot flash boot XXX_boot.img
​

IMPORTANT (HTCdev users): if you are using 4EXT Recovery Control for flashing make sure to select the "Stay in recovery after flashing" option!
​

Boot images are:

Virtuous_boot.img - for any version of Virtuous Infinity

Sense4_boot.img - for other Sense4 based ROMs (Fallout, ProjectX, Cooldroid, Sabsa, Desire XS, ViperSaga, others)

Custom_Sense36_exp_boot.img - EXPERIMENTAL (New wireless driver, without issues in standby. Native WiFi tethering will be broken) - for ICE_DS, Blackout ICS, Stock ICS by masteross, or other custom Sense 3.6 ROM

Custom_Sense36_boot.img - STABLE (Old HTC wireless driver, may cause battery drain in stand-by. Working native WiFi tethering) - for ICE_DS, Blackout ICS, Stock ICS by masteross, or other custom Sense 3.6 ROM

Stock_Sense36_exp_boot.img - EXPERIMENTAL (New wireless driver, without issues in standby. Native WiFi tethering will be broken) - for Ice Cream Saga or clean RUU/PG88IMG (that keeps S-OFF and Recovery) install (rooted)

Stock_Sense36_boot.img - STABLE (Old HTC wireless driver, may cause battery drain in stand-by. Working native WiFi tethering) - for Ice Cream Saga or clean RUU/PG88IMG (that keeps S-OFF and Recovery) install (rooted)

MIUIv4_exp_boot.img - EXPERIMENTAL (New wireless driver, without issues in standby. Native WiFi tethering will be broken) - for any version of official MIUIv4

MIUIv4_boot.img - STABLE (Old HTC wireless driver, may cause battery drain in stand-by. Working native WiFi tethering) - for any version of official MIUIv4

Sense4_lib_boot.img - for recent versions of Desire XS or other Sense 4 ROM that is reodexed/with separate lib partition

If sweep2wake takes screenshot upon screen off in this version you have to modify your build.prop manually (see above)
​

TWEAKED3 VERSION XI DISCONTINUED - reference only​

FEATURES​

Interactive Aroma Installer

Patched to Linux Kernel version 3.0.56

Added ck1 patchset by Ziggy (thx to Coolexe) - aims towards better performance

Compiled with the latest stable Linaro GCC 4.7.3-2012.11 toolchain

Overclockable to 1.5 GHz

Added VDD sysfs interface (10x to lowveld) for userspace UV control

Stock Frequencies and Voltages

Tuned ONDEMAND and INTERACTIVE governors

Tuned DEADLINE and SIO schedulers

ONDEMAND @ 254 - 1024 MHz and DEADLINE set as default

Enabled TINY_PREEMPT_RCU

Some tweaks and optimizations for better performance

Configurable Sweep2Wake

Fixed WiFi tethering on Sense 4 based ROMs (10x to m0narx)

Updated WiFi driver from the latest HTC One V source

Enabled CIFS and TUN support

Enabled NTFS + NLS_UTF8 support

Enabled PPP_ASYNC and PPP_SYNC_TTY

Two way call recording - works in AMR and WAV (10x to Andromadus) format with CallRecorder app by skvalex

CHANGELOG​

16 Dec 2012: Tweaked3 XI:

Compiled with the latest stable Linaro GCC 4.7.3-2012.11 toolchain

Patched to Linux Kernel version 3.0.56

Upstream update of interactive governor change speed routine

Enabled TINY_PREEMPT_RCU - should give small-memory-footprint on uniprocessor systems (where all processing tasks share a single CPU)

23 Nov 2012: Tweaked3 10.0 (X):

Patched to Linux Kernel version 3.0.52

Removed all third party governors

Removed BFQ, VR and CFQ schedulers

Tweaked SIO for better performance on Android

All modules built-in, except the one for WiFi Calling (kineto-gan.ko - optional)

No more init.d scripts, except for sweep2wake

During installation a /system/etc/init.d folder will be created, with the right permissions on ROMs that do not have such

09 Nov 2012: Tweaked3 9.0:

Compiled with the latest Linaro Toolchain 4.7.3-2012.10

Patched to Linux Kernel version 3.0.51 (10x to oliverclaude)

Ondemand and Interactive governors synced to upstream (10x to Andromadus)

Scheduler improvements (10x to faux123)

16 Oct 2012: Tweaked3 8.6:

Patched to Linux Kernel version 3.0.46

Updated BFQ code to v5 (10x to Andromadus repo)

2WCR now makes recording in WAV format (10x to Andromadus repo)

BCMDHD wireless driver is updated to the latest HTC One V source - there are some changes related to the Country Codes, so please anyone that has such issues to try it without WiFi FIx app and report

Initialization of the wireless modules moved to ramdisk, no need of init.d script to run them anymore, so new users can skip that part and go straight to flashing!

10 Oct 2012: Tweaked3 8.5:

Patched to Linux Kernel 3.0.45

Added ck1 patchset by Ziggy (thx to Coolexe) - aims towards better performance

Removed ZRAM - it seems that the compression was the reason for the battery drain

Removed the script for changing the screencapture line in build prop from Aroma, hopefully this will solve the installation issues. You will have to change it manually if needed

01 Oct 2012: Tweaked3 8.0:

Aroma installer - one file for all. No need to do any preparations anymore (like changes of the updater-script, etc) The installer will gather the important information about your ROM and hboot and the flashing process will be done accordingly.

HTCDEV users: there are instructions in the first post which boot.img to flash. Important: if you are using 4EXT Recovery Control for flashing make sure to select the "Stay in recovery after flashing" option!

All governors are tuned up according to the CPU frequencies (should have done it long time ago, sorry for the delay). OndemandX (proved unstable) and Userspace (doubt that anyone even uses it) governors removed

CIFS, TUN, KINETO_GAN, NTFS+NLS_UTF8 and ZRAM moved to modules for optional install (the installer will give you a menu for selection, where the purpose of each module is explained)

Updated LZO compression/decompression method for ZRAM (it sould be at least twice faster now)

TREE_RCU and SLAB memory allocator set as default (as it was in the Stock kernel).

21 Sep 2012: Tweaked3 7.1:

Patched to Linux kernel version 3.0.43

Compiled with the latest stable Linaro GCC 4.7-2012.08 toolchain

Added VDD sysfs interface (10x to lowveld) for userspace UV control (comes with Stock Voltages by default)

Added BrazilianWax, InteractiveX and OndemandX governors

All modules except bcmdhd.ko are built-in in the kernel

Finally found the reason of the battery drain when the Screen is ON and hopefully fixed it. Now the battery life should be rock solid

Flashable zips should be fixed for good. They now will wipe dalvik-cache and cache during flash, no need to do it manually. Version 5.0 zips are backwards compatible (this means you can flash version 5 over version 7.1 without additional actions (deleting or moving files)

05 Sep 2012: Tweaked3 6.0:

Added bcmdhd WiFi driver and fix WiFi Tethering on Sense 4 ROMs (10x to m0narx)

Flashable zips are back!

Comes is two flavors - undervolted -100 and Stock voltages

02 Sep 2012: Tweaked 5.0:

Built with Linaro toolchain

Patched to Linux Kernel version 3.0.42

Reverted to Stock Voltages due to some users complaints

SLUB is the default memory allocator

Added tun.ko module (use 51-modules init.d script to load it)

Added cifs.ko module (use 51-modules init.d script to load it)

Enabled full capacity charge in non-OEM chargers (e.g. some car chargers)

Enabled NTFS + NLS_UTF8 support

Enabled PPP_ASYNC and PPP_SYNC_TTY

Enabled ZRAM - adds another 100 MB to your RAM as a SWAP partition (use 52-zram init.d script to load it)

Enabled USB-OTG (needs confirmation, since I do not have the necessary equipment) - not working

27 Aug 2012: Tweaked3 4.7:

Expanded frequency table - to give the CPU more steps until the highest frequency

Slight undervolting to save some battery life

Fixed backlight staying on when pressing only home button when s2w with backlights enabled (10x to scan6 for the heads up)

Default clock frequency is 1024 MHz for everyone that requested it

Enabled init.d support in the MIUIv4 version (now you can use the 50-sweep2wake script too)

Separate installation files and instructions for S-ON (hboot 2.00.0002) and S-OFF (hboot 0.98.2000, 2.00.2002, 7.xx) users

25 Aug 2012: Tweaked3 4.0:

Patched to Linux Kernel version 3.0.41

Added sweep2wake configuration: default Enabled with no backlight

Added lionheart, lulzactive, intellidemand, scary, lagfree, lazy and savagedzen governors

Added BFQ and VR schedulers

Added Snapdragon optimizations

23 Aug 2012: Tweaked3 3.0:

Added Lionheart and Smartass2 governors

Added Simple IO Scheduler

Enabled ARCH_POWER

Disable GENTLE_FAIR_SLEEPERS

22 Aug 2012: Tweaked3 2.0:

Patched to Linux Kernel version 3.0.30

Added support for MIUIv4 and Virtuous Infinity

Source code published @github

21 Aug 2012: Initial release

Based on the released by HTC saga-ics-crc-3.0.16-62a67df source

Added Sweep2wake functionalit

Overclocked to 1,5 GHz

ISSUES​

due to incompatibility with sweep2wake the native Sense screenshot function has to be disabled (on some ROMs Power+Volume Down is working- 10x to rzr09 for pointing it out). You will need to change the value of ro.htc.framework.screencapture = , located in /system/build.prop from true to falsemanually, using any root file explorer. To make it functional again (if you decide to disable s2w) just change back from false to true

For all with BLUETOOTH issues: use 4EXT Recovery

USEFUL INFORMATION, PLEASE READ​

Overclocking applications, reported to work:

If you are in doubt which governor and IO scheduler to use - there is a lot of useful info here (thanks to Tectas and the authors)

SetCPU

Voltage Control {settings not stick after reboot on Virtuous Infinity}

No-frills CPU Control {settings not stick after reboot on Virtuous Infinity}

Daemon Controller app + andrev_oc script

note1: there is virtuous_oc on Virtuous Infinity already, so you can use only the Daemon Controller app

note2: oc daemons are not supporting scheduler changing

undervolting can be done with a command from Terminal Emulator or adb shell:

echo -X > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
​

where X is the desired value (-25, -50, -75, -100, -125 or whatever you like). Unfortunately has to be repeated after every reboot since putting it in an init.d script is risky

DOWNLOAD AND INSTALLATION​

Download: Tweaked3_XI.zip

md5sum: e9bf1393d48c6f7e7e8697e34ac63e7a

S-OFF users: flash in recovery, no wipe required. Follow the instructions

HTCDEV users: flash in recovery, no wipe required; follow the instructions, reboot straight to bootloader and flash the corresponding to your ROM boot.img (extract it from the zip) with the following commands:

adb reboot bootloader

fastboot erase boot

fastboot flash boot XXX_boot.img
​

IMPORTANT (HTCdev users): if you are using 4EXT Recovery Control for flashing make sure to select the "Stay in recovery after flashing" option!
​

Boot images are:

Virtuous_boot.img - for any version of Virtuous Infinity

Sense4_boot.img - for other Sense4 based ROMs (Fallout, ProjectX, Cooldroid, Sabsa, Desire XS, ViperSaga, others)

Custom_Sense36_exp_boot.img - EXPERIMENTAL (New wireless driver, without issues in standby. Native WiFi tethering will be broken) - for ICE_DS, Blackout ICS, Stock ICS by masteross, or other custom Sense 3.6 ROM

Custom_Sense36_boot.img - STABLE (Old HTC wireless driver, may cause battery drain in stand-by. Working native WiFi tethering) - for ICE_DS, Blackout ICS, Stock ICS by masteross, or other custom Sense 3.6 ROM

Stock_Sense36_exp_boot.img - EXPERIMENTAL (New wireless driver, without issues in standby. Native WiFi tethering will be broken) - for Ice Cream Saga or clean RUU/PG88IMG (that keeps S-OFF and Recovery) install (rooted)

Stock_Sense36_boot.img - STABLE (Old HTC wireless driver, may cause battery drain in stand-by. Working native WiFi tethering) - for Ice Cream Saga or clean RUU/PG88IMG (that keeps S-OFF and Recovery) install (rooted)

MIUIv4_exp_boot.img - EXPERIMENTAL (New wireless driver, without issues in standby. Native WiFi tethering will be broken) - for any version of official MIUIv4

MIUIv4_boot.img - STABLE (Old HTC wireless driver, may cause battery drain in stand-by. Working native WiFi tethering) - for any version of official MIUIv4

If sweep2wake takes screenshot upon screen off in this version you have to modify your build.prop manually (see above)
​

Stock Sense GingerBread sweep2wake kernel​

​

MIRROR @ DEV-HOST /all versions/:​

​

SOURCE CODE

​

Tweaked3 - experimenal branch

B2B - stable branch

Patched - linux branch​

​

CREDITS​

HTC for the source code

BIG thanks to m0narx for the WiFi Tethering fix!

showp1984 and his source for atmel touchscreen devices

mdeejay for some of the linux version patches

AdiPat for his repo

Coolexe for his repo

cjoliver for the sweep2wake switch and the recent upstream patches

crking for the sweep2wake init.d script

lowveld for his all great projects for HTC Desire S and the VDD sysfs

Ziggy for the ck1 patchset

Team Andromadus for their repo

astro757 and engelmarkus for the USB OTG HOST

All the great kernel developers @Xda For their great work
​

Thanks for testing and corrections:

rzr09

dr.higgins

dont know

signfinder/dalexx

dmatik

TatoValverde

toxic-hero
​

Thanks for donating. Much appreciated:

dont know

TatoValverde

petjoh
​

XDA:DevDB Information

B2B |&| Patched, Kernel for the HTC Desire S

Contributors

amidabuddha

Source Code: https://github.com/amidabuddha/saga-ics-crc-3.0.16

Kernel Special Features:

Version Information

Status: No Longer Updated

Current Stable Version: BACK2BASICS EDITION

Stable Release Date: 2012-08-21

Current Beta Version: PATCHED KERNEL 3.0.8

Beta Release Date: 2013-08-06

Created 2015-02-24

Last Updated 2015-02-24