[Motorola Atrix 2] Apex:
[GUIDE] Comprehensive Guide To Overclocking The ATRIX 2 (ICS 4.0.4 ONLY)

Modules :

Filesystem

ntfs.ko (read/write support)

cifs.ko (with extra attributes)​

Kernel hacking

symsearch.ko (Unexported symbol finder by Skrilax_CZ)​

CPU scaling governor (back ported from other dev)

cpufreq_interactiveX.ko [@] (interactiveX V2 governor by imoseyon)

early suspend support and hotplugging

cpufreq_hotplugX.ko [@] (hotplugX governor by imoseyon)

early suspend support and tweaks

cpufreq_smartass2.ko [@] (SmartassV2 governor by erasmux)

cpufreq_pegasusq.ko [@] (Samsung multi-core governor)

based on modification done by Gokhanmoral

cpufreq_boostedASSv2.ko [@] (a modified smartassv2 governor)

ported from BMc08GT​

CPU/GPU frequency control

cpu-control.ko [@] (Tweak CPU frequency & voltage to your like)

my 1st kernel module. based on milestone overclock & opptimizer.​

I/O scheduler

sio-iosched.ko (Simple IO scheduler by waninkoko)

based on Noop, Deadline and V(R) IO schedulers. In android world, simple is better​

modules with [@] mark requires symsearch.ko to operate

Disclaimer : I don't write all of these modules. Only make a few changes/tweak for it to work on our device. Enjoy!

Kernel version : 3.0.8

Kernel source : 67.42.17.XT910S.SKT.en.KR

Compiler setup : CodeSourcerey arm-2012.03-56-arm-none-eabi (-O2 optimization)

Build revision : Project Lense build​

Change logs:

0.1.1

- Add Simple I/O scheduler.

0.1.2

- Recompile with -O2 flag. I notice some instability when using -O3 flag

- Tweaked sio scheduler

- Add tweaked pegasusq governor.

0.1.3

- Add cpu overclock/underclock module

- Add boostedASSv2 governor

**For best practices, only load module when it's needed. That would save some kernel memory.​

Source code :

ttps://github.com/whirleyes/extra_kernel_module​

Download link :

extra_kernel_modules_0.1.3.zip - contains all the modules

init.d_n_governor_installer_0.1.3.zip - optional. init.d installer (load all modules to memory on startup).

Update : Add a preview of Tweakerz app.

- Include all kernel module. Module are loaded from app storage.(no install /alter system partition.)

- Load/unload kernel module on-the-fly (No save setting or set on boot option)

- Set CPU voltage/freq via GUI (No persist option yet)​

Easy Install method: (For init.d)

Reboot to recovery

Install extra_kernel_modules_0.1.zip

Install init.d_n_governor_installer.zip (Thanks to core720)​

Install guide for adding init.d script via Script Manager - SManager app

1.Extract all *.ko files from extra_kernel_modules_0.1.2.zip to /system/lib/modules

2.Open Script Manager, Create new script / modify existing script

#!/system/bin/sh
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
insmod /system/lib/modules/cpufreq_hotplugX.ko
insmod /system/lib/modules/cpufreq_smartass2.ko
insmod /system/lib/modules/cpufreq_pegasusq.ko
insmod /system/lib/modules/sio-iosched.ko

3.Save to /system/etc/init.d/​

Q: How to load a cpufreq governor

1.Load symsearch.ko

2.Load your choice of governor

3.Enable it

insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Q: What is the best cpu-freq governor

Maybe this will help you choose/tweak

CPU Governors explained

Pegasusq Governor​

Q: How to load cpu frequency/voltage (underclock/overclock)

1.Load symsearch.ko

2.Load cpu_control.ko

insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpu_control.ko

Q: How to change cpu frequency & voltage

echo id frequency(Mhz) voltage(mV) > /proc/cpu_control/tweak_cpu

Example:

echo 0 196 980 > /proc/cpu_control/tweak_cpu
echo 1 500 1195 > /proc/cpu_control/tweak_cpu
echo 2 750 1320 > /proc/cpu_control/tweak_cpu
echo 3 1000 1388 > /proc/cpu_control/tweak_cpu
echo 4 1350 1410 > /proc/cpu_control/tweak_cpu

ICS kernel default voltage&frequency table

Id Freq Volt(mV)
0 300 1025
1 600 1200
2 800 1325
3 1000 1388
4 1200 1398

GB kernel default voltage&frequency table

Id Freq Volt(mV)
0 300 1025
1 600 1200
2 800 1313
3 1000 1374
4 1200 1375

** voltage min : 830mV, max : 1410mV​

More/Details about cpu_control.ko module

To view ICS default frequency-voltage table

cat /proc/cpu_control/opp_table_default

To view current frequency-voltage table

cat /proc/cpu_control/opp_table_current

To view current CPU & GPU frequency

cat /proc/cpu_control/frequency_current

​