FORUMS
Remove All Ads from XDA

[KERNEL] 2.6.32.61-nAa-jb-06 [6/7/2013] [NEW WIFI/USB] - Unified kernel+CWM Recovery

1,531 posts
Thanks Meter: 19,435
 
By nobodyAtall, Inactive Recognized Developer on 6th February 2013, 06:53 PM
Post Reply Email Thread

Before unlocking your bootloader, read this thread
If you brick your device, you are the sole responsible.



Preface:
  • Read through this post. Don't rush into flashing. Be sure you understand the process before you start or you risk damaging your device
  • This is a custom 2.6.32 kernel developed for Android Jellybean 4.x. However, as of nAa-06 Android gingerbread is also supported. This kernel only works for shakira, a.k.a. X8,W8
  • Do NOT try this kernel on other Android versions or phones - you are totally unsupported
  • This kernel uses a custom mtd partitioning with larger /system partition to hold the extra JB calories. If you are moving from another custom kernel, EXCEPT 2.6.29-nAa-jb to this one, you MUST first format /system /data and /cache via the embedded CWM recovery
  • If you want to flash another kernel after having flashed this one, you MUST first format /system /data and /cache via the embedded CWM recovery



Features:
  • Based on SEMC 2011 ICS sources, re-based on Linux kernel 2.6.32.61
  • Built with arm-eabi-4.4.3 toolchain
  • CWM-v6.0.2.8
  • Idiot-proof feature: will boot into recovery if an unsupported or no android version is found
  • Custom mtd partitioning scheme suitable for JB
  • Modular recovery flashing support
  • Much more RAM than stock for improved multitasking experience (shakira: 186MB, robyn/mimmi: 187MB)
  • Patched to latest 2.6.32.61 release
  • kgsl: SEMC 2011
  • ARM: many backported fixes and optimizations from CAF 3.x
  • Netfilter: many backported fixes and optimizations from CAF 3.x.
  • net/iptables: Fully working networking and iptables support. Fully working traffic control via data limits menu of JB
  • Backported tiny-rcu
  • Superior AHB overclocking - improved responsiveness and performance. 'Buttery-smooth' experience
  • improvements: memcpy, kmalloc, jhash, sha1, scheduler, optimized CRC32, LZO, vmalloc, pm_suspend
  • Two-way call recording
  • binder, lowmemorykiller fixes backported from CAF 3.x
  • WEXT tiwlan
  • pmem: backported from CAF 2.6.35
  • modular undervolting
  • tripple buffering support
  • Supported IO Schedulers: NOOP, BFQ, AS, DEADLINE, CFQ, VR, SIO
  • net: Stochastic Fair Blue scheduler
  • ZRAM + google snappy compression backported from CAF 3.x
  • ZCACHE backported from CAF 3.x
  • Cleancache backported from CAF 3.x
  • Kernel compression: LZO for best kernel booting times
  • Makefile: optimization flags
  • dcache: vfs_cache_pressure -> 25
  • Proportional Rate Reduction for TCP
  • fsync enable/disable toggle at: /sys/module/sync/parameters/fsync_enabled (enabled by default)
  • Many many more fixes and improvements available @ github


Defaults:
  • Scheduler: CFS
  • RCU: Tiny RCU
  • Memory Manager: SLQB
  • IO scheduler: Deadline
  • CPU governor: smartassV2
  • CPU_FREQ_MAX=604800
  • CPU_FREQ_MIN=245760

FAQ:
If you have any issues, please read the FAQ thread first: TODO

Requirements:
Install:
Uninstall:
  • Flash back to stock using SEUS

    OR
  • Format /system /data and /cache via CWM and THEN flash another kernel via Flashtool
    Any other way is completely unsupported, don't ask how to unbrick if you can't read the instructions

Notes:

Dualtouch (for synaptics):
By default dual touch is disabled for improved touch accuracy and avoidance of the 'ghost touch' side-effect.
  • If you want to enable the fake DT by andrej456, you have to insert the following line in the /system/etc/hw_config.sh file:
    Quote:

    echo "1" > /sys/module/synaptics_i2c_rmi4/parameters/cfg_dt

  • If you want to enable the fake DT by dx, you have to insert the following line in the /system/etc/hw_config.sh file:
    Quote:

    insmod /system/lib/modules/synaptics_i2c_rmi4_dt.ko

Dualtouch (for cypress):
Cypress supports dualtouch, so this is enabled by default

Sources:
  • The linux kernel is GPL'ed, everyone who does modifications should make them publicly available.
  • Making a kernel thread for posting a difference in the ramdisk or for a so-called 'improved governor / io scheduler' is legal, but plain stupid, disrespectful and wasteful
  • I accept patches any way possible. Basically I only read pms if they contain some suggestion or patch Credits go to the author obviously
https://github.com/nobodyAtall/msm7x27-2.6.32.x-nAa

Donate:
If you are enjoying my work please consider donating:
Donations are voluntary but allow me to spend more time on this project.



