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

Search This thread

nobodyAtall

Recognized Developer
Jan 16, 2008
1,583
19,555
Malaysia, Cheras

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 robyn, a.k.a. X10mini
  • 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

nAa.gif


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:
    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:
    insmod /system/lib/modules/synaptics_i2c_rmi4_dt.ko

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!
 
Last edited:

nobodyAtall

Recognized Developer
Jan 16, 2008
1,583
19,555
Malaysia, Cheras
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
 
Last edited:

nobodyAtall

Recognized Developer
Jan 16, 2008
1,583
19,555
Malaysia, Cheras
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:
/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

E.g. the defaults after flashing the kernel should be:
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:

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:

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%

attachment.php
attachment.php


Bugs confirmed:

- Cypress is not as smooth as with .29
- Bluetooth is not pairing sometimes
 
Last edited:

matmutant

Senior Member
Mar 17, 2011
3,395
4,743
~/
andrux-and-me.blogspot.com
Moto G
Moto E
kernel boot preview :
anim2_zpsbda5720b.gif



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 RC .32 :
antutu :
fps2D:​
BCctuElCIAA1AVd.png:large
BCcuQjMCEAETPNP.png:large
Screenshot_2013-02-04-18-53-42_zpse6d8ad6c.png


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

32vs29-rel_raw_chart_zps22ac5cb5.png

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
32vs29-rel_chart1_zps73452123.png


__________________________________

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 ;)

32vs29-rel_chart2_zpsdab58252.png



many thanks to nAa for the great work done !!! and many thanks to D_d for that awesome kernel boot-animation ! ;)
 
Last edited:

ruben21

Senior Member
Jan 18, 2012
766
165
cabimas
Re: [KERNEL] 2.6.32.60-nAa-jb-02 [6/2/2013] Custom JB kernel + CWM Recovery

Here we go!!! My big mini lol., sorry I'm only happy for this gift

Sent from my U10 using xda premium
 

ruben21

Senior Member
Jan 18, 2012
766
165
cabimas
Re: [KERNEL] 2.6.32.60-nAa-jb-02 [6/2/2013] Custom JB kernel + CWM Recovery

For a external rev, is see this 2 bugs is not for degrade is for help,

1., the lights don't work, is only in higher light and I can turn down is a minimal but I report it :D

2., the governors of cpu don't work is always on ondemand this is cause to consume to much the battery :(

3., mmm no for the moment :D

Sent from my E10i using xda premium
 

erfandl

Senior Member
Apr 20, 2010
252
59
thanks very much. Can you port 2.6.32.60 kernel for GB - Mini CM 7.1 - .2.2.1 ?
 

aZuZu

Inactive Recognized Developer
Jan 19, 2011
638
941
43
Zagreb
Seems like u ported 2.6.30 kernel can't wait to see 2.6.32 alpha for x10 mini
 
  • Like
Reactions: BPaul

tomny

Senior Member
Dec 4, 2010
71
14
Great job!! With this kernel the mini is clearly lagg-less!
About bug hunting - undervolt doesn't work - the phone freezes and reboots after choosing this option.
 

Lfmzd4

Member
Jul 25, 2012
23
5
I test....

[KERNEL] 2.6.32.60-nAa-jb-02
MiniCM10-4.0.2-20130207-NIGHTLY

bug:(
1.usb modem - crash.
2.portateble wi-fi hostport - crash.
3. undervolt cpu crash.

wishes:
1.item a " power off " in Recovery.
P.S Thank you for your work, I hope for a quick fix bugs.:good:
 

Top Liked Posts

  • There are no posts matching your filters.
  • 66

    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 robyn, a.k.a. X10mini
    • 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

    nAa.gif


    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:
      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:
      insmod /system/lib/modules/synaptics_i2c_rmi4_dt.ko

    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!
    32
    The new kernel version was made possible by my friend Marcel (@M66B) who was kind enough to donate and ship free of charge his X10 mini.
    Using this device, I was able to re-harnesh the debug port which made kernel development easier.

    Both I and the X10 mini community thank you very much Marcel ;)
    23
    Hi folks!

    Here's the changelog for nAa-04 of the kernel:

    - 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

    The new wifi drivers, product of a lot of digging and effort, should make the wifi perform as JB wifi should: i.e. instant association and turning on/off, AP mode without issues, etc, etc.

    You MUST use this kernel with the latest MiniCM10 nightly - no other ROM is supported.

    Cheers,
    nAa
    22
    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
    21
    Hi any remaining x10mini users!

    Here's the changelog for nAa-03:

    - 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

    Performance is improved, battery life is better. One kernel to rule them all :)
    Note that the fact that this kernel version is bootable for other ROMs besides MiniCM10 does not mean that they are supported by this kernel.
    There are ROM fixes that need to happen, thus, as usual I strongly suggest using this kernel with MiniCM10.

    Cheers,
    nAa.