2007/01/15 月

リモコンアッテネーター

pingさんのところで、すごいことになってます。
ロータリーエンコーダー対応、各社リモコン対応、その他いろいろの機能が
拡張された、プログラムが公開されています。
液晶表示もかっこよくなっていますので、リモコンアッテネーター基板を持っている人は、試されてはいかがでしょう?
LCDの表示も、pingさんのところで見れます。
http://piroping.cocolog-nifty.com/

2007/01/09 火

VirtualServerのゲストOSにFreeBSD

VirtualServer2005R2のゲストOSにFreeBSDを入れてみたところ、時計が速く進むので萎えた。。。
googleで調べてみると、同じことで悩んでる人はいるが、これで解決という決めてにかけて、決着がつかなかった。
といわけで、私の備忘録としてやったことを列挙しておこう。

FreeBSD4.11
そのままでは、時計が2〜3割早く進む。ntpdateで合わせるとしても限界がある。
APMや、シリアル、パラレルは、カーネルで無効にしてある。

1発目の実験
/etc/sysctl.conf
kern.timecounter.hardware=i8254
これは効いた。でも、microuptime() went backwards が、ぽろぽろと発生する。
また、
microuptime() went backwards (949.141279 -> 253.763991)
といった感じで、結構なズレがある。

2発目の実験
/etc/sysctl.conf
kern.timecounter.hardware=i8254
kern.timecounter.method=1  <追加
これをしたら、
microuptime() went backwards (7437.847218 -> 7437.845208)
こんな感じで、微妙なズレになった。

3発目の実験
2発目でやった、sysctrlに加えて、カーネルコンフィグに以下を追加
options CLK_CALIBRATION_LOOP
options CLK_USE_TSC_CALIBRATION
options CLK_USE_I8254_CALIBRATION
options NTIMECOUNTER=20
なんか、microuptimeが出る頻度が下がった気がする。

最終的に1日動かして、1秒〜3秒程度のズレ(実機並)になったが、
dmesgには、microuptime, たまに、 calcruが出てウザイ。
根本解決になっていないけど、カーネルのメッセージを出す部分をコメントアウトしてしまった(汗
/usr/src/sys/kern/kern_resource.c と、kern_synch.c の2つがそれにあたる。

今のところ安定稼働しているが、ちょっと不安。

FreeBSD6.1でもためしたが、こちらもi8254にし、Kern.Hzを100にすれば安定した。ただし、calcruは多発するので、メッセージを殺すなりしたほうがいいかもしれない。

2007/01/01 月

元旦

さいきん、さっぱり更新しておりませんでした。ネタ切れです(笑

それはともかく、本年もよろしくお願い致します。
1/1