Disclaimer:
I can't be held responsible if this Kernel bricks your device or makes it explode in your hands! Use it at your own risk!
The Following 193 Users Say Thank You to nobodyAtall For This Useful Post: [ View ] Gift nobodyAtall Ad-Free
 
 
6th February 2013, 06:53 PM |#2  
nobodyAtall's Avatar
OP Inactive Recognized Developer
Flag Patras
Thanks Meter: 19,435
 
Donate to Me
More
Changelog:

nAa-06 (6/7/2013)
- Supported android versions: gingerbread, ICS (?) and JB
- Linux 2.6.32.61
- Various ramdisk improvements

nAa-05 (15/3/2013)
- new .32 usb drivers for ICS/JB mtp support
- built with linaro 4.7.3 toolchain
- bluetooth: new rfkill implementation
- Fixed msm_serial_hs_dma wakelock for mimmi
- cypress: fix touchscreen driver for shakira
- synaptics_rmi4: implement dt/nodt via module parameter (no more hijacking for no dt)
- new vibrator implementation - better feedback
- lz4 kernel + ramdisk compression - faster startup
- decompressor: Enable unaligned memory access for v6 and above
- enabled keychord
- ramdisk improvements for smaller ramdisk and faster booting
- mimmi: fixed keypad
- synaptics: disabled dt by default to avoid 'ghost touch' side-effect

nAa-04 (27/2/2012)
- Latest CWM-v6.0.2.8
- In-recovery charging
- Sideload flashing from CWM
- New wl12xx wifi drivers for improved performance and decreased power consumption
- SmartassH3 CPU Governor
- Built with arm-eabi-4.4.3 toolchain
- Significant ramdisk improvements - kernel won't stay on black screen on any bad flashing occassion - it will boot to recovery
- CONFIG_IP6_NF_IPTABLES
- CRT animation workaround for proper JB support

nAa-03 (16/2/2012)
- bootable with all CM-based android versions >=2.3
- built with linaro 4.7.3 toolchain
- offline charging
- kgsl 3.11 from CAF
- timed_gpio: backport from CAF
- android: persistent_ram/ram_console backport from CAF
- logger: backport from CAF
- genlock: backport from CAF
- sysfs VDD levels interface for configurable undervolting from userspace

nAa-02
- Based on SEMC 2011 ICS sources, re-based on Linux kernel 2.6.32.60
- Built with arm-eabi-4.4.3 toolchain
- CWM-Based Recovery 5.5.0.4
- Custom mtd partitioning scheme suitable for JB
- Modular recovery flashing support
- Much more RAM than stock for improved multitasking experience (shakira: 186MB, robyn/mimmi: 187MB)
- Patched to latest 2.6.32.60 release
- kgsl: SEMC 2011
- ARM: many backported fixes and optimizations from CAF 3.x
- Netfilter: many backported fixes and optimizations from CAF 3.x.
- net/iptables: Fully working networking and iptables support. Fully working traffic control via
- data limits menu of JB
- Backported tiny-rcu
- Superior AHB overclocking - improved responsiveness and performance. 'Buttery-smooth' experience
- improvements: memcpy, kmalloc, jhash, sha1, scheduler, optimized CRC32, LZO, vmalloc, pm_suspend
- Two-way call recording
- binder, lowmemorykiller fixes backported from CAF 3.x
- WEXT tiwlan
- pmem: backported from CAF 2.6.35
- modular undervolting
- tripple buffering support
- Supported IO Schedulers: NOOP, BFQ, AS, DEADLINE, CFQ, VR, SIO
- net: Stochastic Fair Blue scheduler
- ZRAM + google snappy compression backported from CAF 3.x
- ZCACHE backported from CAF 3.x
- Cleancache backported from CAF 3.x
- Kernel compression: LZO for best kernel booting times
- Makefile: optimization flags
- dcache: vfs_cache_pressure -> 25
- Proportional Rate Reduction for TCP
- fsync enable/disable toggle at: /sys/module/sync/parameters/fsync_enabled (enabled by default)
- Many many more fixes and improvements available @ github
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2013-02-06-18-15-16.png
Views:	452570
Size:	103.0 KB
ID:	1709103   Click image for larger version

Name:	Screenshot_2013-02-06-18-32-06.png
Views:	450130
Size:	31.6 KB
ID:	1709104  
The Following 101 Users Say Thank You to nobodyAtall For This Useful Post: [ View ] Gift nobodyAtall Ad-Free
6th February 2013, 06:54 PM |#3  
nobodyAtall's Avatar
OP Inactive Recognized Developer
Flag Patras
Thanks Meter: 19,435
 
Donate to Me
More
VDD levels

From 03 onwards, I've ported the vddlevels functionality from msm7x30 so that we can variably change the voltage level of the frequency we want without the need for external modules.
The current voltage information is available at:
Quote:

/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

E.g. the defaults after flashing the kernel should be:
Quote:

root@android:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
122880: 3
245760: 4
320000: 5
480000: 6
604800: 7
614400: 7
633600: 7
652800: 7
672000: 7
691200: 7
710400: 7
729600: 7
748800: 7
768000: 7
787200: 7
806400: 7
825600: 7
844800: 7
864000: 7

