hi guys .i use app swaper2 for swap and 128M swapping but Where should understand that the active?
Open Terminal Emulator
Written "su"
Superuser permission enabled
Written "free"
Read RAM usage
Sorry,bad English
xp7 said:
hi guys .i use app swaper2 for swap and 128M swapping but Where should understand that the active?
Click to expand...
Click to collapse
If I understand correctly your question, you're curious that the swap has been enabled for real?
So what you have to do is to type "free" (without quote marks) into Terminal. Then in the SWAP line you'll se if it has been enabled (if it's zero, then it is disabled)
Asycid said:
If I understand correctly your question, you're curious that the swap has been enabled for real?
So what you have to do is to type "free" (without quote marks) into Terminal. Then in the SWAP line you'll se if it has been enabled (if it's zero, then it is disabled)
Click to expand...
Click to collapse
yes.Inside the terminal, write zeroHow do I enable it???
xp7 said:
yes.Inside the terminal, write zeroHow do I enable it???
Click to expand...
Click to collapse
First you should have a custom kernel installed. Then in swapper2, simply click on "ON".
Asycid said:
First you should have a custom kernel installed. Then in swapper2, simply click on "ON".
Click to expand...
Click to collapse
yes,i use alfs v.4 and swapper2 but in terminal write swap 0 0 0.please help me and thanx
xp7 said:
yes,i use alfs v.4 and swapper2 but in terminal write swap 0 0 0.please help me and thanx
Click to expand...
Click to collapse
IDK what could be the problem then. It should work.
Hmm... If you hit the ON button in swapper2, what it is writing?
Some time Swapper2 is a little buggy, so what I always do is first hit "Ads off" button, then the "OFF" button... Wait until it writes "All done!". Then hit "ON" button. Again, wait until the "All done!" sentence appears. Hopefully it will work then.
I have sdcard/swapfile.swp ?
If you have swapfile.swp :
Open Terminal Emulator
Swap enabled:
Written : su
Written : swapon /sdcard/swapfile.swp
Swap disabled:
Written : su
Written : swapoff /sdcard/swapfile.swp
Stock kernel or Custom kernel?
Hi... i have a question. How can i enable mounting of swap file on boot ?
djsweetboy said:
I have sdcard/swapfile.swp ?
If you have swapfile.swp :
Open Terminal Emulator
Swap enabled:
Written : su
Written : swapon /sdcard/swapfile.swp
Swap disabled:
Written : su
Written : swapoff /sdcard/swapfile.swp
Stock kernel or Custom kernel?
Click to expand...
Click to collapse
How can i change the swappiness with terminal emulator?
Enable swap and checking it
Assume that u have partitioned your sd card by manually by partition tools
-fat32
-ext 2,3 or 4 (app to sd)
-swap
To enable swap for custom kernel, (i use alfs 06)
-Go to /system/etc
-RW, Text-edit fstab file,
-add line /dev/block/mmcblk0p3 /swap rw
Note: the spaces between the mmcblk0p3 to /swap may varies on your fstab file, just follow the spaces provided at other top line.
Next, Text-edit hw_config.sh,
-add line swapon /dev/block/mmcblk0p3
-or swapon -a if not worked for you.
-add line before drain battery fix if not worked also (by experience)
To check,
-open terminal
-type su
-type free
-value on swap 0 0 0 = failed
-any value = sucess
To change swappiness,
-Go to /system/etc/init.d
-the file depends on your rom build (mine in 99balancedtweaks file) find the line echo "AB" > /proc/vm/swappiness
-or you can just add line to hw_config
-add line echo "AB" > /proc/vm/swappiness
-where ur AB = any integer,
0 =use more ram (latency decrease)
100 =use more swap (latency increase)
Swappiness Info on Wikipedia
NOTE:All the step above need your devices to reboot to take effect.
*__________*
|Sony Erricsson X8 White-Dark&Blue| Alfs 06 No Caps|768 MHz| Fde Xperience 2.4.3| Unlocked Bootloader 11W26| 700MiB 60 Swap| 128 Ext-2 APP2SD| Class 4 8GiB SDCARD| AnTuTu 1950-2050+ (May Change)
Thanks button>
---------------------------------------------------------------------------------------------------------------------------------------------Y
Related
I am currently running Cyanogen's latest. I have a 40MB Swap partition, however; I'm curious as to whether or not it has been activated or enabled automatically via some script within his build version? I have been using the application known as "Swapper" to perhaps utilize my partition, so far, I have noticed that it seems to "swap" properly...but is using a specific command what actually has to be done to initiate the swap feature and partition to be used?
I've read in several threads and message boards that have claimed to find utilizing Compcache w/ back_swapping was in fact more efficient or "better" if you will - than using the typical Linux-swap for your 3rd partition.
EX. - http://androidcommunity.com/forums/archive/index.php/t-22465.html
If there is a proper way to be sure that the partition is being used for swap, (i.e. - terminal commands, etc.) let me know. Any advice would be greatly appreciated. Thanks.
Bump, bump, bump, bump it up.
Come on guys. This stuff is considered important. I'm just in need of a little advanced feedback. Trust me, if there's anything I can do for you, I'd be willing to help and exchange information.
Thanks.
cyanogen's roms have compcache enabled by default if you don't have a userinit.sh file in /system/sd. If you do, then compcache will be disabled and u will have to manually enable it in the userinit.sh file.
To see if you have a swap, run "free" in adb shell or the terminal.
To see if you have compache enabled, run
rzscontrol /dev/block/ramzswap0 -s
from the shell.
If you are using swapper app, and you don't have a userinit.sh file, then you are most likely running both compcache and swap at the same time.
If you want to enable compcache with backing_swap, create a userinit.sh file and paste these lines into it. Then make sure to turn off the swapper app.
Code:
modprobe ramzswap;
rzscontrol /dev/block/ramzswap0 -i -b /dev/block/mmcblk0p3;
swapon /dev/block/ramzswap0;
Finally...
dwang said:
cyanogen's roms have compcache enabled by default if you don't have a userinit.sh file in /system/sd. If you do, then compcache will be disabled and u will have to manually enable it in the userinit.sh file.
To see if you have a swap, run "free" in adb shell or the terminal.
To see if you have compache enabled, run
rzscontrol /dev/block/ramzswap0 -s
from the shell.
If you are using swapper app, and you don't have a userinit.sh file, then you are most likely running both compcache and swap at the same time.
If you want to enable compcache with backing_swap, create a userinit.sh file and paste these lines into it. Then make sure to turn off the swapper app.
Code:
modprobe ramzswap;
rzscontrol /dev/block/ramzswap0 -i -b /dev/block/mmcblk0p3;
swapon /dev/block/ramzswap0;
Click to expand...
Click to collapse
I've been eager to get some useful information from someone in the community who is familiar with these procedures. I appreciate your feedback. However, here is my current situation; as previously stated:
- I've been using the application called, "Swapper for Root Users."
- I double-checked the status of this so-called SWAP from the terminal emulator and the information is displayed as follows:
* After enter the command "FREE" *
Towards the bottom of the provided information there is:
SWAP: total - 24464 / used - 12244 / free - 12220
TOTAL: total - 122344 / used - 108736 / free - 13608
As for what I have altered under settings with that application - I did utilize a feature which claims that it allows the application to SELECT your Linux-swap partition, instead of creating a "momentary" swap section on either of the other two partitions of my SD card. I have "swappiness" set to 20 currently. My partition, as stated previously is 40MB as opposed to 32MB. I have had more positive experiences thus far...not to mention it was suggested by several other people amongst the community.
Is the possibility of Compcache and the actual Linux-swap operating at the same time necessarily be considered a bad thing? Perhaps having more of a negative affect as opposed to a positive affect? Finally, if you don't mind me asking...which would you suggest or personally recommend:
Compcache enabled with back_swapping
-OR-
Linux-swap enabled
Thanks man. This is about the most successful set of advice I've received in a few days. Hella props.
Bumpinator.
Sorry guys, just waiting on a detailed reply from this boss right here who has posted a pretty in-depth process on my dilemma.
As soon as I come to a decision, make the changes, and finalize the device alterations...I will close this. Thanks.
When CompCache is managing your swap settings, you can use backing swap OR Linux swap. If you look in the user.conf and in that androidcommunity thread you posted, they both say:
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
But you weren't asking that question and you probably knew it already?
Word on the Dream forum from most users is that CompCache with backing swap provides better performance than Linux Swap or CompCache without backing swap (and I also agree with this).
Personally I would not use 2 apps to write to swap files/partitions on your SD card at the same time. You should be minimising reads and writes to the sd card as much as possible to help speed things up.
There is a lot more discussion on Compcache in the dream section on this board, you can probably find your answers already rather than constantly bumping this thread.
Looks like you only have compcache enabled, as by default compcache sets up a 24meg swap.
did you create your linux swap correctly?
after you partition the sdcard. You still need to run
mkswap /dev/block/mmcblk0p3 from the terminal.
do a "ls /dev/block" from the term and make sure that the file mmcblk0p3 exists. If not, run mkswap.
I would personally either run compcache by itself, or with backing_swap, both are faster than a straight linux swap IMO.
As for swappiness, thats up to you. I run swappiness at 60 myself.
You can set it by putting this line in your userinit.sh
sysctl -w vm.swappiness=
put your swappiness value after the =
Reignzone said:
I've been eager to get some useful information from someone in the community who is familiar with these procedures. I appreciate your feedback. However, here is my current situation; as previously stated:
- I've been using the application called, "Swapper for Root Users."
- I double-checked the status of this so-called SWAP from the terminal emulator and the information is displayed as follows:
* After enter the command "FREE" *
Towards the bottom of the provided information there is:
SWAP: total - 24464 / used - 12244 / free - 12220
TOTAL: total - 122344 / used - 108736 / free - 13608
As for what I have altered under settings with that application - I did utilize a feature which claims that it allows the application to SELECT your Linux-swap partition, instead of creating a "momentary" swap section on either of the other two partitions of my SD card. I have "swappiness" set to 20 currently. My partition, as stated previously is 40MB as opposed to 32MB. I have had more positive experiences thus far...not to mention it was suggested by several other people amongst the community.
Is the possibility of Compcache and the actual Linux-swap operating at the same time necessarily be considered a bad thing? Perhaps having more of a negative affect as opposed to a positive affect? Finally, if you don't mind me asking...which would you suggest or personally recommend:
Compcache enabled with back_swapping
-OR-
Linux-swap enabled
Thanks man. This is about the most successful set of advice I've received in a few days. Hella props.
Click to expand...
Click to collapse
dwang said:
Looks like you only have compcache enabled, as by default compcache sets up a 24meg swap.
did you create your linux swap correctly?
after you partition the sdcard. You still need to run
mkswap /dev/block/mmcblk0p3 from the terminal.
do a "ls /dev/block" from the term and make sure that the file mmcblk0p3 exists. If not, run mkswap.
I would personally either run compcache by itself, or with backing_swap, both are faster than a straight linux swap IMO.
As for swappiness, thats up to you. I run swappiness at 60 myself.
You can set it by putting this line in your userinit.sh
sysctl -w vm.swappiness=
put your swappiness value after the =
Click to expand...
Click to collapse
Thanks again bro. This is good stuff.
So, I ran the "ls /dev/block" to check out the status; here's what I got:
loop0 ------------ loop6 ---------------- mtdblock0 ------------ mtdblock6
loop1 ------------ loop7 ---------------- mtdblock1 ------------ ramzswap0
loop2 ------------ mmcblk0 ------------- mtdblock2 ------------ vold
loop3 ---------- mmcblk0p1 ---------- mtdblock3 ----------- (empty space)
loop4 ---------- mmcblk0p2 ----------- mtdblock4 ---------- (empty space)
loop5 ---------- mmcblk0p3 ----------- mtdblock5 ---------- (empty space)
Assuming that because I see the "mmcblk0p3" I did correctly partition the SD card. After all, I used GParted. Lol.
But for now, I think I'll be set with Compcache running by default on Cyanogen's build, with a Linux-swap partition being utilized as opposed to back_swap.
Is there any other suggestions you might have for me? Advice? Questions? Thanks again.
EDIT: I ran the command from the terminal:
# mkswap /dev/block/mmcblk0p3
Then this came up:
Setting up swapspace version 1, size = 40305664 bytes
Then I ran command:
# free
And I see that where it says SWAP, there is more "memory" all across the board.
As for setting the swappiness, isn't it set to 60 by default upon activation?
Also, the "userinit.sh" - I don't think I have even messed with that or have one for that matter.
I wrote this to help when I'm flashing roms and thought I'd share. Let me know what you think - comments, suggestions, fixes.
This is a batch file that gives a menu to perform the following functions:
Code:
echo [1] Edit user.conf
echo [2] Swap status
echo [3] Turn Swap On
echo [4] Turn Swap Off
echo [5] Set swappiness
echo [6] Memory Status
echo [7] Partition SD Card
echo [8] Mount SDCARD in recovery
echo [9] Unmount SDCARD in recovery
echo [10] Repair EXT partition
echo [11] Erase EXT partition
echo [12] Backup EXT partition
echo [13] Restore EXT partition
echo [14] Push lockscreen image
echo [15] Reboot device to recovery
echo [16] Reboot device
echo [17] Wipe device <--- May be buggy
echo [99] Exit
Partitioning is done by using 51dusty's sdparted.
v1.1
Added Repair EXT partition
Added Wipe device (may be buggy)
Extract config.bat to your adb directory (containing adb.exe and AdbWinApi.dll) and run it.
If you aren't familiar with adb, check this thread here.
phillip_hooper said:
I wrote this to help when I'm flashing roms and thought I'd share. Let me know what you think - comments, suggestions, fixes.
This is a batch file that gives a menu to perform the following functions:
Code:
[1] Edit user.conf
[2] Swap status
[3] Turn Swap On
[4] Turn Swap Off
[5] Set swappiness
[6] Memory Status
[7] Partition SD Card
[8] Mount SDCARD in recovery
[9] Unmount SDCARD in recovery
[10] Erase EXT partition
[11] Backup EXT partition
[12] Restore EXT partition
[13] Push lockscreen image
[14] Reboot device to recovery
[15] Reboot device
Partitioning is done by using 51dusty's sdparted.
Extract config.bat to your adb directory (containing adb.exe and AdbWinApi.dll) and run it.
Click to expand...
Click to collapse
Hi Phillip, this looks like it has some promise. Can you give some more specifics (commands) for the noobs (like once you open ADB, what then?), or, does a menu come up? I am at adb remount/successful. now what? Thanks.
wbexpress said:
Hi Phillip, this looks like it has some promise. Can you give some more specifics (commands) for the noobs (like once you open ADB, what then?), or, does a menu come up? I am at adb remount/successful. now what? Thanks.
Click to expand...
Click to collapse
All you have to do is run config.bat, don't run adb. Type the number of what you want it to do.
Here's some more explanation of what this does, minus the obvious ones.
[1] Edit user.conf
This will automatically pull the user.conf file and open an editor, then automatically put it back on your phone after you make your changes and save.
[2] Swap status
[3] Turn Swap On
[4] Turn Swap Off
[5] Set swappiness
This asks for a value then sets the swappiness to that value.
[6] Memory Status
This shows how much RAM and swap is available and how much is in use.
[7] Partition SD Card
This asks what filesystem you want (EXT2, EXT3, EXT4) on your SDcard, and how big you want the swap partition to be, then formats the card have a FAT32, EXT?, and Swap partition.
[8] Mount SDCARD in recovery
This gives your SDCARD a drive letter in windows while the phone is in recovery mode.
[9] Unmount SDCARD in recovery
[10] Erase EXT partition
[11] Backup EXT partition
This copies the files in your EXT partition to a folder on your computer.
[12] Restore EXT partition
[13] Push lockscreen image
This takes a picture you put in the same folder as config.bat and makes it the background image of your lockscreen.
[14] Reboot device to recovery
[15] Reboot device
phillip_hooper said:
All you have to do is run config.bat, don't run adb. Type the number of what you want it to do.
Here's some more explanation of what this does, minus the obvious ones.
[1] Edit user.conf
This will automatically pull the user.conf file and open an editor, then automatically put it back on your phone after you make your changes and save.
[2] Swap status
[3] Turn Swap On
[4] Turn Swap Off
[5] Set swappiness
This asks for a value then sets the swappiness to that value.
[6] Memory Status
This shows how much RAM and swap is available and how much is in use.
[7] Partition SD Card
This asks what filesystem you want (EXT2, EXT3, EXT4) on your SDcard, and how big you want the swap partition to be, then formats the card have a FAT32, EXT?, and Swap partition.
[8] Mount SDCARD in recovery
This gives your SDCARD a drive letter in windows while the phone is in recovery mode.
[9] Unmount SDCARD in recovery
[10] Erase EXT partition
[11] Backup EXT partition
This copies the files in your EXT partition to a folder on your computer.
[12] Restore EXT partition
[13] Push lockscreen image
This takes a picture you put in the same folder as config.bat and makes it the background image of your lockscreen.
[14] Reboot device to recovery
[15] Reboot device
Click to expand...
Click to collapse
Yeah, this is gonna be sweet when I get some time to play around with it. If I have ?'s would you prefer PM's or in open forum?
This looks awesome. Do you have to already have apps2sd on your mt3g for use of step 7? Or is this just an easier way to do so?
wbexpress said:
Yeah, this is gonna be sweet when I get some time to play around with it. If I have ?'s would you prefer PM's or in open forum?
Click to expand...
Click to collapse
Feel free to post in the thread.
rizoh66 said:
This looks awesome. Do you have to already have apps2sd on your mt3g for use of step 7? Or is this just an easier way to do so?
Click to expand...
Click to collapse
7 is to create partitions on the card, then if you flash a rom that uses apps2sd it'll use that ext partition. It uses sdparted to create the partitions, which I think has become standard on most roms. If you flash a rom without it, you can put it on there using the link the first post.
CPU status readings
Hi Phillip, I'm having a lot of fun with your configurator. I would like to ask your opinions on some things related to CPU speed. To that end, I have enclosed the user.conf text I ran, below. The first question is, though: do you have an opinion as to whether the Overclock Widget app causes any potential conflicts or issues? If so, I will get rid of it. My sense from communicating with Mike Taylor on the JACxROM thread is that the ROM more or less sets the CPU automatically. Next, as I understand it, if sacrificing a bit of battery life is acceptable, then the minimum frequency can be set higher, and in one of his last posts he recommended 245760. From what I am attaching below, I am not savvy enough to know exactly what I've got going here. The terms "scaling min freq" and "default" are a little bit beyond me. Bottom line: is the lowest setting currently 128000 or 245760, and is there really any harm in having it set to this level or even higher? I'm almost always plugged into some power source, so battery life does not concern me. Finally, please explain what this means at the bottom of the reading: "percent cpu usage before going up a speed step". Thanks...
# General parameters
general{
apps2sd=1 # this is useless here, require a modified a2sd script
CONF_FILE="/system/bin/user.conf" #location of user.conf
media2sd=1 # moves the medias to sd if /system/sd/media exists
permission_fix=0 # perform permission fix at start up (this parameter sets to 0 after script is executed)
odex_auto=0 # perform auto create or del odex for applications installed or removed within 3 days
odex_apk=0 # creates odex for apk that does not have odex yet (this parameter sets to 0 after script is executed)
odex_all=0 # creates odexes for all apks (this parameter sets to 0 after script is executed)
}
#compcache related parameters
compcache{
compcache_en=1 # enable(1) or disable(0) compcache
cc_disksize=32 # Ram swap disksize - any number between 1 to 95 should work; default is 1/4 of the RAM (24)
cc_memlimit=16 # Limit the memory usage for backing swap (cc .5x known issue-defaults to 15% of total RAM)
cc_backingswap_en=1 # enable(1) or disable(0) backing swap
cc_backingswap=/dev/block/mmcblk0p3 # pointing to the backingswap partition device, swap
cc_swappiness=28 # default 60
}
#create swap file for compcache or linux swap
swap_file{
swap_file_en=0 # set to 1 to create swap file
# set to 0 to del the swap file
linux_swap_file_size=32 # swap file size in MB
linux_swap_file=/system/sd/swap.file # pointing to the swap file location ( must be /system/sd/)
}
#Linux swap parameters
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
linux_swap{
linux_swap_en=0 # enable(1) or disable(0) linux swap
linux_swap_partition=/dev/block/mmcblk0p3 # swap partition device
swappiness=30 # default 60
}
#virtual memory
sys_vm{
sys_vm_en=1 # enable(1) or disable(0) virtual memory configurations
page_cluster=0 # default 3, (0 since CM3.9.6+)
laptop_mode=0 # default 0
dirty_expire_centisecs=3000 # default 3000
dirty_writeback_centisecs=500 # default 500
dirty_background_ratio=5 # default 5
dirty_ratio=10 # default 10
}
#cpu clock
proc_cpu{
proc_cpu_en=1 # enable(1) or disable(0) user cpu configurations
# freqency options
# 19200
# 122880
# 128000
# 245760
# 384000
# 528000
scaling_min_freq=128000 # default 245760
scaling_max_freq=528000 # default 528000
sampling_rate=2000000 # default 2000000 depending on kernel version
powersave_bias=0 # default 0, (200 since CM3.9.6+ )
up_threshold=45 # default 40, percent cpu usage before going up a speed step
}
# custom shell commands, these commands run last
custom_shells{
#echo "Hello!!!" # example
#echo "You can create your own cmmands here" # example
}
I'm glad you're getting use out of it. I've never used the overclock widget, as you said, you don't really need it because the rom does it for you. I set the minimum cpu to 384000 and up threshold to 30 and it stays speedy.
The up threshold - the percent cpu usage before going up a step means how much of the cpu do you want to get used before it speeds the cpu up. I set this at 30. I really don't know if these settings do any damage, but it runs fast. I'm sure the battery takes a hit, but my phone stays plugged in a lot.
For the user.conf file I make these changes:
compcache_en=0
cc_backingswap_en=0
linux_swap_en=1
swappiness=40
scaling_min_freq= 384000
up_threshold=30
phillip_hooper said:
I'm glad you're getting use out of it. I've never used the overclock widget, as you said, you don't really need it because the rom does it for you. I set the minimum cpu to 384000 and up threshold to 30 and it stays speedy.
The up threshold - the percent cpu usage before going up a step means how much of the cpu do you want to get used before it speeds the cpu up. I set this at 30. I really don't know if these settings do any damage, but it runs fast. I'm sure the battery takes a hit, but my phone stays plugged in a lot.
For the user.conf file I make these changes:
compcache_en=0
cc_backingswap_en=0
linux_swap_en=1
swappiness=40
scaling_min_freq= 384000
up_threshold=30
Click to expand...
Click to collapse
Sorry, I think I'm doing something wrong. I just changed those values, hit "enter", x'ed out of the cmd screen, reopened, entered "1", but the values did not change. Is there a final step I am missing? Do I need to click "save" in the drop down of the cmd screen instead of "enter" on the keyboard?
wbexpress said:
Sorry, I think I'm doing something wrong. I just changed those values, hit "enter", x'ed out of the cmd screen, reopened, entered "1", but the values did not change. Is there a final step I am missing? Do I need to click "save" in the drop down of the cmd screen instead of "enter" on the keyboard?
Click to expand...
Click to collapse
I see what happened. You edited the temp file that gets put on your computer and saved it, but closed the command window before it was put back on your phone. After saving your edits, you have to choose 'exit' from the file menu. That'll exit the editor, then put the changed file onto your phone and return you to the menu.
After editing:
alt+f (file menu)
s (save)
alt+f (file menu)
x (exit)
phillip_hooper said:
I see what happened. You edited the temp file that gets put on your computer and saved it, but closed the command window before it was put back on your phone. After saving your edits, you have to choose 'exit' from the file menu. That'll exit the editor, then put the changed file onto your phone and return you to the menu.
After editing:
alt+f (file menu)
s (save)
alt+f (file menu)
x (exit)
Click to expand...
Click to collapse
OK, that was beyond easy. Thanx again. One last question (for now): I know even less about the whole compcache/linux swap thing than I do about CPU settings. However, I think I get it that you either use one or the other, and in post #9 I'm assuming you're using the linux swap and not compcache. Can you explain why you chose one over the other? I know there's all sorts of debates, just wanted to hear your thoughts on the subject.
wbexpress said:
OK, that was beyond easy. Thanx again. One last question (for now): I know even less about the whole compcache/linux swap thing than I do about CPU settings. However, I think I get it that you either use one or the other, and in post #9 I'm assuming you're using the linux swap and not compcache. Can you explain why you chose one over the other? I know there's all sorts of debates, just wanted to hear your thoughts on the subject.
Click to expand...
Click to collapse
I use linux swap because I'm running jacxheroski 2.1 (I tried 2.2a/b/r4 and it was too buggy and rebooted) and compcache doesn't work on the MyTouch on 2.1. I really don't know anything about how each works and how they are different, I just know linux swap works for me.
phillip_hooper said:
I use linux swap because I'm running jacxheroski 2.1 (I tried 2.2a/b/r4 and it was too buggy and rebooted) and compcache doesn't work on the MyTouch on 2.1. I really don't know anything about how each works and how they are different, I just know linux swap works for me.
Click to expand...
Click to collapse
Good enough. Yup, I'm gathering as I read more, "to each his own". Mike recommended the settings he put into the JACxROM, so I'll go with the master's recommendations. Thanks again.
new info
Hi Phillip, long story shorter, Mike changed some things up on the earlier JACxROM version, and based on what he said and what I'm attaching, it appears linux swap vs. compcache is the way to go on that one. He recommends a 64 MB swap partition. I am not able to tell what size it is. Can you? Your configurator is really fun but still a bit beyond me...
# User.conf by miketaylor00
# General parameters
general{
apps2sd=0 # this is useless here, require a modified a2sd script
media2sd=1 # moves the medias to sd if /system/sd/media exists
}
#compcache related parameters
compcache{
compcache_en=0 # enable(1) or disable(0) compcache
cc_disksize=32 # Ram swap disksize - any number between 1 to 95 should work
cc_memlimit=18 # Limite the memory usage when backing swap is used
cc_backingswap_en=0 # enable or disable backing swap
cc_backingswap=/dev/block/mmcblk0p3 # pointing to the backingswap partition device
cc_swappiness=28 # default 60
}
#Linux swap parameters
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
linux_swap{
linux_swap_en=1 # enable(1) or disable(0) linux swap
linux_swap_partition=/dev/block/mmcblk0p3 # swap partition device
swappiness=30 # default 60
}
#virtual memory
sys_vm{
sys_vm_en=1 #enable(1) or disable(0) virtual memory configurations
page_cluster=3 # default 0
laptop_mode=0 # default 0
dirty_expire_centisecs=3000 # default 3000
dirty_writeback_centisecs=500 # default 500
dirty_background_ratio=5 # default 5
dirty_ratio=10 # default 10
}
#cpu clock
proc_cpu{
proc_cpu_en=1 #enable(1) or disable(0) user cpu configurations
# freqency options
# 19200
# 122880
# 128000
# 245760
# 384000
# 528000
scaling_min_freq=192000 # default 245760
scaling_max_freq=528000 # default 528000
sampling_rate=2000000 #default 200000 depending on kernel version
powersave_bias=0 # default 0, CM3.9.6 default uses 200
up_threshold=45 # default 40, percent cpu usage before going up a speed step
}
wbexpress said:
Hi Phillip, long story shorter, Mike changed some things up on the earlier JACxROM version, and based on what he said and what I'm attaching, it appears linux swap vs. compcache is the way to go on that one. He recommends a 64 MB swap partition. I am not able to tell what size it is. Can you? Your configurator is really fun but still a bit beyond me...
Click to expand...
Click to collapse
Using swap automatically uses the full swap partition (whatever size you set when you formatted the SD card).
Use "[6] Memory Status" from the menu.
Your total swap size will be across from "Swap:" under "total" heres mine (62676):
Code:
total used free shared buffers
Mem: 97852 96120 1732 0 620
Swap: 62676 25528 37148
Total: 160528 121648 38880
any chance of this being converted to linux-friendly ?!
I might be able to do the work to convert the script to linux-friendly, if mr hooper would allow it!
crizznaig said:
any chance of this being converted to linux-friendly ?!
I might be able to do the work to convert the script to linux-friendly, if mr hooper would allow it!
Click to expand...
Click to collapse
That'd be awesome. I don't use linux, but if you want to knock that out, feel free. I'll add it to the first post.
Hi, I'm new to Android.
I installed the SDK, and put your script in ../android/tools
Yes, I put ../android/tools in my path (winxp).
I'm running Cyanogenmod 4.1.999
when I run your script, it says 'Device state is unknown'.
I can mount my sdcard as a removable drive when I connect it via usb to my computer. Did I not install something that I needed to?
Also, does anyone know where Cyanogen put the user.conf in his mod?
Thanks in advance and sorry for my noobitude.
olorin12 said:
Hi, I'm new to Android.
I installed the SDK, and put your script in ../android/tools
Yes, I put ../android/tools in my path (winxp).
I'm running Cyanogenmod 4.1.999
when I run your script, it says 'Device state is unknown'.
I can mount my sdcard as a removable drive when I connect it via usb to my computer. Did I not install something that I needed to?
Also, does anyone know where Cyanogen put the user.conf in his mod?
Thanks in advance and sorry for my noobitude.
Click to expand...
Click to collapse
If you are in recovery mode it should say device is unknown. This is normal. If the phone is booted and shows unknown then you'll want to be sure you installed the usb_drivers from the sdk properly.
Thanks, that worked.
I have 2 computers, drivers would not update on one, but the were able to install on the other. Can't figure out why.
I'm using cyanogenmod 4.1.999, and it says that I don't have a user.conf, and it also says 'system/bin/swap not found'.
This is what it shows when I press 6 (memory status):
total used free shared buffers
Mem: 98140 96300 1840 0 432
Swap: 96812 24520 72292
Total: 194952 120820 74132
Device is booted.
Is it normal for that much memory to be used (I have the 192mb Mytouch)?
P.S., thanks for the Configurator app!
I try this http://forum.xda-developers.com/showthread.php?t=1821071&highlight=swap and it's work, all is OK, on 481, enabling swap(file) failed.
spidermoon said:
I try this http://forum.xda-developers.com/showthread.php?t=1821071&highlight=swap and it's work, all is OK, on 481, enabling swap(file) failed.
Click to expand...
Click to collapse
And experience is? Any smoother? Faster?
(You used physical Linux swap partition or just as a file inside first fat32 partition?
spidermoon said:
I try this http://forum.xda-developers.com/showthread.php?t=1821071&highlight=swap and it's work, all is OK, on 481, enabling swap(file) failed.
Click to expand...
Click to collapse
How do you check whether it works or not? *I'm noob btw, so don't be too harsh on me.
At my device:
The starting without swapper2, when I type free, the swap is not at zero as the tutorial.
After activating swapper2 *following the tutorial
The total swap file is also not the same as the swap file setting when I type free at terminal emulator.
--edit--
The terminal free swap file status increased 30MB.
So maybe it really works. I'm noob so I don't really knows.
To check swap and memory, i use meminfo by Johannes Zweng on the market, you can view meminfo and swap, very handy.
I disable physical swap with swapper 2, but i let zram active, with 60Mo ram and 60% swapiness. Maybe it's a placebo effect, but the phone seems more responsive when switching apps. of course, there is no miracle, if you play memory hog games like Asphalt 6, when you end the game, there is likely a home restart.
I try 80Mo but this seems to much, you can also play with swapiness, but for me 60% is good, the more the percentage, the more the swapping.
I known It's looks strange to use ram to swap from ram, but zram compress ram, so maybe this let you with more free ram
Since i'm on a stock kernel without init.d support, i use Script Manager with a script and start on boot. I use this script, it's a little different than the one in the thread, i had swapoff command.
#!/system/bin/sh
sysctl -w vm.swappiness=60
swapoff /dev/block/zram0
echo '1' > /sys/block/zram0/reset
echo $((60*1024*1024)) > /sys/block/zram0/disksize
mkswap /dev/block/zram0
swapon /dev/block/zram0
-- Update:
User Guitwo2 wrote an excellent init.d-script to load the overclock-module on boot. To make it even easier to use, he made a flashable zip. See this post: http://forum.xda-developers.com/showpost.php?p=39659179&postcount=6
Hi,
i recently updated the overclock-module (see attachement). Before starting it, find the required addresses in memory, as the module's defaults match only the RTFR-Firmware:
Find address of transition-table
Open adb-shell, become su and type
Code:
cat /proc/kallsyms | grep -A 1 pll0_960_pll1_245_pll2_1200_pll4_800_25a
You'll find the address at the leftmost side in the first row of the result.
Find address time-in-state-table
In the same shell, type
Code:
cat /proc/kallsyms | grep -A 1 cpufreq_stats_table
Again, the required address ist at the left side of the first row.
Then, one can try to install the kernel module. Parameter "pll2_l_val" ist used to adjust the multiplier of pll2. Default is 62, i got it stable at 69 (=CPU-Speed of 69 * 19.2 Mhz / 2 = 662 MHz). You can also try to set the multipliers of pll0 and pll1. I didn't test it.
So, with the above addresses one types the following to load the kernel module (replace the addresses with the ones you found, where parameter acpu_freq_tbl_addr equals transition-table and parameter cpufreq_stats_tbl_addr takes the time-in-state-table-address) :
Code:
busybox insmod /sdcard/temp/defymini_oc.ko pll2_l_val=63 acpu_freq_tbl_addr=0xc0755bdc cpufreq_stats_tbl_addr=0xc0789134
Update: In version 0.3 there is another parameter, "vdd", which takes a value between 1 and 7 (don't play with it, as there is no error handling!), where 1 is the lowest and 7 the highest vdd. Default is 6.
CHANGELOG
2013-04-29 0.4 added source (use it for other devices with locked bootloader)
2013-04-08 0.4 beautified messages, show current vdd
2013-04-01 0.3 added vdd-level for highest freq as parameter
2013-03-27 0.2 added time-in-state table modification (CPUSpy etc)
2013-03-21 0.1 initial release
rootdefyxt320 said:
Can we change the socinfo_get_msm_cpu() or is it already fused into the silicon chip?
Click to expand...
Click to collapse
No, but we can change the definition for soc-id 96 to msm7225aa. I did it. Didn't work. when switching to 800Mhz via PLL4, device hangs and reboots.
Using cat /proc/kallsyms | grep -A 1 pll0_960_pll1_245_pll2_1200_pll4_800_25a gives grep: not found
write: Broken pipe
Bernd.Defy said:
No, but we can change the definition for soc-id 96 to msm7225aa. I did it. Didn't work. when switching to 800Mhz via PLL4, device hangs and reboots.
Click to expand...
Click to collapse
Probably not supported in kernel or we can try some how to patch it via modules like the Motorola Defy MB525/MB526 which has a locked bootloader or try to obtain the Defy XT535 kernel aka boot.img and flash it via fastboot but it's risky. I can't get the memory addresses. Just upload your boot.img from your nandroid backup so I can flash it via fastboot. What's the difference between PLL2 overclocking and PLL4 overclock?
Bernd.Defy said:
Hi,
i recently updated the overclock-module (see attachement). Before starting it, find the required addresses in memory, as the module's defaults match only the RTFR-Firmware:
Find address of transition-table
Open adb-shell, become su and type
Code:
cat /proc/kallsyms | grep -A 1 pll0_960_pll1_245_pll2_1200_pll4_800_25a
You'll find the address at the leftmost side in the first row of the result.
Find address time-in-state-table
In the same shell, type
Code:
cat /proc/kallsyms | grep -A 1 cpufreq_stats_table
Again, the required address ist at the left side of the first row.
Then, one can try to install the kernel module. Parameter "pll2_l_val" ist used to adjust the multiplier of pll2. Default is 62, i got it stable at 69 (=CPU-Speed of 69 * 19.2 Mhz / 2 = 662 MHz). You can also try to set the multipliers of pll0 and pll1. I didn't test it.
So, with the above addresses one types the following to load the kernel module (replace the addresses with the ones you found, where parameter acpu_freq_tbl_addr equals transition-table and parameter cpufreq_stats_tbl_addr takes the time-in-state-table-address) :
Code:
busybox insmod /sdcard/temp/defymini_oc.ko pll2_l_val=63 acpu_freq_tbl_addr=0xc0755bdc cpufreq_stats_tbl_addr=0xc0789134
Click to expand...
Click to collapse
I just followed your instructions.
The addresses were the same.
It seems to work so far.
Mine seems stable too.
Great work !
I am loading it on boot via a init.d script.
With : TNBST_4_0A.1F.0ERPS - WE_Orange_Spain_v22_0223_FLEXTNBST
What could we probably gain by increasing PLL0 and PLL1 ?
And which value should we choose ?
With pll2: 70 I get 672MHz stable.
Sh0m1 said:
Using cat /proc/kallsyms | grep -A 1 pll0_960_pll1_245_pll2_1200_pll4_800_25a gives grep: not found
write: Broken pipe
Click to expand...
Click to collapse
Code:
cat /proc/kallsyms > /sdcard/toto.log
Then search for pll0_960_pll1_245_pll2_1200_pll4_800_25a in the /sdcard/toto.log file.
---------- Post added at 11:08 AM ---------- Previous post was at 10:38 AM ----------
If you want to load the module on boot and have init.d support, there is attached a init.d script that will do it automatically.
There is a CWM flashable zip
0 - push the XT320_overclock.zip on your sdcard
1 - Make sure you have busybox installed
2 - Reboot with a CWM... (recovery.img attached)
Code:
>adb reboot bootloader
> fastboot boot recovery.img
3 - Flash XT320_overclock.zip thorough CWM
4 - Enjoy !
Default values are : pll2=69 and vdd=6
Edit /etc/init.d/66ocmodule for further tweaking.
In V2 - updater-script has been updated, to fix busybox permission issues.
66ocmodule script change log :
V0.1
First be sure to adjust pll2_l_val, acpu_freq_tbl_addr and cpufreq_stats_tbl_addr.
Be sure that defymini_oc.ko is in /sdcard/
1 - push the module to your phone :
Code:
adb push 66ocmodule.txt /sdcard/66ocmodule.txt
2 - in shell mode, remove the extension .txt and move the file to /etc/init.d folder
Code:
mv /sdcard/66ocmodule.txt /etc/init.d/66ocmodule
3 - Change mode to -rwxrwxrwx
Code:
chmod 777 /etc/init.d/66ocmodule
4 - Change user/group to root/root
Code:
chown 0.0 /etc/init.d/66ocmodule
That should work.
NB : you may have to remount your /system partition in rw to change user/group
Code:
busybox mount -o remount,rw -t auto /system
NB2: For init.d support go to : http://forum.xda-developers.com/showthread.php?t=1933849
NB3: have only one version of 66ocmodule in your /etc/init.d directory to avoid trouble.
NB4: if you are experiencing trouble with step 2, use
Code:
cp /sdcard/66ocmodule_vX.X.txt /etc/init.d/66ocmodule
rm /sdcard/66ocmodule_vX.X.txt
where X.X is the number version
NB5: be extra careful when editing the files. You could mess when with the end of line markers. I recommend using Notepad++ and check if the end of line markers are in unix format (LF) (view/show symbol/show all characters). You can correct that easily with edit/EOL conversion/convert to UNIX format
NB6: make sure there is a blank line in the end of the file as well
V0.2
gets automatically the needed addresses.
Module is supposed to be located at /data/defymini_oc.ko
If troubleshoot refer to the /data/oc.log log file.
Set for a 700MHz oc
Follow steps 1 to 4 for installation. Read NB, NB2 and NB3.
V0.3
Checks for the presence of older versions and gives a warning
Checks if the module is already loaded (unload if true)
Chekcs in the end if the module is loaded
+ Minor changes
pll value and module path can be edited in the beginning of the file
Follow steps 1 to 4 for installation. Read NB, NB2 and NB3.
V0.4
Vdd support
+Minor changes
pll and vdd values and module path can be edited in the beginning of the file
Follow steps 1 to 4 for installation. Read NB, NB2 and NB3.
V0.5
best busybox support
+Minor changes
pll and vdd values and module path can be edited in the beginning of the file
V0.6
Force vdd change if performance governor set
+ Minor changes
Follow steps 1 to 4 for installation. Read all NBs.
pll and vdd values and module path can be edited in the beginning of the file
Follow steps 1 to 4 for installation. Read NB, NB2 and NB3.
V0.7
+ Minor changes
V0.8
Log some info, available in logcat
V0.9
Can adjust all pll values.
What could we probably gain by increasing PLL0 and PLL1 ?
And which value should we choose ?
Click to expand...
Click to collapse
Tried to oc pll1 -> distorted display. can't recommend that. OC'ing PLL0 leads to somewhat faster 480 MHz frequency (480 MHz is generated by PLL0 and DIV2, so 960MHz / 2 => 480 MHz.) In the module only changed PLL2 is payed attention for modified frequency-tables.
---------- Post added at 11:53 AM ---------- Previous post was at 11:25 AM ----------
rootdefyxt320 said:
What's the difference between PLL2 overclocking and PLL4 overclock?
Click to expand...
Click to collapse
Simple difference: PLL2 exists in SOC, PLL4 does not exist. So Motorola didn't underclock something, they got a crippled MSM7225A. Speed ist limitied by hardware.
I'm pushing pll2_l_val to 73 (+11)
I get 700 MHz stable for now. Without overeating.
I'll keep you posted.
Guitwo2 said:
I'm pushing pll2_l_val to 73 (+11)
I get 700 MHz stable for now. Without overeating.
I'll keep you posted.
Click to expand...
Click to collapse
Do you still use the "performance" governor?
Re: Defy-Mini: Updated the overclock-module
I use setCPU with different governor. All seems to work. Higher freq (600) is replaced by a new one thanks to your OC module.
Btw 700 is stable. I runned some stress tests. Performances are increased. Linpack score goes from. 14.5 to 17.5 MFLOPS.
I was wondering if the soc pll were used by other stuff than cpu. Could explain your troubleshoot when oc pll0.
XT230 rocks now
Guitwo2 said:
I use setCPU with different governor. All seems to work. Higher freq (600) is replaced by a new one thanks to your OC module.
Btw 700 is stable. I runned some stress tests. Performances are increased. Linpack score goes from. 14.5 to 17.5 MFLOPS.
XT230 rocks now
Click to expand...
Click to collapse
...but keep an eye on stability.
For ~16% overclocking ~20% higher MFLOPS? Hmmm.... sounds - interesting.
Re: Defy-Mini: Updated the overclock-module
Bernd.Defy said:
...but keep an eye on stability.
For ~16% overclocking ~20% higher MFLOPS? Hmmm.... sounds - interesting.
Click to expand...
Click to collapse
I would rather have a buggy phone than a awfully slow one... (thank you motorola).
The linpack result shows a .5 MFLOPS standard deviation.
XT230 rocks now
I'm a noob, can you tell me what exactly do i need? Busybox?
Re: Defy-Mini: Updated the overclock-module
Sh0m1 said:
I'm a noob, can you tell me what exactly do i need? Busybox?
Click to expand...
Click to collapse
Busybox / adb or a terminal emulator / root access
Eventually init.d support if you want to use my script to automatically load the module at boot.
XT230 rocks now
Ok so i've installed busybox, done steps in the first post but nothing happened? Is it normal that the phone hadn't restarted or something?
Sh0m1 said:
Ok so i've installed busybox, done steps in the first post but nothing happened? Is it normal that the phone hadn't restarted or something?
Click to expand...
Click to collapse
It's definatly a good sign if your phone doesn't reboot. Just check the Frequencies using CPU-Spy or something else.
And please post your Firmware-Version and the adresses you used, i'll add them in the first post.
I just installed your module from the first post and i changed value from 63 to 70, and now i have 672mhz. How can i change pll2 value again? What do i type? If i use your module but with 73 instead od 63 i get: File already exists.
Re: Defy-Mini: Updated the overclock-module
Sh0m1 said:
I just installed your module from the first post and i changed value from 63 to 70, and now i have 672mhz. How can i change pll2 value again? What do i type? If i use your module but with 73 instead od 63 i get: File already exists.
Click to expand...
Click to collapse
reboot and load it again with other arguments.
Or use rmmod command
Code:
busybox rmmod defymini_oc.ko
XT230 rocks now
Sh0m1 said:
I just installed your module from the first post and i changed value from 63 to 70, and now i have 672mhz. How can i change pll2 value again? What do i type? If i use your module but with 73 instead od 63 i get: File already exists.
Click to expand...
Click to collapse
You have to remove the module first (no need to reboot):
Code:
rmmod defymini_oc.ko
Then you can install the module again.
Alright i've used 66overclock file and pushed it manually with root explorer, changed permissions, set owner and i've edited it so pll2 is 73. My phone is rebooting atm, i will post if i had success.
---------- Post added at 04:22 PM ---------- Previous post was at 04:12 PM ----------
I just cant get it to keep freq at 700 after reboot. I've done everything from Guitwo2's post and it keeps resetting to 600MHz after reboot
linux partition using cwm recovery
&
increasing virtual ram​
Perform Following:
1. Remove all Swapper/Swapper2/RamExpander/Ram-Manager or Swap creating any apps that you are using currently
2. Remove swap.swap or any such swap files from sdcard root (if any you find)
3. Now take full Backup of your SDCARD contents-bcoz You are going to format it
4.Install CWMRecovery (if not already having it on your Device)
5. Reboot into CWM Recovery and go to 'advanced'--> "partition your sdcard"
Click to expand...
Click to collapse
Creating CWM partition(Linux Partition):
Choose following parameters while creatig partition:
Partition Size: 1014MB
Swap Size:256MB
Confirm & Execute process. You can parameters according to your understanding as well.
It will wipe all data/partitions on sdcard and will create a new linux (ext3) partition on sdcard with a swap worth 256MB. Reboot Device when process completes.
Click to expand...
Click to collapse
Adding init.d script Support to your ROM (If on stock ROM)
Requirement: You must have busybox installed prior to proceeding for next step
This step is for those who are not on Custom ROMs. All Custom ROM preferably have busybox & init.d support functionality inbuilt and carry init.d folder in /system/etc/<here>
1. Download Installing and activating Uni-init.v1.0.apk will create and activate init.d folder in your /system/etc/<init.d>.
3. init.d folder will carry system tweaks to enhance performance
Click to expand...
Click to collapse
Adding init.d Tweaks Collection:General tweaks and Tweaks related to Linux partition:
1.Now download all init.d Tweaks and copy them into your init.d folder
2.Check whether it has "androidswap' files or not if not download it from 'files' section or somewhere from pinned posts. 'androidswap' carries codes and will create swap on your linux partition.
3.Open androidswap using notepad++ and set swappiness to be created 60(recommended). (You can experiment here settings swappines from 50-100)
Script will looks as below:
#!/system/bin/sh
swapon dev/block/mmcblk0p3
echo 60 > /proc/sys/vm/swappiness
Click to expand...
Click to collapse
4. If you have not edited androidswap then skip above step. If you have increased swappiness count then Move the edited file to your /system/etc/init.d/<here>
5. 'androidswap' and 'fstab' that you find in init.d now will be setting up your CWM partition to work properly.
6. U can check the active swap on sdcard after a reboot using adb shell commands or using Terminal emulator.
Click to expand...
Click to collapse
NOW REBOOT DEVICE to make all the Changes to take effect.
Click to expand...
Click to collapse
Checking Status of Linux (ext3) Partition and Stauts of Swap Created by CWM:
1. You must have rebooted as said earlier to changes to take effect
2. Connect your device with PC and Open Command Prompt
How To enter adb shell command menu:
Code:
[FONT="Arial Black"][SIZE="3"][COLOR="Gray"]
C:\.android>adb devices
List of devices attached
XXXXXXXXX Device
C:\.android>adb root
adbd is already running as root
C:\.android>adb remount rw
remount succeeded
C:\.android>adb shell
sh-4.2# su
su[/COLOR][/SIZE][/FONT]
To check swap partition status use following command:
Code:
[FONT="Arial Black"][SIZE="3"][COLOR="Purple"]sh-4.2# cat /proc/swaps
cat /proc/swaps
Filename Type Size Used Priority
/dev/block/mmcblk0p3 partition 249976 69904 -1[/COLOR][/SIZE][/FONT]
To check swap activity status use following command:
Code:
[FONT="Arial Black"][SIZE="3"][COLOR="Purple"]sh-4.2# free
free
total used free shared buffers
Mem: 168616 166000 2616 0 28
-/+ buffers: 165972 2644
Swap: 249976 69904 180072[/COLOR][/SIZE][/FONT]
[Swap: 249976 69904 180072 ]values shows that your Swap is active and working properly.
Click to expand...
Click to collapse
Note:-
i have tested this whole tutorial on micromax a57 !! everything is working awesome..!!
The EGL patch i have mentioned exists only for Adreno 200 ..!!
follow this tut on adreno200 devices...
Click to expand...
Click to collapse
Enjoy !!!
Have I helped you ??? If Yes !!! Go and find "THANKS" Button​
Want to tryy....
via XDA Premium
---------- Post added at 09:18 PM ---------- Previous post was at 09:17 PM ----------
Will seconday partion also support with dis mod?
via XDA Premium
jeswinjv said:
Want to tryy....
via XDA Premium
---------- Post added at 09:18 PM ---------- Previous post was at 09:17 PM ----------
Will seconday partion also support with dis mod?
via XDA Premium
Click to expand...
Click to collapse
Sent from my Nexus 5 using XDA premium app
Well bro i have not tested secondary partition ...
U just try it....
If it works than plz report me...
Nd plz hit thanks if u lyk this tutorial....