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

Search This thread

Top Liked Posts

  • There are no posts matching your filters.
  • 190

    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

    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
    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!
    99
    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
    65
    Hello community,

    I've decided to work on one more version of this kernel that will be supporting gb too.

    -- nAa
    64
    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:

    - Bluetooth ADSP
    51
    Hello community,

    nAa-06 is released today. The changelog list is short, but significant.

    2.6.32.61-nAa-06:
    - Supported android versions: gingerbread, ICS (not fully tested) and JB
    - Linux 2.6.32.61
    - Various ramdisk improvements

    For gingerbread, please flash it with MiniCM7-2.2.2 since some rom changes are also needed.

    Enjoy!

    -- nAa