[KERNEL][stable: M1 ( - exp: Alpha 31 (3.1.10)] Kowalski Kernel

2,140 posts
Thanks Meter: 23,027
By pengus77, Recognized Developer on 13th January 2013, 06:57 PM
Post Reply Email Thread
This kernel supports both new and old bootloader and apparently it's also the favorite kernel of the MIUI team (****ing thieves...) !

This is not a "phonsole" kernel, it's not made for draining your battery in a nanosecond because "it's cool to play tegra3 designed games on the p990", so there is overclock, but done "The Right Way™".
Our phone is quite powerful on its own, but LG and Nvidia made a really crappy job on optimizing it. I'm just working to make it a bit better and to provide a reliable, stable and battery friendly kernel to all those people who actually use a phone... as a phone...

There are experimental/unstable versions that i release every now and then for public testing. Official kernels are released when the beta testing phase is done and 100% of the feedback is positive. Don't ask for ETA or you'll be fish slapped... badly !. This of course is not valid in case a nasty bug slips in the release, in which case i'll do my best to fix it within a few hours.


* Compiled in release mode (all debug stripped)
* Battery friendly, performance aware
* 3G modem runtime/suspend idle mode support
* Enhanced wifi power management
* Runtime wifi power management control via sysfs
* Bluetooth deep sleep without disconnections
* OC up to 1.2 GHz on stable releases and up to 1.5 GHz on experimentals
* Dynamic FSync by Faux123, backported from Linux 3.4
* 32M ramhack on the new bootloader, 24M on the old one (for now)
* ROW scheduler by Qualcomm, backported from Linux 3.4
* BFQv5 scheduler, backported from Linux 3.4
* Dynamic Interactive governor, backported from Linux 3.2
* Interactive governor aligned with Google's upstream sources (Linux 3.4)
* Simplified cpu hotplug, the second core will turn off in deep sleep mode
* Single/Dual core mode
* Support for notification lights on compatible roms
* Proportional Rate Reduction for TCP to increase network reliability
* Westwood TCP congestion algorithm enabled by default
* Support for NTFS (read only) and HFS+ filesystems
* Support for NFS 3/4
* Support for custom leds brightness from userspace
* Support for USB fast charge [ Don't keep it active when connected to a pc or it may damage your usb ports. It's meant for fast charging when using car/plane adapters for example ]
* And loads more...
* Comes bundled with Kowalski Manager by wfd

Q & A

Q: Battery !!! Why it's so baaaad ! My phone doesn't sleep !!!
A: Well, don't get it badly, it's not really my problem, is it ? 99.999% is an app you have installed that's preventing deep sleep...

Q: App X crashes ! OMG I lost my sdcard ! Noooo all my data are gone !!!
A: Read again on top, not my fault, sorry. I try my best to give out a stable kernel, but "**** happens" and i can't control it...

Q: I get tons of bsods, my phone doesn't wake up from sleep, it freezes and omg... it just exploded !!!
A: No dmesg / logcat, no party. And please don't post messages like those in the thread if you're not ready to attach a log to the post.

Q: When will you enable gpu overclock, road runner speed mode or wile e. coyote immortality ?
A: Never... on a second thought... maybe... who knows ? :P

Q: When will you release the new version ? It's a week we're using the old one !!
A: Is it stable ? Then please allow me to fish slap you with a huge trout !


All downloads for Kowalski Kernel are in this folder on DevHost.

Updates will be pushed to those folders based on the kernel version, and a change log will be filled in the next post accordingly. Kernel releases will be announced in the thread.

The downloads labeled as "kowalski-*-XXX-YYYbl" are obviously the kernels for [YYY=old || YYY=new] bootloader and XXX represents the version number.

* In Kowalski Manager on kernel you can change the power management settings of the wireless card:

- PSP Power Saving Mode ---> your wifi card will use Max PSP when asleep. The kernel default is to sleep in Fast PSP mode.
- Awake Power Management ---> your wifi card will use Fast PSP when awake if enabled, otherwise will use CAM mode.
- Hotspot Power Management ---> when enabling hotspot mode, your wifi card will use Fast PSP if enabled, otherwise the default is to use CAM mode.
CAM (Constantly Awake Mode)
Keeps the client adapter powered up continuously so there is little lag in message response time.
Consumes the most power but offers the highest throughput. Is recommended for desktop computers and devices that use AC power.

Fast PSP (Power Save Mode)
Switches between PSP mode and CAM mode, depending on network traffic. This mode switches to CAM when retrieving a large number of packets and switches back to PSP after the packets have been retrieved.
Is recommended when power consumption is a concern but you need greater throughput than that allowed by Max PSP.

Max PSP (Max Power Savings)
Causes the access point to buffer incoming messages for the client adapter, which wakes up periodically and polls the access point to see if any buffered messages are waiting for it. The adapter can request each message and then go back to sleep.
Conserves the most power but offers the lowest throughput. Is recommended for devices for which power consumption is the ultimate concern (such as small battery-powered devices).
Source will be pushed to my github about 2 or 3 days after a release, to make sure that no major bugs are introduced in the public repository.

This kernel can be compiled with any gcc 4.6.X that supports graphite loop optimizations, so if you want to compile it by yourself you'll have either to build your own toolchain (for example using crosstool-ng), or use one of the many linux prebuilt ones (for example Linaro or CodeSourcery). Make sure they're 4.6.X. Earlier versions may complain a lot and generate and unstable kernel. Newer versions (aka 4.7+ won't produce a bootable kernel at all unless source modifications are done).

Please don't rip-off my work. Please don't kang this kernel. Please don't c&p from my github without proper credit. I'm a nice guy, but i will report you.


* wkpark for unlocking the ics bootloader and his genius ideas for implementing ramhack
* linus, well, for the linux kernel
* massimo69, stonebear, tetsuo55, wfd and carloit for taking the risks of testing possibly harmful pre-releases
* qualcomm, because codeaurora is awesome !
* benee, for his perfect any-kernel installer !
* wfd, for his fantastic Kowalski Manager App !
* hjunii for forward porting and cleaning up all the LG crap to kernel 3.1.10 !

On a side note... i'm not really responsible if you decide to test it and your phone melts... right ?

The Following 621 Users Say Thank You to pengus77 For This Useful Post: [ View ]
13th January 2013, 06:57 PM |#2  
pengus77's Avatar
OP Recognized Developer
Penguins' Republic of Antarctica
Thanks Meter: 23,027
Donate to Me
Change Log and How-Tos
Change Log
100p5 - 2013/03/03
* Fix derp in voltage table
100p4 - 2013/03/02
* OC to 1.2GHz max
* Re-introduced the ability to modify the voltage table
* Global kmsg cleanup. Removed tons of useless/annoying debug messages
* OC code refactor and fixes. Thanks to Tonyp for finding the AP20 tech docs
* Fixed max suspend frequency race condition
* Disabled async compaction in the new lmk. Really not playing nice with the 3.4 code
* tspdrv (vibrator) code cleanup and fixes. Hopefully no more "dildo bug"
* Lots of 3G modem related fixes and introduction of the idle mode during runtime and suspend
100p3 - 2013/02/19
* Fixed Dynamic Fsync code and added reboot/shutdown forced flushing of buffers
* Added Max CPU Frequency when screen is off
* Fixed wifi suspend issues
100p2 - 2013/02/16
* Disabled OC for releases
* 1st attempt to fix wifi hang upon resume
* Probable fix for excessive wifi drain when ap is out of range
* Support for Faux123 Dynamic Fsync
100p1 - 2013/02/13
* Fixed USB Mass Storage freezes
* Fixed audio input not working on some phones
100 - 2013/02/12
* Added OC possibility (thanks to wkpark for the initial patch and to civato for pushing it to github)
* Tweaked the voltage values and enabled a bit of 2d OC
* Fixed the slow charge bug on the old bootloader
* Aligned USB Fast Charge code between old and new bootloaders
* Enabled EMC scaling aligned with the cpu speed
* Enabled RTC (Real Time Clock) support for the battery monitor
* Added fsync control from sysfs
* Added async memory compaction to the lmk
* Locked min cpu speed when using camera (snappy !)
* Tweaked a bit the interactive governor presets
* CPUs unaligned access
* Various patches to the lmk
* Various fixes to the voltage regulator
* Tons of patches to the android binder
* Tons of patches to the linux memory management
* Tons of patches to ext4
* Tons of patches to the mmc host
011p4 - 2013/02/03 - Bugfixes and some goodies
* Backported OnDemand governor from kernel 3.2
* Added Boost Pulse support in the kernel for Interactive and OnDemand governors
* Added tegra.power.so blob to the installer
* Optimized CFQ and BFQ schedulers
* Fixed shutdown crash
* Fixed USB fast charge on the old bootloader
* Updated Kowalski Manager to the latest version
011p3 - 2013/01/28 - Bugfixes Release
* Fixed wifi parameters persistency
* Fixed USB fast charge on the old bootloader
* Reverted "disable aio" commit that was causing lousy sdcard r/w speeds and some lag
* Updated Kowalski Manager to the latest version (with icon !)
* Tweaked the LMK values a bit
011 - 2013/01/26
*Added USB Fast Charge mode
*Net: Various ipv4 related fixes from kernel 3.4
*Wifi: Lowered default dBm of the wifi card to 19dBm (<3 my health)
*Wifi: Raised scan time for wifi from 3s to 8s (<3 my battery)
*Wifi: fixed compatibility between 10, 10.1 and ICS
*Wifi: fixed battery drain
*Wifi: removed background scan (let Combo Scan do the job)
*Row: Multiple patches from 3.4
*Row: Implemented urgent requests (speedy gonzales style)
*Disabled LG FOTA crap in muic (and hopefully autofix some bugs)
*Disabled android compaction process (let's have the new awesome lmk do the job)
*Modified kernel entropy generation (the new black apparently)
*input: monotonic input events (fasteeeer, i said faaaaaaaster)
*increased slightly timers ticks/second (oh, this is going to be felt a lot)
*gpio timers from kernel 3.8
*android logger from kernel 3.8
*prepared makefiles for gcc 4.7.X (the next step)
010 - 2013/01/19
*Added the possibility to change leds brightness from userspace (sysfs)
*Simplified kernel flags, removed useless bloat, smaller kernel
*Backported the lowmemorykiller from kernel 3.4
*Unified wifi driver for compatibility with cm10, cm10.1 and ics
*Disabled the cpu boost when connecting usb (badly done by nvidia)
*Compiled Zram as a module, installed a init.d script to enable it
*Moved from lzo to google's snappy as compression for zram
*Fixed a couple of regressions from nvidia kernel 2.6.32 linked to bsods when suspending/resuming
*Switched to Interactive as default governor. Seems snappier for now with the latest version
*Enabled low level kernel tegra irq timers
*Added all the TCP Congestion Algorithms available in the kernel
*Backported from kernel 3.4 the latest patches for
  • - ROW I/O Scheduler
  • - Interactive Governor
*Backported from kernel 3.4 the BFQv5 I/O Scheduler
*Tons of patches from upstream related to
  • TCP Networking
  • ARM suspend/resume and smp routines
  • USB memory corruption and possible lockups
  • Kernel Timers
009p1 - 2013/01/13
* Disabled tegra cpu frequency locking
* Added a small cpu boost when usb cable is inserted [ may prevent bsods ]
* Added one more wifi interface to sysfs [ wake_pm (bool) to set PM_FAST/PM_OFF when screen on ]
* Re-enabled the conservative governor
* Updated toolchain to a more optimized one
* Compiled with "graphite" flags for a bit more kick
* Fixed the LMK so it doesn't kill kernel threads
007 - 2013/01/13
* Full changelog that lead to this release in my CM10 thread at the second post

Change the default TCP Congestion Algorithm

To see what algorithms are available you can, in a terminal/adb console, type: "sysctl net.ipv4.tcp_available_congestion_control"
To change the default congestion algorithm, type: "sysctl -w net.ipv4.tcp_congestion_control=one_of_the_names_t hat_came_out_before"
Change the Wifi Power Management modes

In a terminal/adb shell navigate to /sys/kernel/wifi_pm.

You can change the high power management setting by typing: "echo 1 > max_pm" to enable it, or "echo 0 > max_pm" to disable it (cam / psp modes).
This setting will enable/disable the PSP power saving mode when the phone is asleep. Be careful, not all the routers are happy with it.

You can change the awake (screen on) power management setting by typing: "echo 1 > wake_pm" to enable it, or "echo 0 > wake_pm" to disable it (off / cam modes)
Change the leds brightness

In a terminal/adb shell navigate to /sys/class/leds/star_led.

You can change the high value setting by typing: "echo XXX > max_brightness" to modify it, where XXX can be a value between 0 (off) and 255 (max).
Change WiFi TxPower

Interestingly enough, Broadcom/LG decided that they want us all dead in a very short time so they set the default txpower of the wifi chip to 32dBm (that's a whopping 1.6 Watts in power). Considering that the US FCC sets a top limit of 30dbM/1W for antennae and that the EU sets a max power of 20dBm/100mW for consumer products, i'd say that Broadcom and LG are quite some nice companies... also wonder how they went past controls with this one...

Anyway, i packed a flashable zip that will install the "iwconfig" and "iwlist" binaries to /system/xbin in your phone. After flashing this one you can, from a terminal, modify the txpower value in real-time depending on your needs (if at home 5 mts from the router, or in a park 100 mts from the access point). For now a binary, soon an apk to handle this, so bear with me and wait

You can download the package from here

To check the current txpower value
iwconfig wlan0
To set the new txpower value
iwconfig wlan0 txpower XX (where XX is the value in dBm)
On this link you can find a W -> dBm conversion table that might come in handy

Side notes: 1) To use iwconfig your wifi must be on and 2) When you turn it off/on or reboot, the setting will be reset to 32dBm for now.
Alsa Mixer

There ya go, for all of you a little deaf that love some real crackling from your phone's speakers
Packaged in a nice cwm flashable zip (alsa_mixer.zip) that you can find here is a collection of binaries that will be installed in /system/xbin and that will allow you to alter a bit the volumes of your phone. Of course you'll have to slap the values that you like in an init.d script once you find them, or they won't persist on reboot.
For example, to boost a bit the speaker volume, you can type: alsa_amixer sset "Speaker" "60" (max is 63) and to see the current setting you type: alsa_amixer sget "Speaker"
I suggest that you look into the alsa_amixer help and experiment a bit with the values. You can't break anything, and a reboot will reset all the values to default
The Following 251 Users Say Thank You to pengus77 For This Useful Post: [ View ]
13th January 2013, 06:58 PM |#3  
pengus77's Avatar
OP Recognized Developer
Penguins' Republic of Antarctica
Thanks Meter: 23,027
Donate to Me
Plans and Wishlist
What I'm working on

* Double tap to wake


* OTG Support

What will make it into the next kernel release

* Surprise
The Following 239 Users Say Thank You to pengus77 For This Useful Post: [ View ]
13th January 2013, 06:59 PM |#4  
wfd's Avatar
Senior Member
Flag Togliatti
Thanks Meter: 723
Kowalski manager

This app is only for use with [email protected] kernel, tested on CM10, CM10.1, ICS


* PSP power saving mode enable/disable
* Hotspot power management enable/disable
* High power management enable/disable
* TX Power level regulation
* Softbuttons leds brighness regulation
* Internal/external sdcard read ahead values change
* USB fast charge enable/disable
* Restore all setting after boot


Please, tell me

Change Log

020 - 2013/06/10
*Added 2nd core auto hot plug switch
*Fixed couple of bugs
*Updated Dutch translation

019 - 2013/06/02
*Show light sensor value on brightness tab

018 - 2013/05/28
*Added switch to sound tab for on/off restore sound settings after call
*Added radio buttons to switch MultiCore Sched PM modes
*Added possibility to set brightness settings as custom defaults and reset to them
*Added Backlight settings tab

017 - 2013/03/19
*Added single core mode switch

016 - 2013/03/06
*Added dynamic fsync switch
*Added call hangup receiver to set alsa speaker volume to manager settings

015 - 2013/02/18
*Added headphone volume setting via alsa_amixer
*Added alert on fast charge switch. Thanks Tony

014 - 2013/02/15
*Added speaker volume setting via alsa_amixer
*Added Portuguese translation, thanks to chevellemendes!

012 - 2013/02/12
*App redesigned to support pager tabs

011p8 - 2013/02/08
*Added Dutch translation, thanks to majoortje!
*Updated Spanish translation, thanks to sobaquete!

011p6 - 2013/02/04
*Added Czech translation, thanks to Keltek!
*Added Finnish translation, thanks to _kankea!

011p5 - 2013/02/03
*Added Danish translation, thanks to Custom40!
*Added Franch, Italian, Serbian translations, thanks to Massimo69!
*Fixed rotation issue
*Removed iwconfig dependency
*Added Spanish translation, thanks to Massimo69!
*Added Polish translation, thanks to Rayman96!

011 - 2013/01/28
Compatible with Kowalski Kernel only since 011p3!!!
*Added Croatian translation, thanks massimo69!
*Added wake_pm enable/disable
*Changed paths for wifi power management setup
*Fixed a lot of potential freezes
*Added blue icon from 60nine!
*Added German translation, thanks TonyP!
*Now works on 4.0.4


Application already included in Kowalski kernel since 011


* pengus77 for his amazing kernel and second life for our device
* aremcee, without him we would not have CM10.x at all
* all wonderfull devs, who makes us happy with our p990

Big thanks to our translators

German - TonyP
Croatian, Spanish, Franch, Italian, Serbian - Massimo69
Danish - Custom40
Polish - Rayman96
Czech - Keltek
Finnish - _kankea
Portuguese - chevellemendes
Russian - me

If you have some corrections, please pm authors. If you want to add your native language in app, please pm me.
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2013-01-26-14-54-28.jpg
Views:	24841
Size:	25.0 KB
ID:	1678297  
Attached Files
File Type: apk KowalskiManager020release.apk - [Click for QR Code] (217.0 KB, 5095 views)
The Following 183 Users Say Thank You to wfd For This Useful Post: [ View ] Gift wfd Ad-Free
13th January 2013, 06:59 PM |#5  
tonyp's Avatar
Inactive Recognized Developer
Thanks Meter: 34,986
Donate to Me
The Following 43 Users Say Thank You to tonyp For This Useful Post: [ View ] Gift tonyp Ad-Free
13th January 2013, 07:00 PM |#6  
stonebear's Avatar
Senior Member
Thanks Meter: 565
Cool! You have done some great work already and it's fantastic that there is more to come.
The Following User Says Thank You to stonebear For This Useful Post: [ View ] Gift stonebear Ad-Free
13th January 2013, 07:06 PM |#7  
Senior Member
Thanks Meter: 75
thanks for your hard work!

1 question: what about cm10.1 compatibility?
13th January 2013, 07:10 PM |#8  
stonebear's Avatar
Senior Member
Thanks Meter: 565
Originally Posted by Luk_Optimus

thanks for your hard work!

1 question: what about cm10.1 compatibility?

The Following User Says Thank You to stonebear For This Useful Post: [ View ] Gift stonebear Ad-Free
13th January 2013, 07:16 PM |#9  
pengus77's Avatar
OP Recognized Developer
Penguins' Republic of Antarctica
Thanks Meter: 23,027
Donate to Me
Originally Posted by Luk_Optimus

thanks for your hard work!

1 question: what about cm10.1 compatibility?

Read the first line in the first post please... it's even in bold...
The Following 16 Users Say Thank You to pengus77 For This Useful Post: [ View ]
13th January 2013, 07:17 PM |#10  
Senior Member
Thanks Meter: 75
Originally Posted by stonebear


so not compatible to the official cm releases. that's sad somehow...
13th January 2013, 07:23 PM |#11  
pengus77's Avatar
OP Recognized Developer
Penguins' Republic of Antarctica
Thanks Meter: 23,027
Donate to Me
Originally Posted by Luk_Optimus

so not compatible to the official cm releases. thats sad somehow...

"Official" cm releases are so filled with bugs that we should call an exterminator lol
First let's try to get a 10 stable, then we move to 10.1... that's the plan and i won't deviate that soon from it.
The Following 11 Users Say Thank You to pengus77 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

beware ! wild penguins, fish slapping takes place here, ics - cm10 - cm10.1, jelly bean, kernel, no polar bears - killer whales or sharks allowed, nvidia sucks - lg sucks more

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

Advanced Search
Display Modes