Motorola Milestone - バッテリ持ちを良くする設定

HTC製Android端末ではバッテリの持ちを改善する設定があるという事で設定してみました。

FroyoMOD2.2はGoogleマップを動かそうとすると固まったりGPS情報が更新されないので、
Cronos Froyo1.7で試してみました。

参考にさせてもらったHPからHTC以外の端末でも使えそうな下記の設定を
/system/build.prop
に入れてみます。

ro.ril.hsxpa=2 # 0= UMTS r99 1=HSDPAのみ 2=HSDPA/HSUPA
ro.ril.hsxpa=1
ro.ril.gprsclass=10 # 10= 5slots: 16–24kbps upload/32–48kbps download
ro.ril.fast.dormancy.timeout=3 # 通信のタイムアウト
ro.ril.disable.power.collapse=1 # 1= アイドル時に低電力モード(効くかどうか不明)
ro.ril.hsdpa.category=8 # 8は7.2Mbit/s
ro.ril.hsupa.category=5 # 5は2.00Mbit/s
ro.ril.enable.sdr=0 # ソフトウェア無線を無効にする
ro.telephony.default_network=2 # 0=WCDMA優先 1=GSMのみ 2=WCDMAのみ
ro.ril.def.agps.mode=2 # 2は不確定なAGPSを許可する
ro.ril.def.agps.feature=2 # 2はAGPSモード?

書き換え後にパーミッションを,0644に設定するのを忘れないように。

あとは、クロックを550MHzに変更します。
/system/etc/init.d/10overclock
を手作業で変更します。
今までOpenRecoveryで設定していましたが、クロック制御のモード設定が出来ていなかったので
手作業で変更してみました。
状況に応じて4段階に設定されるクロックとVSELを設定します。




変更前(10overclockの前半部分です)
700MHzで、smartass というモードで制御する設定のようです。

# Lets load up the modules:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/overclock.ko

echo 49 > /proc/overclock/max_vsel
echo 700000 > /proc/overclock/max_rate

#echo "5 900000000 60" > /proc/overclock/mpu_opps
echo "4 700000000 49" > /proc/overclock/mpu_opps
echo "3 500000000 44" > /proc/overclock/mpu_opps
echo "2 250000000 33" > /proc/overclock/mpu_opps
#echo "1 125000000 32" > /proc/overclock/mpu_opps

#echo "0 900000" > /proc/overclock/freq_table
echo "1 700000" > /proc/overclock/freq_table
echo "2 500000" > /proc/overclock/freq_table
echo "3 250000" > /proc/overclock/freq_table

insmod /system/lib/modules/cpufreq_stats.ko
insmod /system/lib/modules/cpufreq_interactive.ko
insmod /system/lib/modules/cpufreq_smartass.ko
insmod /system/lib/modules/cpufreq_conservative.ko

echo smartass > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


変更後
550MHzで、conservative というモードで制御する設定に変更してみました。
こちらは書き換え後にパーミッションを,0750に設定するのを忘れないように。

# Lets load up the modules:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/overclock.ko

echo 36 > /proc/overclock/max_vsel
echo 550000 > /proc/overclock/max_rate
echo "1 400000" > /proc/overclock/freq_table
echo "4 400000000 32" > /proc/overclock/mpu_opps
echo "2 250000" > /proc/overclock/freq_table
echo "3 250000000 28" > /proc/overclock/mpu_opps
echo "3 125000" > /proc/overclock/freq_table
echo "2 125000000 16" > /proc/overclock/mpu_opps

insmod /system/lib/modules/cpufreq_stats.ko
insmod /system/lib/modules/cpufreq_interactive.ko
insmod /system/lib/modules/cpufreq_smartass.ko
insmod /system/lib/modules/cpufreq_conservative.ko

#echo smartass > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 125000 > /sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate
echo 25 > /sys/devices/system/cpu/cpu0/cpufreq/conservative/freq_step

バッテリの持ちが良くなったような気がします・・・・

他のROMの設定を見るとVSELの値はもう少し大きい値のようです。
動作不安定だったのはそのせいかもしれません・・・(2011/1/23追記)

                                            • -

(2011/1/15更新)

ro.ril.hsxpaの設定値を間違って書いていました。
1にするとバッテリーの持ちが良くなります。
でも通信エラーとか起こりますが・・・


ro.ril.hsxpa=2の時は1時間10%で減ってきます。



測定時間が短いですが、ro.ril.hsxpa=1の時は2〜3時間で10%くらいで減ってきます。
ただし、通信エラーが発生したりして通信が不安定ですのでいまいちです・・・