Remove All Ads from XDA

[KERNEL] [GPL] [4.3/4.4] [8th June] Oxydo -V18

4,431 posts
Thanks Meter: 3,013
Post Reply Email Thread
Presenting Oxydo kernel for the Nexus 7 Grouper and Tilapia

1. Features

Nothing here. Move along to post #2. See the changelog.[/LIST]

2. Instructions
Flash in recovery. You know how to.

3. Warning and disclaimer
The usual. I am not responsible for any harm caused to your tablet by this kernel. You decide whether you want to flash this or not and therefore you face the consequences. But don't worry. This has been tested and the results were pretty good.

Notes are available in changelog.
1) For modules ZIPs, extract and insmod manually.
2) The last one is usually for the latest version of Android.


6. Credits
In no specific order
  • franciscofranco
  • flar2
  • Mahdi-786
  • Metallice
  • spasrksco
  • _motley
  • ashik992
  • faux123
  • show-p1984
  • intersectRaven
  • davidmore
  • poondog
  • Tasssadar
  • redeyedjedi
  • dexviajiboy
  • Everyone else whose patches I may have used directly or indirectly
  • Google and Android
  • Supporters and testers and well-wishers and haters and random people.
  • Allah Almighty
The Following 124 Users Say Thank You to sgt. meow For This Useful Post: [ View ] Gift sgt. meow Ad-Free
22nd July 2013, 06:55 AM |#2  
sgt. meow's Avatar
OP Senior Member
Flag Dhaka
Thanks Meter: 3,013
7. Changelog
  • V1 (XX)
    • Initial release
    • Linux 3.2.46
    • Franco's hotplug
    • Various small changes

  • V2 (XX)
    • JRCU
    • Scaling bug fixed. Goes as far as 102MHz now.
    • Slight (pointless, but fun) increase in RAM (about 0.5MB), as logger is compiled as module.
    • Included hso.ko and ppp_async.ko modules on user demand. ( @xDeadaheaDx )
    • Included Lazy CPU governor and ZEN I/O scheduler on user demand. ( @ckisgen )
    • Updated to Linux 3.2.47

  • V3 (XX)
    • Merged changes required for 4.3.
    • Updated to Linux 3.2.49.
    • Fixed ADB issues that persisted on stock kernel.
    • No longer build the modules because I think unsigned modules loading is messed up now. Have to check.

  • V4 (XX)
    • Ramdisk from M-KERNEL. Fixes all issues.
    • New method for enabling/disabling logger (more info in 3rd post).

  • V5 (XX)
    • Sysfs interface to control min/max backlight. Highly experimental. Referenced M-KERNEL. Check post #3.

  • V6 (XX)
    • Backlight control still isn't fixed. Going to try something else now.
    • sweep2wake and doubletap2wake in experimental versions. Check post #3.

  • V7 (XX)
    • New code for min/max backlight and brightness. Check post #3
    • sweep2wake and doubletap2wake given newer life thanks to flar2.
    • Reverted to 446MHz GPU OC.

  • V8 (XX)
    • Added shortsweep option.
    • Enabled AUDIT to fix SELinux issues.
    • Added a table in /sys/devices/system/cpu/cpu0/cpufreq (gpuc_UV_mV_table) that shows the clock speed and voltage applied to GPU. Intended for it to be rw but it cannot be saved for some reason.
    • Updated ASIX drivers to USB 3.0.
    • hso and ppp_async as modules.
    • CIFS (optional) available as module.
    • Enabled KSM.

  • V9 (XX)
    • Decreased s2w timeout to allow more time for valid swipes.
    • Fix s2s in portrait mode.
    • Fix mounts in the ramdisk. They are as hey should be now.
    • Added USB DAC patches (please try this and lemme know whether this works)
    • Added USB host mode patch.
    • May be more changes but I'm too tired right now.

  • V10 (XX)
    • Dynamic Fsync. Credits - faux123.
    • Reverted the USB hostmode patches that broke OTG.
    • smartassv2 governor as a module. Credits - Ricardo Gomez.
    • Changed dithering mode to fix gradients.
    • Another attempt at USB DACs. Please test it.
    • 700MHz GPU OC as default. Set it to boot at 446MHz if you want to (will stick properly). Certain freqs that are not listed as steps in the DVFS will not stick.

  • V11 (XX)
    • 600MHz GPU OC as default. Scales properly now. Don't increase in TricksterMOD (doesn't stick between boots; supposed to be that way because 600+MHz causes screen turds). Decreasing works.

  • V11-446 (XX)
    • V11 with 446MHz GPU default. Should reduce FCs.

  • V12 (11th October, 2013)
    • Switched to 484MHz GPU OC.
    • Switched to SLAB on user request.
    • Introduced wake_locks to help with wake functions.
    • Introduced sysfs parameter to control area of screen that can be used to complete s2s.

  • V13 (8th November, 2013)
    • Now has s2w and s2s portrait mode area parameters exposed to sysfs.
    • PPP and hso now built inline
    • smartass2 tunables exposed to sys/devices/system/cpu/cpu0/smartass2. Takes ages and at least ten Terminal Windows to configure.
    • Uses zImage, so compatible with every 4.3+ ROM for now. Even 4.4.
    • cifs.ko module already in ZIP file so bye-bye

  • V14 (27th November, 2013)
    • Now s2w and s2s trigger area are in sysfs (properly; no modular interface now).
    • logger enabled by default.
    • Use UKSM
    • GPU OC till 750 supported (may be unsupported in some devices; but it works).
    • OTF scaling included.
    • t3_variant info in debugfs.
    • Include smartmax governor from maxwen. Really good.
    • Updated to 4.4 source.

  • V15 (16th December, 2013)
    • All s2s trigger area functions are in android_touch (even landscape ones)
    • USB hostmode patches added. Check FAQ
    • USB DAC patches added but I dunno if this works
    • logger has been allocated even less RAM. Some of it is there just so you can debug crap.
    • audit debug is disabled.
    • interactive governor updated from Francisco Franco's repo.
    • smartmax is now the default governor.
    • Updated to 4.4.1 (??) source. I don't really remember.
    • Updated all the way to Linux 3.2.53 (the last in the 3.2.y series). First ever grouper kernel to do so. There are some nasty reverts though.

  • V15 SELinux=disabled (19th December, 2013)
    • SELinux disabled. Hopefully fixes fragmentation issues over Kit Kat ROM. Just a temporary fix for now.
  • V16 (2nd February, 2014)
    • Linux 3.2.54.
    • interactive governor updated from Francisco Franco's repo.
    • BFQ scheduler
  • V16-aospal (2nd February, 2014)
    • Selinux disabled for a few kk ROMs like aospal.
  • V17 (11th April, 2014)
    • Linux 3.2.56.
    • SELinux disabled by default.
    • f2fs support (thanks @ss2man44). RAMDISK NOT INCLUDED!! Flash LegoKernel first and then oxydo over that to have f2fs and oxydo kernel.
    • baseband_xmm wakelock given timeout. More info in post #3.
    • Stock hotplug.
    • Various changes here and there.
  • V18 (8th June, 2014)
    • Merged changes for 4.4.3 from Google
    • Revert to Franco's initial hotplug routine, and instad of disabling screen, just disable framebuffer for faster wakeups. Courtesy of franciscofranco.
The Following 56 Users Say Thank You to sgt. meow For This Useful Post: [ View ] Gift sgt. meow Ad-Free
22nd July 2013, 06:55 AM |#3  
sgt. meow's Avatar
OP Senior Member
Flag Dhaka
Thanks Meter: 3,013
8. FAQ
1. How do I enable logger? What about hso and ppp_async?

For builds with modules:
Download the modules zip. Unzip them to you sdcard, and note the path. Fire up the Terminal. Issue these commands one by one:
insmod /path/to/logger.ko (only in V2)
insmod /path/to/hso.ko
insmod /path/to/cifs.ko
insmod /path/to/ppp_async.ko
To check whether they are working (they are, don't worry):
Should output something like
logger.ko 54334 [permanent] ... blah.
You can also try:
dmesg | grep "logger"
dmesg | grep "hso"
ppp_async doesn't show any message.
To disable hso.ko and ppp_async.ko (you can't disable logger.ko once it's insmod'ed, but a simple reboot will rmmod it):
rmmod hso.ko
rmmod ppp_async.ko
For builds without modules:
To enable logger (it is off by default), issue this command in Terminal Emulator
echo "1" > sys/kernel/logger_mode/logger_mode
To disable it, just echo 0 instead.

2. Why won't my device reach 51MHz even though it's listed in the frequency list?
Ans: I have set the min rate for G cores to 102MHz. 51MHz IMO is a very stupid frequency in that it will do nothing basically. Even my 3 year old cellphone doesn't stay at 51MHz. It should be a LP core frequency (it actually was) but since Franco's hotplug driver doesn't call on the LP core, it's not reachable.

3. How do I control minimum - maximum backlight through sysfs?
Let me begin by saying that this feature is highly experimental. I can tell though that it works.
Okay so in /sys/module/board_grouper_panel/parameters you'll see two files:
min_bl - Write in a reasonable value preferably at least 30 less than max_bl. Default is 10. Not safe. Switch to 11.
max_bl - Write in a reasonable value preferably at least 30 more than min_bl.
This is what happens. *takes deep breath*
When your brightness is greater than zero but less than the min_bl, it gets changed to the min_bl. And when it's greater than max_bl, it's changed to max_bl. Otherwise it's just normal brightness levels (where's the fun in that, right? )
There's no limit to the madness that may happen as a result.

4. How do I configure sweep2wake and doubleetap2wake? What exactly are they?
Sweep2wake and doubletap2wake are basically two versions of the same thing - they wake your device up after you have put it to sleep (not metaphorically) without using the physical buttons on the side. This is still slightly buggy. If at first it doesn't work. Touch the screen once and then tap it twice.
For sweep2wake/sleep you basically swipe along the bezels (not on the bezels though) where the soft keys would be.
For doubletap2wake, just tap twice on the screen during sleep, and it should wake up.
To configure sweep2wake go to /sys/android_touch and open up sweep2wake
0 = disbaled
1 = sweep2wake/sleep
2 = sweep2sleep
To configure doubletap2wake go to /sys/android_touch and open up doubletap2wake
0 = disabled
1 = enabled
To configure shortsweep go to /sys/android_touch and open up shortsweep
0 = disabled.
1 = enabled.
This drains battery a little faster than stock would, so yeah. Don't use it (i.e. disable it) if you want to save battery, or set up a script.
There is also a wake_timeout file. It holds the time that the dt2w wakelock will remain active after the screen is suspended.
NOTE: s2w wakelock times aren't configurable and it will stay on for 15 seconds after the screen has been suspended.
Insert the time in seconds. (60 = 1 minute; 3600 = 1 hour)
If both are disabled no wakelocks are registered and held.

5. How do I get USB OTG to work?
Go to /sys/kernel/usbhost.
echo 0 to usbhost_fixed_install_mode.
I haven't tested (hostmode, and fast charge/hostmode charge) this myself, so feedback is appreciated.
You need StickMount unless your ROM supports native OTG.

6. Why is SELinux disabled?
To get it booting on some Kit Kat ROMs. Booting in permissive may work, but I haven't tested it yet.

8. Why is my device so awesome now?
OH STAHP IT YOU! And you weren't reading carefully enough, otherwise you would have pointed out that I missed #7.

69. <== LOL!11eleventy!!1! How do I configure baseband wakelock timeout?
Go to /sys/module/baseband_xmm_power/parameters and open up the bb_timeout file.
0 means the wakelock will be held for 1 second after it is acquired.
Values are in seconds.
I used timeout instead of disabling it completely because, although there have been no problems reported, thus far, to arise from this modification, it's better to be safe (not disabling completely but making it timeout after a while) than sorry (losing functionality although it seems unlikely)

"Interactive @ 1.5GHz and GPU @ 484MHz (or even 446MHz) + no screen wake controls (if you don't use them) should give you excellent battery life and performance. You can adjust CPU speeds too."
- sgt. meow
Idea of @keneth_c
Oh and this works awesome with the IceColdJelly AOKP ROM for Tilapia. Be sure to try it out.
Works fab on 4.3 stock. Don't believe in benchmarks though.
The Following 25 Users Say Thank You to sgt. meow For This Useful Post: [ View ] Gift sgt. meow Ad-Free
22nd July 2013, 07:52 AM |#4  
style154's Avatar
Senior Member
Flag San Tan Valley
Thanks Meter: 546
Donate to Me
First downloading now

Sent from my Nexus 7 using Tapatalk 4 Beta
The Following 2 Users Say Thank You to style154 For This Useful Post: [ View ] Gift style154 Ad-Free
22nd July 2013, 08:04 AM |#5  
casonswag's Avatar
Senior Member
Flag Jacksonville
Thanks Meter: 950
Sweet gonna try this out

Sent from my Nexus 7 using Tapatalk HD
The Following User Says Thank You to casonswag For This Useful Post: [ View ] Gift casonswag Ad-Free
22nd July 2013, 08:23 AM |#6  
hassam_tariq2003's Avatar
Senior Member
Flag Islamabad, Pakistan
Thanks Meter: 132
Using it and loving it....THANKS MAN....
The Following User Says Thank You to hassam_tariq2003 For This Useful Post: [ View ] Gift hassam_tariq2003 Ad-Free
22nd July 2013, 08:28 AM |#7  
sgt. meow's Avatar
OP Senior Member
Flag Dhaka
Thanks Meter: 3,013
Glad you guys like it. I'm building v2 right now. But it'll be a number of builds before I get the next bits right.
The Following 3 Users Say Thank You to sgt. meow For This Useful Post: [ View ] Gift sgt. meow Ad-Free
22nd July 2013, 09:28 AM |#8  
hassam_tariq2003's Avatar
Senior Member
Flag Islamabad, Pakistan
Thanks Meter: 132
Take Your time......we are here for testing...
22nd July 2013, 10:05 AM |#9  
Tommy-Geenexus's Avatar
Senior Member
Flag I live on a Stone Hill.
Thanks Meter: 2,583
Donate to Me
New kernel for our n7. Fine:thumbup:

Sent from my Xperia Neo using xda app-developers app
22nd July 2013, 10:21 AM |#10  
Shmi117's Avatar
Senior Member
Thanks Meter: 362
So any UV UC or OC support? Most probably to be announced in v2....
22nd July 2013, 11:03 AM |#11  
Nbsss's Avatar
Senior Member
Thanks Meter: 1,011
Thanks for the kernel, will test soon!
Post Reply Subscribe to Thread

butterlicious, kernel, nexus7, oxydo, wifi/3g

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

Advanced Search
Display Modes