トップ «前の日記 最新 次の日記» 追記

おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2005年8月14日(日) 論文仕事はすすみませぬのう… [同日]

Latitude X1で電源の消費量を抑えてみる

下記のようなスクリプトをしこんでみた。山頂でハードディスクコントローラの熱暴走が抑えられるといいのだけれどテストするのも恐いな。

まず/usr/local/bin/powermodeとして下記を用意し、chmod +xしておく。

追記。ACアダプターがつながれていない時はcronが実行されないようにしてみた。効いてるかはまだ不明…。

#!/bin/sh

acstate=/proc/acpi/ac_adapter/AC/state
procname=`basename $0`

usage() {
	echo "usage: $procname [full|minimal|auto|show|check]" 1>&2
	echo "adjusts CPU and peripherals to use full/minimal power." 1>&1
}

# determine the desired mode
mode=unknown
case "$1" in
	''|show|auto|check)
		if [ -r $acstate ]; then
			case `cat $acstate` in
				*on-line) mode=full ;;
				*off-line) mode=minimal ;;
			esac
		fi
		if [ "$1" = "show" ]; then
			echo $mode
		fi
		;;
	full|minimal) mode=$1 ;;
	*)
		usage
		exit 1
		;;
esac
case "$1" in
	show) exit 0 ;;
	check) if [ "$mode" = "full" ]; then exit 0; else exit 1; fi
esac
if [ "$mode" = "unknown" ]; then
	usage;
	echo "error: could not determine the desired power mode." 1>&2
	exit 1
fi

# CPU speed
cpufreq_min=/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
cpufreq_max=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
cpufreq_set=/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
if [ -w $cpu_set ]; then
	case "$mode" in
		full) freq=`cat $cpufreq_max`;;
		minimal) freq=`cat $cpufreq_min`;;
	esac
	echo $procname: Setting CPU0 scaling freq to $freq.
	echo $freq > $cpufreq_set
fi

# eth0
# tg3 seems to have a `low power mode' to be suspended,
# which seems to work on Windows XP

# eth1
# we let the user to hit Fn+F2

# hda
hd_set=/sbin/hdparm
hd_max='-q -B 255 -S 253' 
hd_min='-q -B 0 -S 1'
if [ -x /sbin/hdparm ]; then
	for d in /dev/hda; do
		case "$mode" in
			full) p=$hd_max;;
			minimal) p=$hd_min;;
		esac
		echo $procname: running $hd_set $p $d
		$hd_set $p $d > /dev/null
	done
fi

書いてある通り、tg3でeth0の電源を切る方法についてはそのうち。 Windows XPではできているようなのでやりかたはあるかもしれない。

起動時に有効になるように、/etc/rc.localに以下を追加。

if [ -x /usr/local/bin/powermode ]; then
	/usr/local/bin/powermode auto
fi

ACアダプタの抜き差しの時にもこのコマンドが走るように/etc/acpi/events/ac_adapterを用意。

event=ac_adapter
action=/usr/local/bin/powermode auto

acpidをrestartしてtail -f /var/log/acpidを見ていたところ、一応期待通りに動いているみたい。

(追記) crontabanacrontabrun-parts …powermode check && run-parts …としてみた。効いてるといいな。

そういえば、skkimeは英語版Windows XP SP2でもちゃんと動いてくれました。すばらしい。

scimがsleep状態になってくれない

あいかわらずLatitude X1/Momonga trunk(2.6.10-41m)。

echo 3 > /proc/acpi/sleepでstandby状態になってくれることがわかったが、scimが走っていると、

scim (#5051) signalled but didn't enter refrigerator.

とkernelが文句を言ってstandby状態にならない。

どうするかなあ…。

「はやぶさ」、小惑星イトカワの撮影に成功!

今度は明るいニュース。宇宙科学研究本部より、スタートラッカーによる映像に小惑星イトカワの姿を捉えて、「はやぶさ」の位置をわりだした、とのこと。

おとこのロマンだねぇ。むふふ。

そういえば。ノートPCの場合は、新しいタブを開くのに中クリック(つまり左右同時押し)よりもCtrl+左クリックの方が楽なことに気づいた。

就寝前の一杯

最近我が家にやってきたぼろい方の自動車にエンジンオイルをのませてきました。オイルゲージがほぼミニマムな状態から、フルのひとあな分下まで足して3/4クオート。モノはCastrol GTXとかいうやつです。Wal★Martでそこそこ安かった。

前のオーナーによると、このエンジンはオイル漏れがあって、3ヶ月に1回くらいはオイルを足してやらないといけないそうな。

3ヶ月に3/4クオートも飲むんだったらもしかしてオイル交換しなくていい?ってのはあまいだろうなぁ。オイルフィルターは換えたいもんねぇ。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>