Related
Hi guyz, i need someone help me.
I need 2 read from logcat a specific line:
Code:
I/ActicityManager< 1782> Config Changed: { scale1.0 imsi=204/16 loc=nl_NL touch=3 [B][COLOR="Red"]keys=2/1/2[/COLOR][/B] nav=2/1orien=1 layout=17 uiMode=17 seq=20}
How can i do to compare the text on red, with some variable into a bash script ?
Thanks in advance
on linux
adb logcat | grep "yourtext"
shows only lines with the text specified
slade87 said:
on linux
adb logcat | grep "yourtext"
shows only lines with the text specified
Click to expand...
Click to collapse
thanks, but i need 2 compare on smartphone, its for keyboard fix, and go something like this:
K1= "keys=2/1/1"
K2="here it takes text from logcat"
if [ "$K1" = "$K2" ];
then
turn on lights
else
turn off lights
fi
Click to expand...
Click to collapse
try to take the event:
maybe this helps:
http://stackoverflow.com/questions/1068000/android-keyboard-event-handler
slade87 said:
try to take the event:
maybe this helps:
http://stackoverflow.com/questions/1068000/android-keyboard-event-handler
Click to expand...
Click to collapse
It's that java languaje ?, **** im confused
PD: Was android programmed in java?, i thought just softwares were programmed in java
Slade it is for keyboard light we need to read the logcat if the key lit is slight out keyboard light goes on
If the lit is out you get keys=2/1/2 so if the script can read that and then echo a 1 to the keylight file
Thats what we need
Sent from my U20i using XDA Premium App
slade see what we got
# keyboard in/out fix
dev=/sys/devices/platform/msm_pmic_misc_led.0
fich=/system/bin
if [ -e cat $fich/whereverlogtakesplace | tail "keys=2/1/1" ];
then
cat /dev/input/event0|read -n 4
echo 1 > $dev/brightness
sleep 1
else
echo 0 > $dev/brightness
sleep 1
fi
you need su priviliges
/system/bin/logcat
slade87 said:
you need su priviliges
/system/bin/logcat
Click to expand...
Click to collapse
You mean script goes something like this
# keyboard in/out fix
dev=/sys/devices/platform/msm_pmic_misc_led.0
fich=/system/bin
if [ -e cat $fich/logcat | tail "keys=2/1/1" ];
then
cat /dev/input/event0|read -n 4
echo 1 > $dev/brightness
sleep 1
else
echo 0 > $dev/brightness
sleep 1
fi
Click to expand...
Click to collapse
EDIT: Dont working, i need to fix, script is bad
EDIT: On /system/bin/logcat dont exist logs, i opened logcat, and no logs
do a cat on /system/bin/logcat in your terminal emulator
works for me
Put the script in /etc/init.d and put this above your script then a blank line and then your script
''#!/system/bin/sh'' without quotes ofc
And make sure permission is 777 or 755 (rwxrwxrwx or rwxr-xr-x)
And name it 00keyboard
And one more thing you are checking the logcat now and then check and read the event0
We found out reading the event0 wont work
So that line will **** up the script
Delete the line ''cat /dev/input/event0|read -n 4''
Sent from my U20i using XDA Premium App
owain94 said:
Put the script in /etc/init.d and put this above your script then a blank line and then your script
''#!/system/bin/sh'' without quotes ofc
And make sure permission is 777 or 755 (rwxrwxrwx or rwxr-xr-x)
And name it 00keyboard
And one more thing you are checking the logcat now and then check and read the event0
We found out reading the event0 wont work
So that line will **** up the script
Delete the line ''cat /dev/input/event0|read -n 4''
Sent from my U20i using XDA Premium App
Click to expand...
Click to collapse
Something like this:
'#!/system/bin/sh
# keyboard in/out fix
su
dev=/sys/devices/platform/msm_pmic_misc_led.0
fich=/system/bin
logcat > $fich/logcat.txt
if [ -e cat $fich/logcat.txt | tail "keys=2/1/1" ];
then
echo 1 > $dev/brightness
sleep 1
else
echo 0 > $dev/brightness
sleep 1
fi
Click to expand...
Click to collapse
sorry just type:
/system/bin/logcat | grep 'keys=2/1/1'
in your console
D4rKn3sSyS said:
#!/system/bin/sh
# keyboard in/out fix
dev=/sys/devices/platform/msm_pmic_misc_led.0/
fich=/system/bin/
if [ -e cat $fich/logcat | grep "keys=2/1/1" ];
then
echo 1 > $dev/brightness
sleep 9
else
if [ -e cat $fich/logcat | grep "keys=2/1/2" ];
then
echo 0 > $dev/brightness
sleep 9
fi
Click to expand...
Click to collapse
I think it need to look something like this?
Long sleep so it dont check it to often
And then loop the script so it keeps checking
Sent from my U20i using XDA Premium App
slade87 said:
sorry just type:
/system/bin/logcat | grep 'keys=2/1/1'
in your console
Click to expand...
Click to collapse
yah that works, but we need to make it working without console, on a batch script
last that i got
#!/system/bin/sh
#
# keyboard in/out fix
dev=/sys/devices/platform/msm_pmic_misc_led.0/
fich=/system/bin/
if [ -e cat $fich/logcat | grep 'keys=2/1/1' ];
then
echo 1 > $dev/brightness
sleep 9
else
if [ -e cat $fich/logcat | grep 'keys=2/1/2' ];
then
echo 0 > $dev/brightness
sleep 9
fi
Click to expand...
Click to collapse
Code:
#!/system/bin/sh
/system/bin/logcat | grep 'keys=2/1/1' > /sdcard/true.log
if [ -s /sdcard/true.log ]; then
echo 1 > /sys/devices/platform/msm_pmic_misc_led.0/brightness
rm /sdcard/true.log
sleep 1
else
echo 0 > /sys/devices/platform/msm_pmic_misc_led.0/brightness
sleep 1
fi
its a dirty hack but give it a try.
it checks wheter created file is greater than 0 bytes which it is if true.log was created.
it removes true.log if successfull.
This script runs once now dark so if u wanna check open the keyboard and do this in terminal
Adb shell
Sh ./system/etc/init.d/00keyboard
You need to add a loop if you wanna to check over and over again
But you need to add longer sleeps then so it would not eat battery the problem then is that it will not put keyboard light on when you slide the lid open but a couple seconds later
Sent from my U20i using XDA Premium App
it would need to run later so name it 91keyboard after sdcard is mounted.
slade87 said:
it would need to run later so name it 91keyboard after sdcard is mounted.
Click to expand...
Click to collapse
Ahh yes ofcourse sorry my bad
Sent from my U20i using XDA Premium App
owain94 said:
Ahh yes ofcourse sorry my bad
Sent from my U20i using XDA Premium App
Click to expand...
Click to collapse
Called it 91keyboard and then this is the actual code:
Code:
#!/system/bin/sh
#
#Keyboard light fix
/system/bin/logcat | grep 'keys=2/1/1' > /sdcard/true.log
if [ -s /sdcard/true.log ]; then
echo 1 > /sys/devices/platform/msm_pmic_misc_led.0/brightness
rm /sdcard/true.log
sleep 1
else
echo 0 > /sys/devices/platform/msm_pmic_misc_led.0/brightness
sleep 1
fi
Can anyone tell me how to add lines in one file by another bash file?
I make a script to change governors and frequency but I need to make the setting set on boot (But I dun want use 3rd party app like SetCPU).
So I need to add these lines to init.d folder's file :
Code:
#!/system/bin/bash (and i add line but this is by default?)
echo "interactiveX" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor (if the next time i chg setting , will this line be deleted or there will be another line with new setting?)
echo "800000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo "245670" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
so what command should i use to add these line ?
Code:
#!/system/bin/sh
an0nym0us_ said:
Code:
#!/system/bin/sh
Click to expand...
Click to collapse
thanks for your reply but i dont really understand...
those '800000' , '245670' and 'interactiveX' are just some example
i mean i want to write this:
echo "800000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
in init.d folder's file by other file
this file is in /system/bin
so i can access and chg my cpu setting by typing 'cpuclock'
there for i need a command to add line to init.d in order to set on boot
Code:
echo " Change CPU Governor Profile "
echo ""
echo ""
echo " Current Governor: "
echo "$CUR_GOV"
echo ""
$sleep
echo " Available Governors: "
echo "$AVAIL_GOV"
echo ""
$sleep
echo " Insert your desired governor: "
echo -n " Your Governor: ";read GOV
echo $GOV > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
[COLOR="Red"][so now i change my current governor,but the governor will be reset to default(ondemand) after next reboot]
[all i want is , while echoing current governor , i need to add one line to init.d there too , but i don know how :(][/COLOR]
echo " Complete "
echo ""
$sleep
echo -e " Current Governor: "
echo ""
echo ""
$sleep
echo -n " Press Enter Key To Continue... ";
read enterKey
opt=0;;
asd
Okay guys, I made some kernel tweaks that work on any ROM, and on the ROMs I have tried, improve battery life/performance.
THE BATTERY SAVER SCRIPT WILL NOT IMPROVE QUADRANT SCORES!
THIS SCRIPT WILL BE UPDATED FREQUENTLY!
Last update 7/11
Latest update notes: Focused more on battery life.
Battery stats on Liquid Smooth 1.5 with script:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Prerequisites:
Have root access
An app that can run scripts on boot, like Script Manger, located here:
https://play.google....ptmanager&hl=en
INSTRUCTIONS:
If using Script Manager:
1. Navigate to file.
2.Open as Script/Executable.
3.Set it to run at boot and as SU.
4.Save
5. Reboot.
If using ROM Toolbox:
1. Select "Scripter"
2.Select new script
3. Copy and paste script into Scripter
4. Select "At Boot"
5. Reboot
Make it Last script:
Code:
#!/system/bin/sh
echo "500,512000,64,2048" > /proc/sys/kernel/sem
echo "3072" > /proc/sys/kernel/msgmni
echo "74000" > /proc/sys/kernel/msgmax
echo "3072" > /proc/sys/kernel/shmmni
echo "2268435456" > /proc/sys/kernel/shmmax
echo "16777216" > /proc/sys/kernel/shmall
echo "400000" > /proc/sys/kernel/sched_min_granularity_ns
echo "256" > /proc/sys/kernel/random/write_wakeup_threshold
echo "256" > /proc/sys/kernel/random/read_wakeup_threshold
echo "5" > /proc/sys/kernel/panic
echo "575810" > /proc/sys/kernel/threads-max
echo "1" > /proc/sys/kernel/panic_on_oops
echo "25" > /proc/sys/kernel/hung_task_timeout_secs
echo "600000" > /proc/sys/kernel/sched_latency_ns
echo "2000000" > /proc/sys/kernel/sched_wakeup_granularity_ns
echo "1" > /proc/sys/kernel/sched_compat_yield
echo "0" > /proc/sys/kernel/sched_child_runs_first
echo "0" > /proc/sys/kernel/hung_task_timeout_secs
echo "0" > /proc/sys/vm/oom_kill_allocating_task
#end of /kernel , start of /fs
echo "10240" > /proc/sys/fs/inotify/max_user_watches
echo "256" > /proc/sys/fs/inotify/max_user_instances
echo "32000" > /proc/sys/fs/inotify/max_queued_events
echo "15" > /proc/sys/fs/lease-break-time
echo "165164" > /proc/sys/fs/file-max
echo "1053696" > /proc/sys/fs/nr_open
#end of /fs, start of /vm
echo "0" > /proc/sys/vm/oom_kill_allocating_task
echo "4" > /proc/sys/vm/min_free_order_shift
echo "1" > /proc/sys/vm/overcommit_memory
echo "2" > /proc/sys/vm/panic_on_oom
echo "8" > /proc/sys/vm/page-cluster
echo "3" > /proc/sys/vm/drop_caches
echo "0" > /proc/sys/vm/oom_kill_allocating_task
echo "2048" > /proc/sys/vm/min_free_kbytes
echo "20" > /proc/sys/vm/vfs_cache_pressure
echo "80" > /proc/sys/vm/dirty_background_ratio
echo "90" > /proc/sys/vm/dirty_ratio
echo "3700" > /proc/sys/vm/dirty_writeback_centisecs
echo "2100" > /proc/sys/vm/dirty_expire_centisecs
echo "0" > /proc/sys/vm/laptop_mode
echo "0" > /proc/sys/vm/block_dump
echo "0" > /proc/sys/vm/swappiness
IF THESE SCRIPTS DON'T WORK, USE THIS ONE.
Find them HERE
STEP 1. Under File, select DOWNLOAD.
STEP 2. Find a way to get it to your phone,make sure it's not opened in any text editors, until it's on your phone.
STEP 3. Follow other instructions
All credit ofr the above script goes to housas08
Latest update notes: enabled ZRAM(compressed RAM), loads SIO I/O if available, also loads the hotplugx governor and SIO on boot. Ups read and write speeds all around, file system speedups, enables multi threading, tweaks to the hotplug and hotplugx governor, and more. You might get random reboots using this script, you might only get a coupke and then they will stop or they'll never stop. Inform me if you consistent random reboots.
Credit to zepelinrox for minfreee and adj valueshttp://forum.xda-developers.com/showthread.php?t=991276
Credit to whirleyes for theKernel Modules.
GET THE SIO I/O SCHEDULER AND THE HOTPLUGX GOVERNOR HERE!
I HIGHLY RECOMMEND THEM FOR PERFORMANCE!
Speed it UP! script:
Code:
#!/system/bin/sh
# Load SIO I/O and hotplugx governor
insmod /system/lib/modules/cpufreq_hotplugX.ko
insmod /system/lib/modules/sio-iosched.ko
echo "700000" > /proc/sys/kernel/sched_latency_ns
echo "300000" > /proc/sys/kernel/sched_min_granularity_ns
echo "26188" > /proc/sys/kernel/sched_features
#writes more pages to disc, when given oppurtunity
echo "8" > /proc/sys/vm/page-cluster
#drop all cahces when given oppurtunity
echo "3" > /proc/sys/vm/drop_caches
#Keep 4MB in memory
echo "4096" > /proc/sys/vm/min_free_kbytes
#Dump Vfs cache less
echo "20" > /proc/sys/vm/vfs_cache_pressure
echo "80" > /proc/sys/vm/dirty_background_ratio
#How much dirty data there must be to write to disc
echo "90" > /proc/sys/vm/dirty_ratio
#How often writeback daemons wakeup to write data to disc.
echo "900" > /proc/sys/vm/dirty_writeback_centisecs
#How old 'dirty" data has to be to be written to disc
echo "800" > /proc/sys/vm/dirty_expire_centisecs
#^^^^^^Both expressed in 100th of second^^^^^^
echo "20" > /proc/sys/vm/swappiness
#faster sdcard read speed
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb
#enable multi threading
echo "1" > /proc/sys/kernel/multi_threading
# file system speedups
mount -o remount,noauto_da_alloc /system /system
mount -o remount,noauto_da_alloc /data /data
mount -o remount,noauto_da_alloc /cache /cache
# disable logcat - performance boost & save memory,comment, reboot for logcat.
rm /dev/log/main
#sets cpu governor to hotplug, is most intelligent
echo "hotplug" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "950" > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency
#decreases sampling rate, stops lag and saves battery
echo "500000" > /sys/devices/system/cpu/cpufreq/hotplug/sampling_rate
echo "75" > /sys/devices/system/cpu/cpufreq/hotplug/up_threshold
echo "45" > /sys/devices/system/cpu/cpufreq/hotplug/down_threshold
echo "15" > /sys/devices/system/cpu/cpufreq/hotplug/hotplug_out_sampling_periods
echo "5" > /sys/devices/system/cpu/cpufreq/hotplug/hotplug_in_sampling_periods
#sets I/O scheduler to SIO, considered best
echo "sio" > /sys/block/mmcblk0/queue/scheduler
echo "sio" > /sys/block/mmcblk1/queue/scheduler
#Sets read and write on I/O sceduler to max.
echo "2048" > /sys/block/mmcblk0/queue/read_ahead_kb
echo "2048" > /sys/block/mmcblk1/queue/read_ahead_kb
#will merge tasks if able
echo "1" > /sys/block/mmcblk0/queue/nomerges
echo "1" > /sys/block/mmcblk1/queue/nomerges
echo "1" > /sys/block/mmcblk0/queue/low_latency
echo "1" > /sys/block/mmcblk1/queue/low_latency
echo "256" > /sys/block/mmcblk0/queue/nr_requests
echo "256" > /sys/block/mmcblk1/queue/nr_requests
echo "2048" > /sys/block/mmcblk0/bdi/read_ahead_kb
echo "2048" > /sys/block/mmcblk1/bdi/read_ahead_kb
echo "256" > /sys/block/zram0/bdi
#cache cleaner
rm -r /cache/*.apk
rm -r /cache/*.tmp
rm -r /data/dalvik-cache/*.apk
rm -r /data/dalvik-cache/*.tmp
#doesn't verify bus info, faster I/O
echo "N" > /sys/bus/hid/drivers/motorola/module/parameters/mot_pass_through_mt_input
echo "256" > /sys/class/bdi/default/read_ahead_kb
#faster scroll speed
echo "64" > /sys/bus/hid/drivers/magicmouse/scroll_speed
#performance boost in read/write when heap is at 4MB.
echo "4096" > /sys/block/mmcblk0/queue/optimal_io_size
echo "4096" > /sys/block/mmcblk1/queue/optimal_io_size
#better memory mangement
echo "2048,4096,43008,47104,51456,55808" > /sys/module/lowmemorykiller/parameters/minfree
#OOM fixes , shoould see awesome increase in multitasking
echo "0,3,6,10,12,15" > /sys/module/lowmemorykiller/parameters/adj
#net speed tweaks
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "1" > /proc/sys/net/ipv4/tcp_sack
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes
echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "404480" > /proc/sys/net/core/wmem_max
echo "404480" > /proc/sys/net/core/rmem_max
echo "256960" > /proc/sys/net/core/rmem_default
echo "256960" > /proc/sys/net/core/wmem_default
echo "4096,16384,404480" > /proc/sys/net/ipv4/tcp_wmem
echo "4096,87380,404480" > /proc/sys/net/ipv4/tcp_rmem
# Enable ZRAM compressed memory.
if [ -e /sys/block/zram0/disksize ] ; then
$LOG -p i "Enabling compressed RAM functionality (ZRAM)"
echo $((120*2048*2048)) > /sys/block/zram0/disksize
busybox mkswap /dev/block/zram0
busybox swapon /dev/block/zram0
fi
You will definitely see a boost in performance when running the following script.
For this to work, either run this code at boot with an app like ROM Toolbox.
Or run the attached file at boot with an app like Script Manager.
Thank you to PureMotive for the battery saving kernel tweaks to make compatible and tweak for this phone. and this thread by him
http://forum.xda-developers.com/showthread.php?t=1621808
If you can, please donate:
Donate!
Or at least leave me a thanks.
<<<<<<<<<<<<<<<
Enjoy!
Your link is broken
This can be added to my BootMenu boot script.
Do have any details on what each line improve??
maybe add comment before each line
whirleyes said:
Your link is broken
This can be added to my BootMenu boot script.
Do have any details on what each line improve??
maybe add comment before each line
Click to expand...
Click to collapse
I might comment this in the future, but I don't have the time right now. I'll fix the link to the forum in the morning, the script download is operational.
I'll suffice it to say that these tweaks make the kernel write to disc less, using less battery, but decreasing performance.
Sent from my DROID RAZR using XDA
So far: Running your script, CPU set to 800mhz max, felt no performance decrease. We'll see how this works in the future. Battery drain on EU kernel is terrible. I hope this helps a bit. Thank you!
dtrail1 said:
So far: Running your script, CPU set to 800mhz max, felt no performance decrease. We'll see how this works in the future. Battery drain on EU kernel is terrible. I hope this helps a bit. Thank you!
Click to expand...
Click to collapse
Yeah, us OG RAZR guts have to deal with crappy battery life. That's why I made this script, please post your findings.
Sent from my DROID RAZR using XDA
Can you make and update.zip that makes the script works?If this is possible ;s i'm a little newbie
luizfilipel said:
Can you make and update.zip that makes the script works?If this is possible ;s i'm a little newbie
Click to expand...
Click to collapse
Unfortunately, I don't have the skill to do so, if somebody with this skill would like to put together a flashable .zip, then I would be grateful.
Script updated, now has kernel tweaks for performance!
Enjoy!
sorry, a little question from noobs...
it should run both? or just pick one of it?
teradaz said:
sorry, a little question from noobs...
it should run both? or just pick one of it?
Click to expand...
Click to collapse
Just pick one, they contradict each other in values, so if you try to run both there will be issues in what gets applied.
Leviathan26 said:
Just pick one, they contradict each other in values, so if you try to run both there will be issues in what gets applied.
Click to expand...
Click to collapse
thank you...
doesn't work for me:
luizfilipel said:
Can you make and update.zip that makes the script works?If this is possible ;s i'm a little newbie
Click to expand...
Click to collapse
it would be useless, since you have to run the script each time you reboot your phone.
Turkishflavor said:
doesn't work for me:
Click to expand...
Click to collapse
Use the option in Script Manager to run on boot. Then reboot your phone. And the values will be applied.
sevenup30 said:
it would be useless, since you have to run the script each time you reboot your phone.
Click to expand...
Click to collapse
The updater script would probably look for an Init.d folder and run it from there on every boot, if it was there anyway.
Sent from my DROID RAZR using XDA
Leviathan26 said:
Yeah, us OG RAZR guts have to deal with crappy battery life. That's why I made this script, please post your findings.
Sent from my DROID RAZR using XDA
Click to expand...
Click to collapse
Some feedback: there are really improvements in battery life! Now I can rum the EU leak with 3G all the time and it doesn't eat the battery that much... No performancy decrease so far..
Gesendet von meinem XT910 mit Tapatalk 2
dtrail1 said:
Some feedback: there are really improvements in battery life! Now I can rum the EU leak with 3G all the time and it doesn't eat the battery that much... No performancy decrease so far..
Gesendet von meinem XT910 mit Tapatalk 2
Click to expand...
Click to collapse
Awesome! Can you take a screenshot so I can put it in the OP?
Leviathan26 said:
Awesome! Can you take a screenshot so I can put it in the OP?
Click to expand...
Click to collapse
But ive just charged it 3 hours ago and iam using it all the time. Screen on is 2 hours.
This is an older one without tweaks...
Gesendet von meinem XT910 mit Tapatalk 2
Your kernel tweaks, they are like governors? If so why is it not possible to have smartassv2 for example?
As well, did you started to work on this because of this?
Anyway, good job and I'll let you know about my experience with your tweaks =)
An1mA said:
Your kernel tweaks, they are like governors? If so why is it not possible to have smartassv2 for example?
As well, did you started to work on this because of this?
Anyway, good job and I'll let you know about my experience with your tweaks =)
Click to expand...
Click to collapse
Governors are different to tweak scripts. A governor drives the CPU directly to its needed configuration, speed on processes or things like that. This script makes the kernel working different on some processes.
---------- Post added at 12:05 AM ---------- Previous post was at 12:02 AM ----------
@OP: You added a second script. Can we run them both or better one of them alone?
dtrail1 said:
Governors are different to tweak scripts. A governor drives the CPU directly to its needed configuration, speed on processes or things like that. This script makes the kernel working different on some processes.
---------- Post added at 12:05 AM ---------- Previous post was at 12:02 AM ----------
@OP: You added a second script. Can we run them both or better one of them alone?
Click to expand...
Click to collapse
Just run one at a time, they contradict each other in values. And the performance script is going to be getting an update later today.
Please is there anyway to make a flashable script or cron script that will make @zeppelinrox Sclean script (clear dalvik cache & reboot) to run once each week from the xbin or bin folder?
slimcyril said:
Please is there anyway to make a flashable script or cron script that will make @zeppelinrox Sclean script (clear dalvik cache & reboot) to run once each week from the xbin or bin folder?
Click to expand...
Click to collapse
there should be a way but to make things easier just do it in your recovery. that sounds better for me
reyscott1968 said:
there should be a way but to make things easier just do it in your recovery. that sounds better for me
Click to expand...
Click to collapse
I know it could be done in the recovery & some apps like lucky patcher could also do it but I just want to automate it to be executed at the same time & day each week so I don't have to worry about doing it manually
slimcyril said:
I know it could be done in the recovery & some apps like lucky patcher could also do it but I just want to automate it to be executed at the same & day each week so I don't have to worry about doing it manually
Click to expand...
Click to collapse
i dnt mind spending few minutes every week for this task. and this is my own opinion tho
Lol I understand you @reyscott1968 I have a script that's called xposed log cleaner that clears all xposed logs every 5hrs & it made life very easy so I don't have to do it anymore. Here's a copy of the the script I have in my xbin that I need to be executed once a week at same day & time;
#!/system/bin/sh
#
# SuperClean & ReStart Script (Wipe Dalvik Cache & Reboot) created by zeppelinrox.
#
line=================================================
clear
echo ""
echo $line
echo " -=SuperClean & ReStart=- by -=zeppelinrox=-"
echo $line
echo ""
sleep 1
id=`id`; id=`echo ${id#*=}`; id=`echo ${id%%\(*}`; id=`echo ${id%% *}`
if [ "$id" != "0" ] && [ "$id" != "root" ]; then
sleep 2
echo " You are NOT running this script as root..."
echo ""
sleep 3
echo $line
echo " ...No SuperUser for you!!"
echo $line
echo ""
sleep 3
echo " ...Please Run as Root and try again..."
echo ""
echo $line
echo ""
sleep 3
exit 69
fi
echo " Commencing SuperClean & ReStart!"
echo ""
sleep 2
for cachedir in /*/dalvik-*; do rm -r /$cachedir/* 2>/dev/null; done
echo " All cleaned up and ready to..."
echo ""
sleep 2
echo $line
echo " !!POOF!!"
echo $line
echo ""
sleep 2
busybox sync
if [ -f "/proc/sys/kernel/sysrq" ]; then
echo 1 > /proc/sys/kernel/sysrq 2>/dev/null
echo b > /proc/sysrq-trigger 2>/dev/null
fi
echo " If it don't go poofie, just reboot manually!"
echo ""
reboot; busybox reboot
echo " ==========================="
echo " ) SuperClean Completed! ("
echo " ==========================="
echo ""
exit 0
http://forum.xda-developers.com/showthread.php?t=2700146
Hello, I decided to publish some guide + scripts I already use for a while, which allows you to use all CPU cores and boost GPU performance.
Battery consumption using this configuration surprisingly does not change much or even did not change at all, with default as well with new config my watch stays alive for ~32h with daily usage.
Some theory:
Sparrow is sold with Qualcomm Snapdragon 400 1.2GHz, which is 4 core CPU. ASUS AW2.0 official kernel though supports only 600MHz and 787MHz, as Asus probably thinks this is good balance between battery life and performance.
GPU is Adreno 302/305, which is capable running up to 450MHz, which is also supported by ASUS AW2.0 kernel.
Where is the catch?
During boot there are all four CPU cores enabled, however there is post-init script, disabling two of those and setting frequency as fixed 738MHz with performance governor (no frequency scaling). GPU is set to fix 200MHz:
/system/bin/init.asus.post_boot.sh
Code:
#!/system/bin/sh
PATH=/system/bin
cd /sys
echo 4 > module/lpm_levels/enable_low_power/l2
echo 1 > module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/idle_enabled
#Put all other cores offline
echo 0 > devices/system/cpu/cpu2/online
echo 0 > devices/system/cpu/cpu3/online
governor="performance"
scaling_min_freq="787200"
if [[ `grep "oem_perf_change" /proc/cmdline` ]];then
if [[ `grep "oem_perf_on" /proc/cmdline` ]];then
oem_perf_stats="1"
else
oem_perf_stats="0"
fi
echo -n $oem_perf_stats > /factory/oem_perf_stats
fi
echo $governor > devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu1/cpufreq/scaling_governor
#below ondemand parameters can be tuned
echo 50000 > devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 2 > devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential
echo 70 > devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
echo 787200 > devices/system/cpu/cpufreq/ondemand/optimal_freq
echo 300000 > devices/system/cpu/cpufreq/ondemand/sync_freq
echo 80 > devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
echo $scaling_min_freq > devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 787200 > devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu1/cpufreq/scaling_max_freq
#Below entries are to set the GPU frequency and DCVS governor
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/max_freq
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/min_freq
echo performance > class/kgsl/kgsl-3d0/devfreq/governor
chown -h system devices/system/cpu/cpu[0-1]/cpufreq/scaling_max_freq
chown -h system devices/system/cpu/cpu[0-1]/cpufreq/scaling_min_freq
chown -h root.system devices/system/cpu/cpu[1-3]/online
chmod 664 devices/system/cpu/cpu[1-3]/online
It is indeed required just to alter this script and you can enable all 4 cores with "ondemand" governor, scaling 600-738MHz and GPU scaling 200-450MHz using "msm-adreno-tz" governor:
(and this requires root of course)
Code:
#!/system/bin/sh
PATH=/system/bin
cd /sys
echo 4 > module/lpm_levels/enable_low_power/l2
echo 1 > module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/idle_enabled
governor="ondemand"
scaling_min_freq="600000"
if [[ `grep "oem_perf_change" /proc/cmdline` ]];then
if [[ `grep "oem_perf_on" /proc/cmdline` ]];then
oem_perf_stats="1"
else
oem_perf_stats="0"
fi
echo -n $oem_perf_stats > /factory/oem_perf_stats
fi
echo $governor > devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu1/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu2/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu3/cpufreq/scaling_governor
#below ondemand parameters can be tuned
echo 50000 > devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 2 > devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential
echo 70 > devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
echo 787200 > devices/system/cpu/cpufreq/ondemand/optimal_freq
echo 300000 > devices/system/cpu/cpufreq/ondemand/sync_freq
echo 80 > devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
echo $scaling_min_freq > devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu2/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu3/cpufreq/scaling_min_freq
echo 787200 > devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu3/cpufreq/scaling_max_freq
#Below entries are to set the GPU frequency and DCVS governor
echo 450000000 > class/kgsl/kgsl-3d0/devfreq/max_freq
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/min_freq
echo msm-adreno-tz > class/kgsl/kgsl-3d0/devfreq/governor
chown -h system devices/system/cpu/cpu[0-3]/cpufreq/scaling_max_freq
chown -h system devices/system/cpu/cpu[0-3]/cpufreq/scaling_min_freq
chown -h root.system devices/system/cpu/cpu[0-3]/online
chmod 664 devices/system/cpu/cpu[0-3]/online
(both files also attached to this post)
To exchange files in your watch, you can easily use following bash script in linux:
First push desired file into sdcard and go to ADB shell:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
In ADB shell remount system to RW, replace the file and fix privileges, than remount system back to RO:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Update 2018/09/05:
In case you want to experiment, I'm also sending "full_power" script, setting all cores to max frequency and performance governor. There should be no issues, except probably less battery life. Just test yourself, how battery life is affected if it is affected at all. Just unpack the zip file, rename the sh script from init.asus.post_boot_full_power.sh to init.asus.post_boot.sh. Rest of the procedure is still the same.
Without kernel sources, this is probably the maximum performance you can get from the watch. Obtaining kernel sources we might get up still twice of current maximum, as the HW is there, but locked on kernel level.
I just swapped the files and I'll give this a try over the next few days. It would be awesome to destroy lag without needing a kernel tweak app to make it happen. You are the man!
Update: I followed your directions, then I wiped cache and dalvik in TWRP. I have only used the watch for a few minutes with this tweak and it is noticeably faster/smoother already. Text messages display lightning fast after being received on the phone. I'm currently on WiFi in my office. The times I notice most lag on my watch is when I'm on 4G, have music playing, and get a call. The phone may ring for 5-10 seconds before the watch displays. I'm excited to see how helpful this tweak is under those conditions. I'll know later today and keep you posted.
I have not experienced any Bluetooth lag since enabling this. This is a must have mod. Thanks for this!
Glad to hear that @CVertigo1. This is just simple SW enablement of things already present in kernel, so even no cache cleans are required. You can play with it on the go even without watch restart.
Amazing will be getting some kernel with much more CPU freq. steps, like 300-768 or even to 1.2GHz (yes, our chip is capable doing so, it is just not enabled in kernel). With proper governor battery will be still ok, resting CPU most of the time in low clocks. It is pity we have great HW, but it is taken out from us with stock kernel.
It would be nice if Asus would upload the kernel source for AW2.0.
CVertigo1 said:
It would be nice if Asus would upload the kernel source for AW2.0.
Click to expand...
Click to collapse
Well we do have latest kernel source
https://www.asus.com/us/ZenWatch/ASUS_ZenWatch_2_WI501Q/HelpDesk_Download/
Or directly here:
http://dlcdnet.asus.com/pub/ASUS/Wearable/ASUS_WI501Q/ASUS_WI501Q-5.2003.1603.10-kernel-src.zip
We just need some handy guy able to compile it and add more governors and frequencies. That is something what overlapping my skills.
That is the latest kernel source for 1.5. They have not released their source for 2.0, nor any firmware for 2.0. I have contacted Asus about it multiple times and none of their reps have any idea what I'm talking about.
CVertigo1 said:
That is the latest kernel source for 1.5. They have not released their source for 2.0, nor any firmware for 2.0. I have contacted Asus about it multiple times and none of their reps have any idea what I'm talking about.
Click to expand...
Click to collapse
Ah, I see I thought 2017/05/12 stated as a release day was after AW20 concluding this had to be the new one. Pity.
Maybe they'll release it eventually...at an Asus speed, like next year.
please help me(rom Sparrow_7.1.1_Debloat ROM ):
adb shell
sparrow:/ $ su
Permission denied
htduy11 said:
please help me(rom Sparrow_7.1.1_Debloat ROM ):
adb shell
sparrow:/ $ su
Permission denied
Click to expand...
Click to collapse
Hi there, you are missing super user in your ROM. Did you installed SuperSU and Busybox thru TWRP after flashing the ROM?
Do this in TWRP, not Android.
'the command can be used in adb in windows or are different? watch must be in recovery or bootloader? wrote a step by step for noob guide please
You must boot in the TWRP recovery. You need the ADB drivers installed on your computer and is easier to use your computer for this.
mastermoon said:
'the command can be used in adb in windows or are different? watch must be in recovery or bootloader? wrote a step by step for noob guide please
Click to expand...
Click to collapse
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
LeeonLee said:
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Click to expand...
Click to collapse
yeah worked perfectly... after 9 month the zenwatch is back on my wrist....
---------- Post added at 05:31 PM ---------- Previous post was at 05:29 PM ----------
LeeonLee said:
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Click to expand...
Click to collapse
worked perfectly.... after 9 months zenwatch is back on my wrist
Hey guys,
do i need to do it every time i booted up ?
And can i messure this Overclocking anywhere ?
Greetings
Namelocked said:
Hey guys,
do i need to do it every time i booted up ?
And can i messure this Overclocking anywhere ?
Greetings
Click to expand...
Click to collapse
Hi, this is permanent solution. To revert you need to replace the file with original one.
I am also not aware of any reliable Wear benchmark, but you can see HW info using e.g. AIDA64 for Wear.
LeeonLee said:
Hi, this is permanent solution. To revert you need to replace the file with original one.
I am also not aware of any reliable Wear benchmark, but you can see HW info using e.g. AIDA64 for Wear.
Click to expand...
Click to collapse
I dont even find the AIDA64 for my smartwatch :/ ?
how can i check core, cpu speed etc... aida64 isn't compatible .. tnx..