2012年5月30日 星期三

2012年3月12日 星期一

xt502 CM7 z71 phone driver

when xt502 with CM7, the device become to z71 phone,
XP can't recognition the driver,
so we can use Google USB Driver package to install the driver.


1. download android SDK
2. use Android SDK Manager
3. in Extras, install Goole USB Driver package
4. the driver data will generated at extras directory
5. edit android_winusb.inf
the drive identify should be VID_0489&PID_C001
add to x86 or amd64


;Z71
%SingleAdbInterface%        = USB_Install, USB\VID_0489&PID_C001
%CompositeAdbInterface%     = USB_Install, USB\VID_0489&PID_C001&MI_01
;
6.install android_winusb.inf

2012年2月16日 星期四

tuning MB511 with sysctl

# white /system/etc/sysctl.conf

kernel.threads-max=4096 #max threads, smart phoen really use really use so much threads?
vm.swappiness = 0 #MB511 can't use swap, so...
vm.dirty_expire_centisecs=0
vm.dirty_writeback_centisecs=0
vm.min_free_kbytes = 4096 #keep minimum of 4MB idle space
vm.dirty_ratio = 90
vm.dirty_background_ratio = 70
vm.vfs_cache_pressure = 10
vm.panic_on_oom = 2
vm.oom_kill_allocating_task = 1 #use android memory manager
kernel.panic = 5 #Enabling kernel panic reboot
kernel.shmmax = 2147483648 #256MB
kernel.shmall = 16777216 #16MB

#userinit.sh
sysctl -p

echo "1536,2048,4096,8192,16384,24576" > /sys/module/lowmemorykiller/parameters/
minfree #use android memory manager


JUST FOR FUN!!

2012年2月14日 星期二

tuning MB511


#write in userinit.sh
#use cgroup tuning cpu tasks, default init.rc can't write

busybox mkdir -p /dev/cgroup/cpu
busybox mount -t cgroup cgroup -o cpu /dev/cgroup/cpu
echo "/system/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

busybox mkdir -m 0777 /dev/cgroup/cpu/bg_root
chown root.root /dev/cgroup/cpu/bg_root/tasks
chmod 0777 /dev/cgroup/cpu/bg_root/tasks
echo "500" > /dev/cgroup/cpu/bg_root/cpu.shares #root can get 50% cpu time?

busybox mkdir -m 0777 /dev/cgroup/cpu/bg_non_interactive
chown system.system /dev/cgroup/cpu/bg_non_interactive/tasks
chmod 0777 /dev/cgroup/cpu/bg_non_interactive/tasks
echo "200" > /dev/cgroup/cpu/bg_non_interactive/cpu.shares #system can get 20% cpu time ?

echo "1" > /dev/cgroup/cpu/notify_on_release
echo "1" > /dev/cgroup/cpu/bg_root/notify_on_release
echo "1" > /dev/cgroup/cpu/bg_non_interactive/notify_on_release

nice logcat > /system/sd/swap/$(date +%Y%m%d-%H).log &    #save log
find /system/sd/swap -mtime +3 -name "*.log" -exec rm -rf {} \ #del over 3 days log
nice /data/local/Clear.sh &
nice /data/local/SCgroupTask.sh & //60s update tasks

#Clear.sh

#!/system/bin/sh
while [ true ]
do
echo 'start'
for file in `find /system/sd/logs -mtime +3 -name '*.log' -print 2>/dev/null`
do
rm $file
done

sleep 24h
done


#SCgroupTask.sh
-----
while [ true ]
do 
    ps | grep root | awk '{print $2}' > /dev/cgroup/cpu/bg_root/tasks #add root tasks to cgroup
    ps | grep system\  | awk '{print $2}' > /dev/cgroup/cpu/bg_non_interactive/tasks  #add system tasks to cgroup
    sleep 60s
done
JUST FOR FUN!!

2012年2月10日 星期五

2012年1月31日 星期二

FreeBSD e17 menu

if applications has no menus,
check Environment Variables of XDG.

reference: E17 and Efreet

2011年12月16日 星期五

java mouse cursor Location in screen

1.4.2 :
           java.awt.Point point = new java.awt.Point(e.getPoint());
           SwingUtilities.convertPointFromScreen(point, e.getComponent());
          int x=(int) point.getX();
          int y=(int) point.getY();

1.5 :
          java.awt.MouseInfo.getPointerInfo().getLocation();