To change for example the voltage level of the 122880 frequency, you could do:

Quote:

echo '122880 0' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

If you cat this file again, you should see that the voltage level is picked up. The new voltage level is picked up when the CPU will scale to the particular frequency level.

The undervolting tickbox in the 'Performance Settings' of the latest MiniCM10 nightlies already uses the new interface. The values that are set there are the same ones as those passed by the old undervolting module:

Quote:

root@android:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
122880: 0
245760: 2
320000: 3
480000: 5
604800: 6
614400: 7
633600: 7
652800: 7
672000: 7
691200: 7
710400: 7
729600: 7
748800: 7
768000: 7
787200: 7
806400: 7
825600: 7
844800: 7
864000: 7

Do I need undervolting?
You dont NEED undervolting. It can save though hours of some battery life during the day.

Overvolting?
Even though the interface allows you to overvolt, I don't suggest doing so. It will result to instabilities or crashes and is totally unsupported.

Performance?
Undervolting decreases the performance results - this is to be expected.


Performance comparison vs .29 kernel
+20%-30%



Bugs confirmed:

- Bluetooth ADSP
The Following 66 Users Say Thank You to nobodyAtall For This Useful Post: [ View ] Gift nobodyAtall Ad-Free
6th February 2013, 07:13 PM |#4  
matmutant's Avatar
Recognized Contributor
Flag ~/
Thanks Meter: 4,730
 
Donate to Me
More
kernel boot preview :



and some charts to show you perf

i'll will explain a little more the charts later, but have not much time now...

some raw data first :

all has been done at 729MHz, on robyn, but these results are in the same idea for shakira (maybe a little lower?)

on RC .32 :
antutu :
fps2D:


just to have an overview of perf on .29 (reference), .32-alpha1 and .32-RC (that you can say it is the released kernel)


as you can see, .32-RC is about to be as good as .29 (if not better!) but alpha1 was not that efficient... some long work has been done in between
most of the work has been perform on IO optimising and 2D/3D that where extremely poor on the first .32 builds


__________________________________


now some other charts and explanations:
.32-RC is much more efficient on 2D/3D than .29 :

this chart shows the improvement on 3D mostly


__________________________________

on that second chart, the results are (.32 perf / .29 perf)*100 :
so these results are percentages compared to .29

noticeable points:
alpha was extremely poor on IO (45% of what did .29) and 3D (35% of the reference)
whereas .32-RC has higher 3D perf than .29 and so is more than 100% (133%)[/B] which is really cool and promising




many thanks to nAa for the great work done !!! and many thanks to D_d for that awesome kernel boot-animation !
The Following 27 Users Say Thank You to matmutant For This Useful Post: [ View ] Gift matmutant Ad-Free
6th February 2013, 07:14 PM |#5  
Heronger's Avatar
Senior Member
Flag Straelen
Thanks Meter: 405
 
More
Quote:
Originally Posted by tesztelem

Well, crap. Thanks for this, will try it anyway.

It's a bit laggy and does not recognize every swipe/scroll, but it works if you do it slowly.
The Following 3 Users Say Thank You to Heronger For This Useful Post: [ View ] Gift Heronger Ad-Free
tesztelem
6th February 2013, 07:19 PM |#6  
Guest
Thanks Meter: 0
 
More
Quote:
Originally Posted by Heronger

It's a bit laggy and does not recognize every swipe/scroll, but it works if you do it slowly.

Yeah, but I don't understand the difference. The hardware is the same except the screen technology, so why would the device lag? It seems odd to me.

Edit: It will work with all existing jb roms, right? (except for jbmini)
6th February 2013, 07:21 PM |#7  
F**king coolest release ever, nAa :thumbup:
The Following 16 Users Say Thank You to doixanh For This Useful Post: [ View ]
6th February 2013, 07:27 PM |#8  
eagleeyetom's Avatar
Developer Committee Lead / XDA Portal Team / Senior Moderator
Flag Gdańsk
Thanks Meter: 15,013
 
Donate to Me
More
nAa is the man
The Following 13 Users Say Thank You to eagleeyetom For This Useful Post: [ View ] Gift eagleeyetom Ad-Free
6th February 2013, 07:55 PM |#9  
Member
Flag Bielsko-Biała
Thanks Meter: 19
 
More
thanks nAa, you're great man! anyone test this on cypress?
The Following User Says Thank You to norbasenkos For This Useful Post: [ View ] Gift norbasenkos Ad-Free
6th February 2013, 07:58 PM |#10  
feherneoh's Avatar
Senior Member
Thanks Meter: 1,511
 
Donate to Me
More
Thumbs up
Thanks man, you keep these devices alive
The Following 3 Users Say Thank You to feherneoh For This Useful Post: [ View ] Gift feherneoh Ad-Free
6th February 2013, 08:13 PM |#11  
fotak-x's Avatar
Senior Member
Flag Varaždin /dev/null
Thanks Meter: 741
 
Donate to Me
More
f**k this s**t nAa you should be elite RD
what about 2.6.32 for gingerbread
The Following User Says Thank You to fotak-x For This Useful Post: [ View ] Gift fotak-x Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes