[KERNEL MODULE] Extra modules pack v0.1.3 (feat. overclock) [OMAP4 kernel 3.0.8]

Search This thread

whirleyes

Retired Recognized Developer
Aug 10, 2007
806
1,817
github.com
Some extra kernel modules for you & me.

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)
    based on Noop, Deadline and V(R) IO schedulers. In android world, simple is better
modules with [@] mark requires symsearch.ko to operate

These kernel module will work for most Motorola omap4 device. (kernel 3.0.8 only)

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

Source code :
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)
[/LIST]
 

Attachments

  • extra_kernel_modules_0.1.3.zip
    416.6 KB · Views: 11,095
  • init.d_n_script_installer_0.1.3.zip
    176.5 KB · Views: 8,189
  • Tweakerz_alpha1_module_included.apk
    464.2 KB · Views: 8,389
Last edited:

whirleyes

Retired Recognized Developer
Aug 10, 2007
806
1,817
github.com
Easy Install method: (For init.d)
  1. Reboot to recovery
  2. Install extra_kernel_modules_0.1.zip
  3. 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
Code:
#!/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
Code:
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

Q: How to load cpu frequency/voltage (underclock/overclock)
1.Load symsearch.ko
2.Load cpu_control.ko
Code:
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 :
Code:
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
Code:
[B]Id      Freq    Volt(mV)[/B]
0       300     1025
1       600     1200
2       800     1325
3       1000    1388
4       1200    1398

GB kernel default voltage&frequency table
Code:
[B]Id      Freq    Volt(mV)[/B]
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
    Code:
    cat /proc/cpu_control/opp_table_default
  • To view current frequency-voltage table
    Code:
    cat /proc/cpu_control/opp_table_current
  • To view current CPU & GPU frequency
    Code:
    cat /proc/cpu_control/frequency_current
 
Last edited:

farhanito

Senior Member
Aug 21, 2010
901
231
Jakarta
cpufreq governor install method
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Will this survive a reboot Whirleyes?
 

J.Y.Daddy

Senior Member
Jul 13, 2011
552
924
Seoul
jydaddy.co.cc
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr). :eek:
is that kernel source has been opened?

Thanks for your work!
I'll try to test on my razr.
 

whirleyes

Retired Recognized Developer
Aug 10, 2007
806
1,817
github.com
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....

Thanks.. but to be more efficient, I would like to have them separated.

1. User install my module pack. (extra_kernel_modules_*.zip)
2. User install init.d loader. (init.d_n_governor_installer.zip
 
  • Like
Reactions: artur0588

robertwhitten87

Senior Member
Apr 16, 2010
153
30
Toeldo, Ohio
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....

I tried to use your flashable zip. It doesn't work, but I found that after I chmod 777 the 90module in the init.d folder it works flawlessly. So I think you need to add that set permissions to your script.

*edited for grammar issues. It was bugging me that my You're and Your was wrong.
 
Last edited:
  • Like
Reactions: cc1961

whirleyes

Retired Recognized Developer
Aug 10, 2007
806
1,817
github.com
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.

don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.

Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?

These modules will work on any 3.0.8 kernel
 

dccoh

Senior Member
Jul 8, 2010
488
59
Grand Rapids
Q: How to load a cpufreq governor


I flashed the zips and have not been able to automatically pick the governor while in setcpu.

I loaded up terminal and did the commands you posted but those didnt work unless i substituted /system/lib for /system/bin. Doing that I can now select interactivex. I'd love for the init.d scripts to work so I dont have to fumble around with this every boot. My rom does have init.d support.

Is there a reason for the difference on my phone? I have a razr maxx and running the newest kernel from build 214 and on Arctic rom.

Thanks.
 

garywojdan81

Senior Member
Aug 10, 2010
3,541
1,038
Thank you for this. I loaded both zips & init.d works perfectly for me on an OG Razr running the stock 211 rom/214 kernel combo. Everything is available to select & it all runs at boot. System Tuner Pro is what I use to select the governor/scheduler settings.

Sent from my DROID RAZR using Tapatalk 2
 

evonc

Senior Member
Dec 10, 2011
947
365
Toronto
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
 
  • Like
Reactions: pedrotorresfilho

whirleyes

Retired Recognized Developer
Aug 10, 2007
806
1,817
github.com
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.

Try check OPPtimizer Projekt, maybe tekahuna has recompile it for ICS.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 78
    Some extra kernel modules for you & me.

    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)
      based on Noop, Deadline and V(R) IO schedulers. In android world, simple is better
    modules with [@] mark requires symsearch.ko to operate

    These kernel module will work for most Motorola omap4 device. (kernel 3.0.8 only)

    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

    Source code :
    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)
    [/LIST]
    18
    Easy Install method: (For init.d)
    1. Reboot to recovery
    2. Install extra_kernel_modules_0.1.zip
    3. 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
    Code:
    #!/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
    Code:
    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

    Q: How to load cpu frequency/voltage (underclock/overclock)
    1.Load symsearch.ko
    2.Load cpu_control.ko
    Code:
    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 :
    Code:
    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
    Code:
    [B]Id      Freq    Volt(mV)[/B]
    0       300     1025
    1       600     1200
    2       800     1325
    3       1000    1388
    4       1200    1398

    GB kernel default voltage&frequency table
    Code:
    [B]Id      Freq    Volt(mV)[/B]
    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
      Code:
      cat /proc/cpu_control/opp_table_default
    • To view current frequency-voltage table
      Code:
      cat /proc/cpu_control/opp_table_current
    • To view current CPU & GPU frequency
      Code:
      cat /proc/cpu_control/frequency_current
    9
    Hopefully can be finished before weekend

    Sent from my IS12M using xda app-developers app
    9
    Just voltage tip.

    u_volt = ((vsel * 12.5) + 600) * 1000
    whirleyes‘s mV = (vsel * 12.5) + 600

    whirleyes‘s cpu_control for example:
    mV = ( 63 * 12.5) + 600 = 1387.5 = 1388

    Edit:
    whirleyes‘ cpu_control can be possible maximum 65VSel.(On my RAZR)

    I put a filter inside the code.
    Code:
    mV > 1410 -> mv = 1410
    mV < 830 -> mv = 830

    kernel 3.0.8 is little bit different from 2.6.*, I can hardly sees a vsel reference in the source code.
    most of them used u_volt(micro volt?). that's why I drop vsel & use mV (mili Volt)

    there's also smartreflex working in the background. It help adjusting voltage to optimal values.

    Thanks for this great work of yours. I'll just probably wait for the app where normal users can easily use this kernel overclocking functionality.

    Sent from my XT910 using xda premium

    Check back in 1/2 weeks. I've decide to make an app.. & it's red
    6
    Re-open this thread so that people can have a discussion. I didn't subscribe to this thread anymore. No dev work/info will happen in these thread.