Remove All Ads from XDA

[Kernel][OC][UV][3G][USB charging] GT8.9 7300/7310 (Dec 4, 2011)

858 posts
Thanks Meter: 2,408
By _motley, Senior Member on 13th November 2011, 07:02 AM
Post Reply Email Thread

You know the gig...I am not responsible for damaging your device or voiding your warranty. Play at your own risk!

_motley kernel:
Current version features:
  • OC support (overclock) - frequencies: 1.200, 1.400, 1.504, or 1.600Ghz (recommend 1.4 or 1.5GHz). Default clock speed is [email protected]
  • UV support (under-volting)
  • I/O schedulers: optimized deadline (default) and noop
  • Governors: optimized interactive, on demand, conservative, and performance
  • vfp, vfp3, vfpv3d16, thumb, thumbee, swp, fastmult, edsp, half
  • USB charging enabled
  • JRCU implemented - RCU for SMP with a single CPU garbage collector
  • Auto-group scheduling
  • Built in cifs, NTFS, Xbox controller, tun, PS3, joystick, mouse support
  • Stock hardware/software is all working with no known issues (Camera, GPS, WiFi, sound, headphones, sensors, market, video/youtube etc.)

  • ROM must be based on the stock Galaxy Tab 8.9 with TouchWiz (stock and Overcome ROMs have been tested)
  • ROM must be rooted and have CWM installed.
  • Make sure you backup your boot.img so you can flash your stock kernel back. You should have a full CWM backup anyhow.
  • An app like SetCPU if you want to overclock(OC) or under volt (UV). I recommend only overclocking up to 1.4 or 1.5 GHz. Try 1.4 GHz first and see if it works for your tab.
  • Make sure you download the correct version for WiFi or 3G (3G only supported on Android 3.2).
  • Make sure you download the correct version for Android 3.1 or 3.2.

Android Honeycomb 3.2

Version v2d for Android HC 3.2
  • Add "autogroup" scheduling (for some background see:
  • Add support for LUKS and other file encryption utilities (CONFIG_BLK_DEV_CRYPTOLOOP=y and CONFIG_KEYS=y). Ext2 formatted loop devices should work now, but still no luck FAT12 8.3 volumes. Let me know how it works! (thanks ZeroPDA)
  • Misc merges\bug fixes from Nvidia repo (tegra\video\hdmi fixes, ext4 memory leak fix, interactive gov div\0 fix etc.)
v2d (7310 WiFi) MD5 640af1d30eff11124f17b7fcb4c6201e
v2d (7300 3G) MD5 640af1d30eff11124f17b7fcb4c6201e

Version v2c for Android HC 3.2
  • WiFi only feature addition - added CONFIG_IP_ADVANCED_ROUTER=y to properly support Cisco VPN (VPNC Widget). This was not required for 3G as it already has this kernel feature. Thanks to questionmark for providing the info and testing the change for us.
  • UV bug fix - v2a introduced a UV issue where it was no longer subtracting the UV values even though they were set properly in sysfs by SetCPU etc. Thanks to Crashdown12 for reporting.
  • Important - I recommend removing the option to set UV on boot before installing this new version, just in case you were down to unstable voltages.
v2c (7310 WiFi) MD5 cbfdee00b5ce514bef88e4230f7d0694
v2c (7300 3G) MD5 bce4881b2716f410b2903f96fe347271

Version v2b for Android HC 3.2
  • USB charging is now enabled like the GT10.1 (thanks pershoot, stefansaraev). See the following for usage: how-to (thanks dpakrr)
  • Performance: implemented JRCU, an RCU for SMP with a single CPU garbage collector so that each and every CPU doesn't periodically participate in RCU garbage collection. This is popular in the Android kernel space since dual CPUs have come about (thanks Joe Korty).
  • Performance: added optimized deadline i/o scheduler which is now the default since it is great for SSD (thanks morfic)
  • Added switch to turn off TouchWiz at the kernel level (not really relevant until someone tries to build a vanilla ROM)(thanks pershoot)
v2b (7310 WiFi) MD5 3446574b2024897e41bad69f7c699aca
v2b (7300 3G) MD5 d299579a1de0d1469bfcb99ed6afc1d4

Version v2a for Android HC 3.2
  • Same features as v1i kernel, but now works for HC 3.2
  • Now a version for P7300 3G
v2a (7310 WiFi) MD5 59bfb8b8f213517676e06b6d69f35080
v2a (7300 3G) MD5 b5b6ab4f3dffe29dce5a83f32dd7eba6

Android Honeycomb 3.1

Version 1.0i changes (current for Android 3.1):
  • Governor default changed to OnDemand, but only so we can properly set back to the preferred interactive governor on boot using SetCPU and other tools (let me know!).
  • I/O schedulers: NOOP now the default (minor read/write improvements), CFQ still available, Deadline removed for now.
  • Starting voltages increased for 1.504 GHz and above due to some instability issues reported. I recommend you UV 25mV or so if you already achieved stability as it was increased by 50mV. Higher than 1.5GHz is still experimental and not recommended. I have been able to run at 1.6GHz for the first time in this build.
v1i - - MD5 ea77e46967aa4c917e8dd8c429dca724 (current for Android 3.1)

Version 1.0h changes (beta 1):
  • Touchscreen lag fixed. Firmware downgrades prevented within Melfas touchscreen driver.
  • UV bug fix, no known issues.
  • Governor fixes, SetCPU seems to set properly on boot now (edit: still some issues setting on boot depending on SetCPU configuration)

Version 1.0g changes (alpha 2):
  • Overclock to 1.504GHz+ (only 1.5 is stable, over is experimental only)
  • UV (undervolt) support (experimental, still in testing)
  • NTFS and Xbox now built-in. No longer need to mess with loading modules.
  • Applied some upstream kernel patches.

Version 1.0c (alpha 1/first release):
  • Based on Samsung open source kernel from
  • Overclock to 1.2GHz or 1.4GHz (a future version will likely be able to clock to 1.504Ghz)

Installation Instructions
  1. Backup with CWM
  2. Put the zip on your sdcard
  3. Flash zip file from CWM
  4. Install SetCPU and use to set governor to "interactive" and desired OC frequency (recommend 1.4 to start). The default governor has been set to On Demand on purpose even though it is not the recommended governor to use in SetCPU. Setting the recommended interactive governor will help SetCPU trigger the instructions to sysfs causing it to take hold. Sometimes it is finicky and a reboot can help once you have the interactive governor set with your desired frequency.
  5. Optional: if you need or want to restore your original kernel, restore ONLY your boot.img from the CWM advanced recovery option.

Thanks go to:
  • pershoot for all his hard work on the 10.1 kernel. I used his kernel as a working guide and used his delivery method (Anykernel)
  • alterbridge86\Overcome for CWM.
  • Koush for the Anykernel delivery method.
  • Samsung for releasing the source like they should
  • Tiamat team, RichardTrip\roggin and NVidia for their open source git repositories.
  • All the testers!
  • Let me know if I forgot somebody!

Git repository:
The Following 29 Users Say Thank You to _motley For This Useful Post: [ View ] Gift _motley Ad-Free
13th November 2011, 07:02 AM |#2  
_motley's Avatar
OP Senior Member
Thanks Meter: 2,408
Donate to Me
Question FAQ
Q: What is a kernel and why would I need it? How is it different from a ROM?
A: The kernel is the lower level of the operating system, or the engine so to speak. It is a bridge between applications and the actual data processing done at the hardware level. The Android OS utilizes a custom Linux kernel. The stock kernel provided by Samsung limits the CPU clock speed (i.e. CPU frequency) and other functionality that the upper level operating system can request (like mounting NTFS hard disks, undervolting, encrption, using certain joystick controllers, mounting network shares etc.).

A kernel is different from a custom ROM. A ROM is a customized version of the Android Honeycomb OS and will also come with a kernel. Most ROMs will come with the stock kernel, they should designate which kernel they use. In other words, most ROMs provide a customized version of the upper level of the operating system including base services and applications.

Q: What do I have to wipe before I flash?
A: For kernel only flashes, like this one, you don't have to wipe anything.

Q: What does the zip file do when I flash?
A: When the zip is applied in CWM, it does the following things using Koush's AnyKernel method:
  1. Unpacks your boot.img from into a temp folder (into ramdisk and zImage components)
  2. Replaces your zImage, i.e. the kernel binary
  3. Updates the ramdisk default.prop (sets for adb root shell and removes init.p3.rc lines that set frequencies and governor during boot)
  4. Repacks the new boot image and flashes back to /dev/block/mmcblk0p3
  5. Updates two kernel modules in the stock location /lib/modules

Q: Will I lose any customizations to my ramdisk provided by a custom ROM?
A: No, your should not due to the use of the AnyKernel method described above.

Q: Will other overclocking apps besides SetCPU work OK?
A: Yes, they should work, but just keep in mind that not all apps are able to under-volt. I will typically be using SetCPU for all my testing, so keep this in mind if you have problems.

Q: Will overclocking use more battery?
A: Yes, higher voltages equals more current draw (I=VR). It will depend upon your setup and individual usage scenarios to how much runtime you will lose.
Using the interactive governor, your tablet will scale down to lower frequencies when the highest clock speed is not necessary. At the lower frequencies, the tablet will not use more power than it does stock.

Q: What OC frequencies are safe?
A: From research thus far, 1.5GHz is the top end for every day use stablity for most tablets. However, due factory tolerances 1.5GHz still may not be stable for everyone. You may need to use 1.4GHz or even 1.2GHz. Many choose to run 1.4GHz since it still gives a great performance bump over stock, but less heat is generated, and it will chew up a little less battery.

Q: I set my OC frequency to X, but I don't think it is working. How do I test to know that it is working?
A: For 1.4-1.5GHz using the interactive governor, you should be able to see a Linpack score between 70-87 depending on what else is running on the tablet.

The ad-free version of Linpack is better because the ads can lower your scores unless you hit test at the right time when the ad is already loaded. If you keep hitting test at 1.5Ghz, your consistent higher scores should be around 78-85.
Verify the clock speed by using Linpack scores
Verify in SetCPU that the different clock speeds are being used periodically, most particularly the highest clock speed.

It is kind of finicky sometimes until you get it set right and sometimes after a new version is installed it will get finicky. After you get it set right, then it stays put on reboot and you should have any issues from there. I am still wondering if there isn't something I can do about it to force it honor any changes SetCPU requests to sysfs no matter what. This is the reason why I eventually set the default governor to On Demand and then suggest that you configure it to be Interactive in SetCPU (the recommended governor). This seemed to help trigger the proper acceptance from SetCPU on boot. Pershoot (the 10.1 kernel guru) suggested that it might be falling to conservative at the default frequency like when it goes to sleep, but not coming back. However,when it goes to sleep and I turn it back on, it always goes back to my 1.5GHz just fine. And when it's set and happy, it never has this issue on boot either. Maybe a second boot is all that it takes, but I would sure like to pin it down and understand it better. Let me know if anyone has any ideas.

If your Linpack scores suggest OC is not working, I recommend that you do the following:
  1. Uncheck the SetCPU setting to "set on boot" for OC and UV settings. Don't set this for boot until you are sure you are good to go with your clock speed and UV settings.
  2. Upgrade to the latest kernel version for your tablet if you haven't already (Choose, HC 3.1 or HC 3.2, then 7300 3G or 7310 WiFi)
  3. Boot up and use SetCPU to set your desired OC frequency AND then setp to use the "interactive" governor.
  4. Verify your linpack scores to make sure they are higher than stock (~50-55). See above reference scores and notes about ads slowing down the scores.

Q: How do I setup under-volting (UV)? What values should I use for each frequency?
A: Not all tablets are created equal at the factory. What works on anothers tablet may not work on yours.
  1. Uncheck the SetCPU setting to "set on boot" for UV settings. Don't set this for boot until you are sure you are good to go with your modified UV settings.
  2. Once the clock speed is verified (see previous question), run some bench marks (Linpack, AnTuTu, and Quadrant are good) and do some multiple-tab browsing sessions to make sure your tablet is stable. Watch some vids or whatever you like to do, this is the key.
  3. If you are stable, step down your voltage at the highest clock speed by -25mV. Repeat the benchmarks and usage scenarios. If it fails (locks the tab), hold down the power key until it reboots and step back up +10mV and repeat until it is stable.
  4. Repeat the UV calibration for the next lower clock speed and so forth. I don't typically mess with anything below GHz since those are stock values.

Q: So, what OC and UV settings do you use?
A: I typically run @1.5GHz -50mV and leave the rest of the frequencies as-is. For my usage, I don't find the CPU spending a lot of time anywhere else besides 216, 312, 1000, and 1504. Every other frequency is typically less than 1% of time in state. If folks can UV further and keep it stable, that is great. I don't worry about battery too much since I am mostly around the house and don't mind charging every 2-3 days.

Q: I noticed that the stock tablet does charge using a normal PC USB port. The tab say discharging with a red x but it seems to be charging. So do I really need to use the usb charging script?
A: I grabbed this fix from the 10.1 kernel base. I was wondering the same thing when I went forward with the code change.

Here is what I know so far. The change in the kernel allows the tablet to properly report the charging state properly back to the OS. After the fix, the USB charging seems to be much faster, but it may just be the reporting mechanism. Before, it would take forever to trickle up 1%. Now it really seems be a viable charging source, but still slower than plugging in to the wall of course. I have not however done any tests to prove this, but I think the mod is definitely worthwhile. Samsung should have done it like this stock, but I think they did not want to deal with support calls to troubleshoot charging via USB as it is not as fast and reliable.

That said, the option is there and folks have a choice on whether to activate it or not. Others, please report back on your experience on this topic.
The Following 6 Users Say Thank You to _motley For This Useful Post: [ View ] Gift _motley Ad-Free
13th November 2011, 08:11 AM |#3  
Senior Member
Thanks Meter: 0
Any chance this would work on the 3g version?
13th November 2011, 08:52 AM |#4  
Thanks Meter: 3
Great! Can't wait to try it. Any reason it might not work with the overcome ROM?

EDIT: Just tried and it worked with Overcome 1.0.0. Noticeable improvement in landscape mode, buttery smooth in portrait.
13th November 2011, 09:32 AM |#5  
Senior Member
Flag Quezon City
Thanks Meter: 72
Any chance we can undervolt the kernel?

Also, did you apply any optimizations (VFP3/FP/gcc-O etc.)
13th November 2011, 09:52 AM |#6  
KitF's Avatar
Senior Member
Thanks Meter: 80
What is meant by "PS3" support?
13th November 2011, 10:20 AM |#7  
Senior Member
Flag Quezon City
Thanks Meter: 72
Originally Posted by KitF

What is meant by "PS3" support?

I assume it's support for the PS3 Dualshock 3 (which uses Bluetooth)
13th November 2011, 10:31 AM |#8  
Senior Member
Thanks Meter: 242
Originally Posted by Hurrian

I assume it's support for the PS3 Dualshock 3 (which uses Bluetooth)

I highly doubt that. Maybe it supports it over USB.
13th November 2011, 11:07 AM |#9  
netxph's Avatar
Flag Trece Martires City
Thanks Meter: 3
+1 on this feature added to OC... I feel the stock ROM is too slow...
13th November 2011, 12:24 PM |#10  
Junior Member
Thanks Meter: 1
Hello mr. Motley!

awesome works, applied it to my 8.9" it works really neat both in 1.2 ghz and 1.4 ghz!

thumbs up from denmark!

---------- Post added at 12:52 PM ---------- Previous post was at 12:44 PM ----------


haha my antutu benchmark (using overcome 1.2)

1ghz : 4900
1.2ghz: 5607
1.4ghz: 6590


---------- Post added at 01:24 PM ---------- Previous post was at 12:52 PM ----------


at 1.4 ghz - the lockscreen seems to have some issues (it has a 10/15 sec freeze before unlocking)
The Following User Says Thank You to randomb For This Useful Post: [ View ] Gift randomb Ad-Free
13th November 2011, 01:10 PM |#11  
Senior Member
Flag Arlington Virginia
Thanks Meter: 403
+1 for the 3G version! Will this one work?

Also, +1 on the PS3 controller support. (Why wouldn't it be able to support Bluetooth? I figured it may be easier that way anyhow. Tell you what though, if it does work, I'm buying a PS3 controller! (I've never had the desire to own a PS3))
Post Reply Subscribe to Thread

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

Advanced Search
Display Modes