トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2003年04月01日

CAT709

pppd対応のrootfs.imgとカーネルイメージをFTPサイトにアップロードした(FLASH8M必要)
2003-03-31付けのイメージがpppd対応
ftp://ftp.si-linux.co.jp/pub/cat709-cdrom/files/quickstart/

rootパスワードはroot,一般ユーザーは kaihatsu パスワード kaihatsu

PPPの設定箇所を以下にまとめる。isp_user_id と isp_user_passwdの部分を置き換える
/etc/ppp/peers/airh

# This optionfile was generated by pppconfig 2.0.10.
#
#
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/airh"
debug
/dev/ttyS0         ←通信ポート(AirH"を使うなら/dev/ttyS0)
115200
defaultroute
noipdefault
user isp_user_id   ←プロバイダのユーザーID
remotename airh
ipparam airh
usepeerdns
/etc/ppp/pap-secrets
(none)  *       password
isp_user_id  airh  isp_user_passwd   ←プロバイダのユーザーIDとパスワード
/etc/chatscripts/airh
# ispnumber
OK-AT-OK ATDT0570-570-635##61   ← プロバイダの電話番号
ダイヤルアップをする時は
# pon airh
切断する時は
# poff

桜満開

桜が満開だ

会社のわきを流れている八田側。日本人て本当に桜が好きだな。明日晴れたら午前中の光線具合が良いときに写真とろう。

今日の修理

最近PCやら電化製品が次々調子悪くなっている。空気清浄機もカラカラカラカラ音がしていたので(俺は気にしなかったが)岩崎の気に触っていたらしく、ヤツが修理してた。意外と簡単に直った。


2003年04月02日

CAT709

今日は嬉しいニュースが沢山だ!ここ数日は怒涛のようにtodoを塗りつぶしていった

CAT709の量産1号が出来上がった!(^0^)v。50台組みあがったのでCAT709 CPUボードのみ希望の方には配布できるようになった。

マザーボード(EB709)は生基板ができあがった。こちらは部品待ちなので試験的に組んでみるのは来週の予定。マニュアルや紙箱などを準備すると正式発売開始はやっぱりゴールデンウィーク明けくらいか。

CPUボードが出来上がってるんなら、マニュアルや紙箱などいらんブツだけよこせ。回路図見ながら自分で半田付けくらいするんで早くよこせ!というツワモノがいたらマザー基板と部品は渡せるとおもうんで連絡お待ちしております(--^^--)

CAT709

リアルタイムクロック(RTC9701JE)関連のバグを修正した。今まで、バッテリー(スーパーC)の電圧が下がるとRTCのレジスタが狂ってしまい、起動時にbusyループしてしまう(Cを放電させれば大丈夫)というバグがあったが修正した。2003-04-01付けのiplプログラム(sh-stub.bin)を書き込めば修正されるはずだ。

CAT709

ipl-rom内部で LANコントローラ(AX88796)をpower downモードにするようにした(sh-stub-2003-04-01.bin 以降で対応)。AX88796を黙らせただけでなんと90mAも削減した。ipl時にはLANのLEDは消灯になった。ne.o デバイスドライバを組み込んだときにAX88796がpower upするようにした。つまりドライバを組み込まない限り消費電流を抑えられる。ドライバを組み込んだ後も ifconfig down したら power downだ。これによってLinux起動時の消費電流のMAXが600mA超えなくなった。また、Linux起動後、ifconfig downして静かにしているときの消費電流は160mA !これもまたびっくり。もちろん全体として低消費電流になるわけではないのだが、eth0を使わないときはパワーセーブできるようになった。という事だ。移動型ロボットの頭として使うときはEthernetは使わないだろうからpowerを抑えれるのは良いことと思う。SH7709S内蔵周辺機能もこまめにoffにできるかもしれないのでもう少し(10mA程度?)は削減できる可能性がある。

今までeth0を使わないとき
ブートROM内でぐるぐる回り550mA460mA (1.52W)
Linux起動時650mA590mA (1.95W)
Linux起動後、静かにしている時260mA160mA (0.53W)
Linux上で、プロセス全力RUN670mA590mA (1.95W)

すべて3.3V電源ラインで計測した。

CAT709

オンボードCFや外付けCFのベースアドレスをモジュールパラメータで可変できるようにした。(ソース drivers/pcmcia/sh3_ss.c、インストール先 /lib/modules/2.4.19/kernel/drivers/pcmcia/sh3_ss.o)

BASEIRQ
オンボードCFソケット0xb800000034
EB709 CF10xb800800032
EB709 CF20xb800a00033
オンボードCFソケットのみを使う時
# modprobe sh3_ss (パラメータ省略可能)
あるいは
# modprobe sh3_ss base=0xb8000000 irq=34
オンボードCFソケットと、外付け1を使う時
# modprobe sh3_ss base=0xb8000000,0xb8008000 irq=34,32
オンボードCFソケットはpcmciaとして使わずに、外付けだけを使う時
# modprobe sh3_ss base=0xb8008000 irq=32
といった感じで可変可能にした。起動時にドライバモジュールを自動的に組み込むには /etc/modules ファイルに
sh3_ss base=0xb8000000,0xb8008000 irq=34,32
といった具合に記述しておけばよい。

サルサ

EMIKO先生に「リードは良いが、見た目の形が悪い」という指摘を受けた。ひじが上がりすぎる癖があると。そっか、サルサ以外のダンスでも、ペアダンスにおいて、ひじが手の平よりも上がることはありえないな。一ヶ月くらいに前にも書いたが、女性への配慮を考えていると自分の格好が悪くなってしまう。それを両立しなきゃね。直そう。

夜にLimeStoneでCalizaの活動をした。今日もメンバーの女性はこられなかったので、いつもJazzを聞かせてくれる女の子2人に加わってもらってベーシックステップを踏んだ。男はJunkyとIshcuteと名前失念(失礼)だけど、去年よく来てくれたお父さん(^^)

踊れる人が増えたらCalizaメンバーにもなってほしいし、栄のクラブに皆で繰り出したりサルサ人口が増えて嬉しいこと間違い無しだ。


2003年04月03日

Linux

コンピュータの台数を削減したい。ということで、プリンターサーバとして闇で動いている(普段はディスプレイをつけないという意味)WindowsXP機をファイルサーバにすることにした。Linuxからsmbmountを使ってWindowsの共有フォルダをマウントする時のメモ(/etc/fstab)日本語ファイル名もOKだ。

//nepoa/public  /public  smbfs  username=xxxxx,password=xxxxx,iocharset=euc-jp,codepage=cp932,gid=1000,fmask=
664,dmask=775  0  0

2003年04月04日

サクラサク

今日は雨だったのだが、昨日撮った写真の中できれいな絵があったので載せておくことにする(撮影時は曇り)

会社の脇にある、八田川と生地川が合流するところのちょっとした公園。

CAT709

マザーボード(EB709)の試作品ができあがった

マザーボードにはCFソケットが2つあり、CPUボードのCFソケットも含めて全てType2対応なので写真のようにType2 x3個という豪勢な構成も可能だ

複数のCFソケット全てを同時に動かしたときの動作検証を行った。一発では動かなかったのでkernel(sh3_ss.c)を修正した。結構しんどかった。近いうちにprobingのメカニズムを書いておこう。2003-04-04付けのカーネルでCF socket 3個同時動作がokとなった。

同時に、実は昨日まで「内蔵CFソケットと、外付けCFソケット両方にコンパクトフラッシュを載せると両方とも/dev/hdaと思ってしまって誤動作する」というbugがあったのだがこれも修正した。

CFソケットのベースアドレスとIRQを指定してソケット3個同時に使う
# modprobe sh3_ss base=0xb8000000,0xb8008000,0xb800a000 irq=34,32,33
オンボードCFソケットにMicrodrive(340M)、外付けソケット1にCF(8M)、外付けソケット2にCF(64M)をつけて同時にマウントした例
supercat:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    7.0M      4.9M      2.1M  70% /
/dev/mtd2                 7.0M      4.9M      2.1M  70% /
/dev/hda1                 7.6M      8.0k      7.6M   0% /mnt
/dev/hdc1                53.1M    800.0k     49.6M   2% /mnt2
/dev/hde1               331.2M     57.1M    257.0M  18% /mnt3
良い感じだ。ちょっとづつbugや制限事項も取れている。

EB709では 5V -> 3.3VにDC-DCコンバータを使っている。3端子レギュレータよりも圧倒的に高効率だし熱も出ない。例によって消費電流を調べた。(CFなしeth0 downで測定)
今まで(3.3Vラインで測定)5Vラインで測定
ブートROM内でぐるぐる回り460mA (1.52W)340mA (1.7W)
Linux起動時590mA (1.95W)430mA (2.15W)
Linux起動後、静かにしている時160mA (0.53W)120mA (0.6W)
Linux上で、プロセス全力RUN590mA (1.95W)430mA (2.15W)

すべて5V電源ラインで計測した。DC-DCコンバータの効率はおよそ90%といったところか。静安時に5V,120mAとはいい感じである

英会話

20:10からイーオン 4月からインタラクティブ5クラス。しんどかった。あきらかに自分の実力より上のクラスに入ってしまった実感がある。今日テキストもらったんで予習できなかったが(と言い訳)、こりゃぁ予習しとかないと1時間が無駄になってしまう。今日は生徒が3人しかいなかったし、Alexがebichan ebichan言うんですげーしゃべらされた(A^o^;; 楽しかったケドね。

クルマ

以前からコマゴマと調子の悪かったImprezzaWRX君であるが、夜、栄に向かっている最中に水蒸気を吹き上げた!!

雨降っていて暗かったのでナディアパーク地下駐車場に非難した。調べたらアッパーホースに亀裂が入っていて水蒸気を吹いていた(矢印の箇所)。ゴミ箱をあさって(A^^;;ペットボトルをゲットしてきて(当然よく洗って)水をゲットしといた。帰り心配だな。だましだまし帰るしかないな。しかーし、途中でクルマが壊れても引き返すようなことはしなかった(A^^;;

サルサ

Junkyがマコンドに行くというのでマコンドに行った。クルマがそんな調子だからすごい時間がかかった。マコンドでJunkyに合流。今夜は東京からOn2の人がきてるらしい。On2って不思議なステップを踏むなぁ。マコンドはほとんどOn1のLAの人たちだ。というか名古屋のクラブでOn2を見ることはめずらしい。

あ、あと、女性で手にハンドクリームを塗って踊る人がいるんだけど、結構指がすべるんだよね。滑ってもいいんだけどさ(A^o^;;

Junkyはツレさんと先に帰った。俺も10人くらいと踊ってもらって今日は早めに撤収した。

クルマ

2時間とめておいて冷えたので、トイレから水をゲットしてきてラジエータを満タンにした。Junky(クルマのプロ)から『アッパーホースに負担がかからないようにラジエータキャップを緩ませておいたほうがいい』というアドバイスをもらったのでラジエータキャップを緩ませて出発。

出発後5分もたたずに水温計が真ん中(通常位置)に。こりゃ水温計も信じられない状況だ。連成計がゼロを超えないようにスロットルをあまり開けず負圧で走る。おやや?ヒーターが効かない。水が回ってないようだ。こりゃ重症だ。ウォーターポンプが回らなくなってホースが破けたのか?嫌な予感がする。

雨でガラスが曇るのでデフロスターを付ける。
寒い。4月になったとはいえ、ヒータ無しでエアコンつかってりゃ寒い。

異常な温度をビジュアルブックマーク。エンジンは熱い。俺は寒い。すぐに水温計が上昇してしまうのでこまめに停車してエンジンを冷やしつつ、とりあえず会社に戻ってきた。で、とりあえずココまで。

会社にはアルミテープとかがあるので今からアッパーホースを補修することにする。なんとか家に帰らねば。


2003年04月05日 雨のち曇り

クルマ

だめぽ。またJunkyさんのところに入院だ。しばらくは自転車生活。

サルサ

今日はエルココにいった。EMIKO先生のレッスンを2時間受けた。LAに浮気してたけどやっぱりキューバンがいいなぁ。最後に教えてもらった技がめちゃ気持ちよかった。難しい動きじゃなくて「流れ」なんだけど今日はコレだけでも来たかいがあった(^o^/~~ 今日はハシゴせずエルココ一店だけにしといた。

i-shotで撮った写真。暗くてよくわからない。


2003年04月06日

サクラ

イーオンの先生達が落合公園でOHANAMI PARTYをやるというのでちょっとだけ参加させてもらった。

CAT709

CAT709のマザーボード(EB709)のコネクタのことで質問があったのでコネクタのことを書きます。EB709の拡張コネクタは写真のように何もつけずに出荷するので縦に基板スタックしてもよし、リボンケーブルで引き出してもよし、利用方法によってお任せします。

拡張コネクタは通常のMILピッチ(2.54mm)で、40pinと60pinです。60pinコネクタは入手しにくいという情報を頂いたのですが、実は図のように50pinのコネクタをつけても大丈夫なようになっています。

ftp://ftp.si-linux.co.jp/pub/cat709-cdrom/files/document/EB709sch.pdf

この場合自作基板側に5Vが行かないのですが、All 3.3Vで設計するか、ケーブル接続するか、小さなコネクタで補助してください。海老原は、EB709の背面に2列ピンヘッダーをつけて、自作基板側にメスコネクターをつけようと思っています。名古屋なら大須第2アメ横のタケイ無線で2x100pinヘッダーが100円で売ってます。秋月でも多分売ってると思います。


2003年04月07日 晴れ

CAT709

数日まとめての更新となってしまいました(A^^;;

マザーボードEB709のチェックしてなかった箇所をチェックした。CN7はttySC1に相当するので動作確認をとった

/etc/inittab を

# Example how to put a getty on a serial line (for a terminal)
#
T0:23:respawn:/sbin/getty -L ttySC1 115200 vt100
として、PCとクロスケーブルでつなぎ、ログインが出来ることを確認した。

仕事

火曜と水曜に東京出張で、その時に使うデモ装置を作った。

1日しか時間が無かったので nUSB-R4(USB接続リレーボックス)をWebからON/OFFさせる装置を組み立てた。

急ぎで作ったデモ板


2003年04月08日 暴風雨

仕事

西から近づいてくる低気圧の影響で太平洋沿岸は暴風雨の一日となりました・・・湿った生ぬるい風が吹き、雨がやんだと思ったら吹き付けるような横殴りの雨が落ち、まるで台風が接近してくるようでワクワクしました(笑) さて、昨日の夜中までかかってつくったデモ装置を引っさげて上京。

会場の雰囲気。カンファレンス会場(一応考慮して内容は伏せる)。俺の出番は16:20から30分間だった。30分しかなかったのでプレゼンはあっという間に終わった。1時間くらいあると結構しゃべれるのだが(^^;;

自分らのデモ装置はこんなもん。Linuxで制御というのはウチだけだったし、Webをクリックするとランプが付くというわかりやすいデモ装置だったので割りと人が呼べた。簡単に解説すると、I/O webサーバ マシンと、組み込みWebクライアントマシンを1台のマシン内でTCP/IPで接続している装置だという風に解説した。

サルサ

さてさてさて、懇親会も7時で終わり、ホテルに荷物を置いてからお楽しみの時間だ(笑)実は懇親会でかなり酒をつぎつ、つがれつしてしまったので(もちろん仕事だ)ちょっとどうしようか迷ったんだけど六本木に行くことにした。今日はSudadaだ。

地下鉄日比谷線からだと3番出口を出て六本木交差点から行くことになるが、ここの道は繁華街だけあって呼び込みやキャッチがうるさいので、もし大江戸線からいくなら7番出口から出たほうが良い。こちらからなめちゃめちゃ近い。

Sudadaについたのは10時くらい。この店はキューバンスタイルの人が多かった。端の方で数人がレッスンを受けていて、話を聞いたらインストの黒人さんはエルメスさんのお兄さんの友達?だそうで、名前を聞いてこなかったのが悔やまれる。踊ってもらった結構うまい女の人は、エルメスさんが東京でワークショップをするときに参加したことがあるといっていた。

4,5人と踊ってもらって1時間くらいで撤収した。Sudadaは平日はチャージ無しで1ドリンクオーダーすればokということだったので、六本木で夜遊びといっても800円で済むとは驚異的に安いぞ。


2003年04月09日

仕事

東京で2つ打ち合わせをした。

ところで新宿駅のホームの番号がデカデカと書いてあって、ここまでデカイと気持ちが良かったのでビジュアルブックマークした

新幹線の700系で運転しているひかり号には、車両の前後にAC100Vコンセント付きの車両がある。コンセント狙いでひかり223号の最後尾席(18Eもしくは20E)を指定し、電源を確保。同じ700系でものぞみ号にはコンセントつき車両は少ないような気がする(無いかも)

サルサ

19時くらいに名古屋に帰ってきたのでレディアンのレッスンに参加した。ここ2,3週間同じ技をやっているんだけど難い。そのあとCalizaの活動を行った。


2003年04月11日 曇→雨

CAT709

時計の精度に関してチェックを行った。Linuxでは(Windowsでも同じと思うが)ソフトウェア時計(システム時計)とハードウェア時計(RTC)の2種類の時計がある。システム起動時にRTCから時刻を取得し、それ以降はソフトウェア時計で動いている。ソフトウェア時計は10ms毎の割込みでインクリメントされる。LinuxカーネルはRTCよりもソフトウェア時計のほうが精度が高いと信じている。

しかしsh/linuxではソフトウェア時計の精度が悪い。CAT68701ではかなり悪かった。原因は、起動時にCPU速度を計測してそこからバスクロックを計算し、TMU0(タイマー0)を10msに設定するためのInterval値を計算するんだがそもそもCPUクロックの計測がだいぶ大雑把になってしまう。そのため10msが正確ではなくソフトウェア時計がずれていく。とりあえず精度を調べたところ13時間電源を入れておいて

ソフトウェア時計-5秒
ハードウェア時計(RTC9701JE)ほぼ正確
だった。ソフトウェア時計の精度は今後つめていくことにする。ハードウェア時計の精度を調べるには電源ON/OFFの条件で数日〜数ヶ月のオーダーで調べたいところだ。

サルサ

友達がエルココに連れて行けというのでエルココに行くことになった。仕事の後出発し、22:30くらいに到着して中に入ると、あれ?なんか明るいぞ!?まだレッスン中なのかと思うくらい。普段サルサナイトは暗いのだけど・・・なんでも、コンタクトを落とした!だそうで、まるでマンガのようにみんなでコンタクトを探してる最中だった。笑

知らない人同士なんだけど親切な人たちばかりだ。ビジュアルブックマーク。(^-^)


2003年04月12日

CAT709

ソフトウェア時計の精度を高めようと思う。昨日書いたが、sh/linuxではモジュールクロックの計測に誤差があるので10msインターバルの計算に誤差が生じ、その結果ソフトウェア時計が不正確となる。例えば1%の誤差は1日で14分にもなる。自動計測に失敗するなら人間がモジュールクロックを教えてあげればよいじゃん。

ということで、カーネル起動パラメータに m_clk= という行を指定できるようにした。単位は M,K が使える。単位系は10^3だ。(ちなみにmem= のMとKは2^10単位系だ)。小数点は使えないのでたとえばm_clk=24.4Mという書き方はNGで m_clk=24400Kと書くこと。以下にカーネルパッチを置く

diff -urN linux-2.4.19-cat709-2003-04-04/arch/sh/kernel/setup.c linux-2.4.19-cat709-2003-04-12/arch/sh/kernel/setup.c
--- linux-2.4.19-cat709-2003-04-04/arch/sh/kernel/setup.c       Tue Mar 25 00:08:43 2003
+++ linux-2.4.19-cat709-2003-04-12/arch/sh/kernel/setup.c       Sat Apr 12 02:36:39 2003
@@ -210,9 +210,18 @@
        for (;;) {
                /*
+                * "m_clk==XXX[kKmM]" defines module_clock.
+                */
+               if (c == ' ' && !memcmp(from, "m_clk=", 6)) {
+                       if (to != command_line)
+                               to--;
+                       current_cpu_data.module_clock = clkparse(from+6, &from);
+                       printk("module_clock=%d\n",current_cpu_data.module_clock);
+               }
+               /*
                 * "mem=XXX[kKmM]" defines a size of memory.
                 */
diff -urN linux-2.4.19-cat709-2003-04-04/arch/sh/kernel/time.c linux-2.4.19-cat709-2003-04-12/arch/sh/kernel/time.c
--- linux-2.4.19-cat709-2003-04-04/arch/sh/kernel/time.c        Sat Dec 28 02:23:34 2002
+++ linux-2.4.19-cat709-2003-04-12/arch/sh/kernel/time.c        Sat Apr 12 02:41:20 2003
@@ -363,10 +363,12 @@
        setup_irq(TIMER_IRQ, &irq0);
-       timer_freq = get_timer_frequency();
-
-       module_clock = timer_freq * 4;
-
+       if(current_cpu_data.module_clock){
+               module_clock = current_cpu_data.module_clock;
+       }else{
+               timer_freq = get_timer_frequency();
+                module_clock = timer_freq * 4;
+       }
 #if defined(__sh3__)
        {
                unsigned short tmp;
diff -urN linux-2.4.19-cat709-2003-04-04/lib/cmdline.c linux-2.4.19-cat709-2003-04-12/lib/cmdline.c
--- linux-2.4.19-cat709-2003-04-04/lib/cmdline.c        Fri Apr 13 04:25:53 2001
+++ linux-2.4.19-cat709-2003-04-12/lib/cmdline.c        Sat Apr 12 02:35:37 2003
@@ -114,7 +114,29 @@
        return ret;
 }
+unsigned long long clkparse (char *ptr, char **retptr)
+{
+       unsigned long long ret = simple_strtoull (ptr, retptr, 0);
+
+       switch (**retptr) {
+       case 'G':
+       case 'g':
+               ret *= 1000;
+       case 'M':
+       case 'm':
+               ret *= 1000;
+       case 'K':
+       case 'k':
+               ret *= 1000;
+               (*retptr)++;
+       default:
+               break;
+       }
+       return ret;
+}
+
 EXPORT_SYMBOL(memparse);
+EXPORT_SYMBOL(clkparse);
 EXPORT_SYMBOL(get_option);
 EXPORT_SYMBOL(get_options);
このpatchは CAT709だけではなくsh/linux全部に使えるので SH2000やCAT68701のソフトウェア時計の精度も向上できるはずだ。

CAT709の場合は起動パラメータは以下のようになる。
原発振クロック(14.7456MHz) *2 = 29.4912MHz

console=ttySC0,115200 root=1f02 m_clk=29491200  
この結果 Interval = 73728 という表示を得られた。検算してみると
モジュールクロック 29.4912MHz / 4分周 / 73728 = 100Hz でぴったりだ。

ついでに昨日のデータでの検証をしてみる。昨日の計測結果では13時間で-5秒だった。実はこのときには Interval = 73736 という表示になっていた。モジュールクロック 29.4912MHz / 4 / 73736 = 73736 = 99.98915Hz となり、ソフトウェア時計は 100.01085msecでインクリメントされる。カーネルはこれを100msecと思っているのだから、すなわち誤差 0.01%だ。13時間=46800秒 なので 46800*0.01%=4.68秒。つまり(目視で)5秒の誤差という計測結果は正しいということがわかった(おぉすごいゾ)。たった0.01%の誤差といっても、一日で8.6秒。一ヶ月で4分26秒もの誤差になるのだから放って置けない。


2003年04月13日

CAT709

時計精度の実験の続きを行った。48時間電源を入れておいた条件で

ソフトウェア時計+2秒
ハードウェア時計(RTC9701JE)ほぼ正確
48時間で+2秒ということは、30日で+30秒ということだから一般的なクオーツの精度レベルであるが合格ラインぎりぎりだ。もう少し電子・機械的な精度は上だと考えられる。

SH7709のマニュアルを見てみると今のコードには2つの問題があることがわかってきた。(1)タイマーの入力クロックは上限2MHzまでであるが、現状はφP(29.4912MHz)/プリスケーラ4=7.3728MHzでオーバークロック動作(実力としては問題ない)。 (2) タイマー割り込みは、タイマ値が00000000->FFFFFFFFとアンダーフローしたときに発生すると書かれている。ということはTCORの値が0のときに1分周、1の時に2分周、73728の時は73729分周となるのではないか?

(2)について検算を行ってみる。
φP(29.4912MHz) / プリスケーラ4 / 73729 = 99.998Hz → 10.0002msec毎に割込み。つまり 0.002% 遅れるはずだ。48時間の0.002%というと 3.456秒遅れる計算となる。あれ?

計算は合わないが(A^^;; 上記(1)と(2)の問題を解決するために arch/sh/kernel/time.c に対してパッチを行った。

diff -u time.c~ time.c
--- time.c~     Sat Apr 12 02:41:20 2003
+++ time.c      Mon Apr 14 05:22:36 2003
@@ -34,7 +34,7 @@
 #include 
 #define TMU_TOCR_INIT  0x00
-#define TMU0_TCR_INIT  0x0020
+#define TMU0_TCR_INIT  0x0021   /* 2002-4-14 Y.Ebihara, it was 0x0020 */
 #define TMU_TSTR_INIT  1
@@ -453,7 +453,10 @@
 #endif
        printk("Module clock: %d.%02dMHz\n",
               (module_clock/1000000), (module_clock % 1000000)/10000);
-       interval = (module_clock/4 + HZ/2) / HZ;
+/* 2003-4-14  y.ebihara */
+       interval = (module_clock/16 + HZ/2) / HZ -1 ;
        printk("Interval = %ld\n", interval);
このカーネルで起動したところ、
Interval = 18431
という表示を得られた。検算してみよう。
φP(29.4912MHz) / プリスケーラ16分周 / (18431+1) = 100Hz
今度こそソフトウェア時計が正確になることを祈ってまた放置してみる。

サルサ

土日に大阪に行く用事があったので、土曜の夜にサルサ屋にいった。はじめは B.&W.(いちおう伏字)という店にいった。miniレッスン付\2,000/w1dr。超混みで、ざっと男10人、女20人くらい。初心者の男女が多めで今日はじめてサルサやるというグループが居た。しかーし、パーティーが始まってから、DJがフロアーの様子を見ずに早い曲、それも超スピードなテクノ系のサルサ(ヴォーカルのない曲)ばかりをかけてた。フロアーは一部、数人の達人級の人がパフォーマンスを見せる一方、曲が早すぎて全然踊れない大多数の人たちがシラケムードになり、よい雰囲気とはいえなかった。俺も数人の子を踊りに誘ったし、誘われもしたが、すんごい早い曲ばっかりで俺自身ついていけなかったし女の子も全然踊れなくて申し訳なかった(次々と早い曲しかかからない)。ロマンチックな曲やメレンゲもかからないしメリハリがなかった。まぁそれを特徴としている店ならしかたない。が、俺の個人的な感覚としてはフロアーの様子を見ずに自分の世界に浸るDJは最悪だ。二度と行かない。

次にINKAS CLUBという店にいった。Door \1,500/w1dr。ここは先ほどと違い早い曲も、スローな曲もかかりgood! というかそれくらいは普通か。今まで意識したこともなかった。フロアーは踊場とテーブルに空間が分かれていて、会話を楽しむ雰囲気もあってよかった。俺がいったときの客のスタイルはLAの人が多かったが、キューバンの男女も結構居た。またソフトドリンクなら300円と良心価格なのも○。レストランやスペイン語教室なども開かれていて丸ごとラテンのお店らしい。また行ってみたくなった。あ、そうそう、京都のアルベルトさんが来ててエルメスさんによろしく(^-^)といってた。

INKAS CLUB入り口。梅田の阪急東通商店街にある
http://los-inkas.com/


2003年04月15日 雨のち曇

CAT709

ntpdateコマンドで正確に時刻調査をすればいいのだと気がついた(A^^;;。ntp -q exus
-qは調査だけを行う。exusはNTPサーバ。結果は20時間で

# ntpdate -q exus
server 192.168.7.110, stratum 3, offset -1.911269, delay 0.02574
16 Apr 00:46:59 ntpdate[156]: step time server 192.168.7.110 offset -1.911269 sec
1.9秒ほど進んでいる。ということはタイマーが早い=Interval値が小さいということか。

サルサ

今日は行くつもりはなかったのだが、日帰りの出張に出ていて、名駅帰ってきたのが夜だったから少しだけJMAXへ寄った。以前JMAXはあまり好きじゃないような事を書いた。確かにあまり好きではないのだが(A^^;;。今日は人がすんごい少なかった。踊ってる人は多分10人くらい。1時間半ほどで撤収。


2003年04月16日 快晴

CAT709

時計の続き。ntpdate コマンドで正確に計測したところ、36時間で3.348秒進むことがわかった。つまり +25.83ppm ということになる。CPUクロック用の水晶発信器の精度が±30ppmとするなら、水晶の機械精度を達成しているので合格範囲以内ということだ。

+25.83ppmは一ヶ月に計算すると+69.1秒になるが、考えてみればパソコンの時計もそのくらい狂うと思う。プログラムコードはこれで正しいと思われるので時計のチューニングはこれにて一旦終了。


2003年04月18日 快晴(暑い)

CAT709

ntpを調査しなおしたところ、ntpの特殊な機能として 127.127.1.0 というアドレスを指定すると内蔵RTCを基準時計として動作することがわかった。Debianのntp関連パッケージは

ntp             ntpq等の関連ツール
  ntp-simple    シンプルなntpd(常駐して時計を合わせ続けるNTPクライアント 兼 NTPサーバ)
  ntp-refclock  内蔵時計が使えるntpd(常駐して時計を合わせ続けるNTPクライアント 兼 NTPサーバ)
ntpdate         時計を一発で合わせて終わり(シンプルなクライアント)
となっているので、ntpdate,ntp-refclock,ntp の3個のパッケージをインストールし、/etc/ntp.conf ファイルに
server 127.127.1.0
を含ませておくと
ultracat:/etc# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.7.110   xxx.xxx.xxx.xxx  3 u    1  512  377    0.857  -23.537 159.057
 LOCAL(0)        LOCAL(0)         5 l   50   64  377    0.000    0.000   0.004
といった感じで動作することがわかった。RTCの精度が高ければntpdを常駐させておくことでソフトウェア時計の精度は維持できる。

イーオン

Sinceに「〜なので,〜だから」という意味があることを知った(知らなかった)。Since you are good party planner, what would you suggest for birthday party? という感じに言えるらしい。

サルサ

夜10時から金曜エルココへ行った。Kazumiちゃんもサルサクラブに行ってみたいといっていたので連れて行った。ちゃんと踊れてた。うまいうまい。

今日は女性がすごく多くて男性の3倍くらいいた(たくさん誘われた(^-^))。友達を誘って来てた子達がおおくて「今日初めてなんですぅ」という子が5,6人くらいいた。初めてっていう子と踊るのは難しい。教え魔になってはいけないので、その子ができる範囲でリードしてあげるのが良いと思う。暖かくなってまたサルサ人口が増えてきた。

深夜に

26時にTVをまわしていたら武田久美子主演のお色気時代劇をやってた。武田久美子いろっぽいわぁ。眠い目で見る(-_-)


2003年04月19日 曇りときどき雨

結婚式

友達が結婚した。結婚式と披露宴に呼んでいただいたので早起きして車で富山まで。今日は富山駅前のホテルに宿泊。いい結婚式だったし、とてもきれいな花嫁さんだった。お幸せにね!

「富山」と「サルサ」でgoogle検索したがヒットせず。今日はゆっくり寝る。


2003年04月20日 雨(一時強く降った)

富山から

滑川、魚津とまわりったあと富山に戻り、国道41号トレースで帰ってきた。富山ではシロエビのてんぷらを食った。うまかった。富山→R41→可児→多治見→R19→春日井 たぶん270kmくらい。途中、神通川第二発電所で水門を開けて放水していたので見晴台から見学。この季節は雪解けのため水量が豊富なのだろうか。発電せずに水を捨ててしまうのももったいない気がしないでもないが・・・

比較的古い時代のダムに思えた。作りからして戦前・戦中くらいのものと思った。googleで検索したが資料が見つからなかった。恵那峡にある丸山ダムと同年代だろうか。ちなみに、まったく無関係なのだが丸山ダムといえば国道418号が有名だ。R418とは誰もが認める中部日本最凶の酷道で、R418 五月橋でgoogle検索してみると数々の驚愕の事実に遭遇することができる。俺も数年前にこの事実を知らずにR418に足を踏み入れてしまった恐怖の体験がある。丸山ダムは現在ケサ上げ?工事をしていて、道マニアを楽しませているR418もいずれは水没してしまうのだ(だから永遠に通行止めのままなのだ)。五月橋も昭和29年に完成したのち、半世紀のあいだ1台の自動車も通すこと無く、誰にも利用されないまま水没してしまう。なんとなくそんな事を思い出した。

話を戻すと、カミオカンデで有名な神岡町も通ってきた。神岡町は鉱山の町なのですね。車窓から見えた喫茶店に「ニュートリノ定食」という看板を発見。しまった!食ってくれば良かった。にゅーとりの。

高山・下呂は通過。時間があれば温泉入っていきたかった。下呂くらいなら比較的近いのでまたチャンスもあるだろう。 今日は雨が強く降った。


2003年04月21日

tDiary

この日記ページを書いているツール(tdiary)の1.5.3が出たのでアップデートした。多少てこづったが何とかバージョンアップ完了。カテゴリー分類が出来るようになったので便利になったと思う。Thank you. アンカー自動生成プラグインというのを使ってみた。これを使うとリンクが簡単に書けるようになる。練習CAT709

[CAT709]

tDiaryでカテゴリー分類できるようになったので今後はカテゴリー分類する。CAT709のマニュアルを整備した。 ftpサイトへアップロードした。

2003年04月22日 晴れ

[仕事]

4/22,23は上京してセミナーの講師の仕事。

[CAT709]

reboot,haltが効かないというbug報告を受けたので修正した。reboot,haltはbusyboxを利用していたがうまく動作しなかった。対策として、/sbin/shutdown, /sbin/halt を通常のバイナリをインストールし、reboot->haltのsymlinkとすることで直った。のちほどFTPサイトにアップロードする。

[サルサ]

広尾から六本木まで一人でてくてくと歩いた。結構遠かった。2kmくらいあったのではないかな。西麻布方向から六本木の丘を登っていったところで、六本木ヒルズのオープニングに出くわした。すごい綺麗なところだ(小さい画像はN504isで撮影)。

今日はTV朝日の新社屋こけらおとしとかで?なんか人だかりが出来ていると思ったら久米弘がいたらしい。見えなかったけど。

ふと上空を見上げると飛行船が飛んでた。広告ではないっぽい。東京上空の遊覧飛行?ここからだと真下には六本木ヒルズ、東には東京タワー、北西には新宿副都心と、首都の夜景を一望できる場所だ。なんだかうらやましげ。

さて、今日は六本木のDeepBlueという店に行ってみた。初めて行ってみた。場所は六本木交差点から徒歩1分!アマンドの真裏だ。駅からメチャクチャ近くてよいぞ。今日は森田(盛田?)さんという若い男性の先生のレッスンを45分うけた。森田さんにお世話になるのは2回目だ。かっこつけーなLAじゃなくて、さわやかにかっこいいLA(笑)という印象のOn1スタイルだ。ボディームーブメントはキューバン風でリードはLA風という感じの先生。

今日は技は1個だけ。しかし細かいところまで徹底的に指導していただいた。「よーし、できるようになってきたからカタチを直していこうか」って45分間。"キレヨクすぱっと!" 口癖になりそうだ(^-^)。

45分があっという間だった。レッスン生は男性2人、女性2人の4人だけだった。レッスンの後はバー&サルサナイトという感じの店になり、踊らない一般のお客さんもいて、、というか踊る人は少なくて、、女性2人と踊ってもらった。俺的には今日はレッスンで指導されたことを忘れないようにするのでいっぱいいっぱいだったので(A^^;;)ある意味満足したので早めに撤収することにした。帰りは地下鉄で1駅区間だがまた広尾のビジネスホテルまで歩いて帰った。


2003年04月23日

[仕事]

昨日に引き続き丸一日セミナーの講師の仕事。帰りは700系ひかりで、14号車1E席でコンセントゲットに成功。携帯を充電する。

[サルサ]

春日井に着いたら20:00くらいだった。1時間くらいはレディアンに出れると思い勝川へ。EMIKO先生に速攻で「ほろ酔いでしょ」とバレる。しまった新幹線でビール飲むんじゃなかった。(A^^;大変失礼しました。

LimeStoneにいったらめずらしくマスターがアルトサックス吹いてた。かっこよかった。Kazumiちゃんのジャズも毎度かっこいいなぁ。→動画(3.7MByte)

Jazzのあと、KazumiちゃんとJunky,Ishute,俺でcalizaの活動。Kazumiちゃんもだいぶ踊れるようになってきた。さすがミュージシャンだ。一度ちゃんとレッスンを受けてみるとすごく上達すると思う。


2003年04月24日

[CAT709]

マザーボードEB709の組みあがり予定が5/16となった。流れから行くと6/1正式発売か(やはり部品が入らずに遅くなってしまった~o~)前倒しでほしい方には5/後半には出せると思います。すでにコンタクトをしていただいた方にはメールします。

[サーバ管理]

ウチのサーバでのMLの追方法メモ(毎度忘れるので)
fml管理ユーザーになる
makefml newml ML名
/etc/qmail/users/assign ファイルに ML名の行追加
qmail-newu 実行
これでよいかわからないがとりあえずこれで動く。

2003年04月25日 霧 MISTY

[kernelハック]

NECのノートPC Lavie/J LJ500/2 を使っているのだが、linux-2.4.20でusbホストが認識せずUSBが全滅だった。
usb-ohci.c: USB OHCI at membase 0xd8711000, IRQ 9
usb-ohci.c: usb-00:0d.0, NEC Corporation USB
usb-ohci.c: USB HC TakeOver failed!
Trying to vfree() nonexistent vm area (d8711000)
PCI: Found IRQ 11 for device 00:0d.1
PCI: Sharing IRQ 11 with 00:0a.0
usb-ohci.c: USB OHCI at membase 0xd8711000, IRQ 11
usb-ohci.c: usb-00:0d.1, NEC Corporation USB (#2)
usb-ohci.c: USB HC TakeOver failed!
Trying to vfree() nonexistent vm area (d8711000)
やはりusbが使えないと不便なのでkernel hackすることにした。
--- drivers/usb/usb-ohci.c-orig	Fri Apr 25 17:05:55 2003
+++ drivers/usb/usb-ohci.c	Fri Apr 25 18:23:52 2003
@@ -2146,6 +2146,10 @@
 	 	
 #ifndef __hppa__
 	/* PA-RISC doesn't have SMM, but PDC might leave IR set */
+	if(!(readl(&ohci->regs->intrenable) & OHCI_INTR_OC)){
+	  dbg("Force enable intr");
+	  writel(OHCI_INTR_OC, &ohci->regs->intrenable);
+	}
 	if (readl (&ohci->regs->control) & OHCI_CTRL_IR) { /* SMM owns the HC */
 		writel (OHCI_OCR, &ohci->regs->cmdstatus); /* request ownership */
 		dbg("USB HC TakeOver from SMM");
@@ -2153,7 +2157,8 @@
 			wait_ms (10);
 			if (--smm_timeout == 0) {
 				err("USB HC TakeOver failed!");
-				return -1;
+				// return -1;
+				break;
 			}
 		}
 	}
超強引だがusb-ohci が使えるようになった。便利だ。

熱が出た。割としんどい


2003年04月26日 曇りのち晴

[サーバメンテ]

ふっるーいPCを再組み立てすることになった。超名板 ASUS P55T2P4だ。いくつものりビジョンが作られたがずっとT2P4の名前を貫いていたほどの名板だ。倉庫の奥に眠っていたATケースのPCを再度生き返らせることになった。CPUは取り付けられ立ていた Cyrix 6x86-P166+、メモリーはEDOのSIMMをかき集めたら80MバイトもあったのでOKだ。

HDDだけは新調することになったが40GバイトのHDDをそのまま認識できる訳がないのでとりあえずBIOSを最新にすることにした。購入したのは'95年か'96年だったはずなので既に7年前の製品だ。BIOSがまだ入手可能か心配だったがASUSは486ボードのBIOSまでまだダウンロードできるようにしていた。さすがだ。T2P4のBIOSをダウンロードするも、今度は書き込みプログラムAFLASH.EXEがうまく動作しない。Unknown Memory Typeエラーがでる。FLASH.EXEでも動かなかったがPFLASH.EXEで書き込みができた。最新BIOS(といってもタイムスタンプは98年)でも40GのHDDは認識しなかった。HDDのジャンパー位置を32Gクリップの位置にして認識できた。とりあえずこれで32Gとして認識できたのだから合格だ。

ひっさしぶりにDOSを起動してDOSのFDISKを動かした。何年ぶりだろう。


2003年04月29日 曇り

つつじ

街路樹としてそこらじゅうに植えてあるつつじがきれいに咲いている。GWになると学生時代につつじ祭りでバイトした事を思い出す。つつじの花ってなめると甘いんだよね。

大掃除

今日はみどりの日で祝日だ。今日は大掃除の日となった。

散らかすだけ散らかして全部片付け・掃除をすることになった。 またまた古いPCが出てきた

ソケット7のdualとか大量のSIMMとか

5inchフロッピーも懐かしい。10年くらい前までは平気で使っていたのにいつの間にか3.5inchフロッピーもつかわなくなって久しい。

2003年04月30日 曇り

片付け

片付いた。机や職場がきれいだと仕事の効率もupだ。古いものはばっさりと捨てることにした。ATのケースやマザー、SIMMや200MHz以下のsocket7のCPUが何個かあるので欲しい方には差し上げます。

サルサ

今日は第5週目なのでレディアンはお休みだ。書くネタがないので土曜日のエルココの写真をupする。この日は大阪や京都、三重から来た人が何人かいて店の入り口のところで話が弾んだ。

土曜のエルココは外国人が多く、日本人よりも外国人のほうが多い時もあったりして日本じゃないみたいだ(スペイン語が多い。英語は少ない)。土曜日はキューバンの人が沢山だけど最近はロスの人も結構増えてきた。女性陣はどちらのスタイルでもフォローできる人が多く、スタイル派閥のようなものは無いから和気藹々としてて楽しい。

22時半からLimeStoneでcalizaの活動をした。あ!!今までKazumiちゃんと書いていたがKazamiちゃんの間違いだと本人から指摘があった(A^^;;。悪かったっす。Kazamiちゃんがcalizaメンバーに加わった。