English

このページには、NetBSD 用の IEEE 1394 アイソクロナスデータを読み出すパッチと、 新しい CardBus のコードが置いてあります。

ついに、NetBSD-current に入りました。 20021204 以降の NetBSD-current には、これまでの IEEE 1394 アイソクロナスドライバキット相当のコードがはじめから入っているので、パッチは必要ありません。 アイソクロナスストリームの送り出しはまだ出来ません(今後の課題です)。

IEEE 1394 isochronous ドライバを有効にするには、カーネルのコンフィグレーションファイルに、
	fwohci* at pci? dev ? function ?
	# fwohci* at cardbus? dev ? function ? # for CardBus
	pseudo-device fwiso	4
を付け加えてコンパイルして下さい。

デバイスノードは、以下のように作成する必要があります。i386 の場合は、
	mknod fwiso0 c 95 0
	mknod fwiso1 c 95 1
	mknod fwiso2 c 95 2
	mknod fwiso3 c 95 3

	mknod fwdv0 c 95 512
	mknod fwdv1 c 95 513
	mknod fwdv2 c 95 514
	mknod fwdv3 c 95 515
としてください。macppc の場合は
	mknod fwiso0 c 67 0
	mknod fwiso1 c 67 1
	mknod fwiso2 c 67 2
	mknod fwiso3 c 67 3.

	mknod fwdv0 c 67 512
	mknod fwdv1 c 67 513
	mknod fwdv2 c 67 514
	mknod fwdv3 c 67 515
としてください。
遊んでみる
DV デッキ(カムコーダで良い)を i.LINK 端子につないで、DV を再生します。 そこで、
	cat /dev/fwdv0 > file
とすると、file に DV のデータが取れます。 DV を吸い上げるためのデバイスが、/dev/fwiso? から /dev/fwdv? に変わっているので注意してください。

取ったデータを見るには、libdv に入っている playdv (NetBSD binary) を使います。 libdv-0.6 は、ほとんど無修正でコンパイルできます。 libdv-0.98 はをコンパイルするためには、若干の修正が必要です。 拾えなかった DV フレームの数は vmstat -e で表示されます。

DV データのヘッダを表示するプログラム dvheader も置いておきます。

プログラムを開発してみる
/dev/fwiso? は、open, close, read, ioctl をサポートしています。 fwiso の ioctl を叩くためのインクルードファイルをインストールします。 sys/dev/ieee1394 に移動して、fwiso_ioctl.h をコピーしてください。
	mkdir /usr/include/dev/ieee1394
	cp -p fwiso_ioctl.h /usr/include/dev/ieee1394/
ioctl では、fwiso のモード取得の設定、アイソクロナスチャネル番号の取得と設定、使用する IEEE 1394 インターフェースの取得と設定をすることができます。 とても単純なサンプルプログラム、fwisochmod, fwisoviewmod, fwisoanalysis (raw mode 用) をとりあえず置いておきます。

古いパッチ
IEEE 1394 アイソクロナスドライバキット (14May02)
2002年 4月10日以降の NetBSD-current/i386 と、たぶん NetBSD-current/macppc で動くと思われます。アイソクロナスストリーム(今は DV と生 iso)を読むことができます。

CardBus2 for NetBSD (試験版 19Oct01)

改良版の NetBSD CardBus スタックです。 電源管理、カード抜挿管理が強化されています。 サスペンド時に CardBus card を抜いてもちゃんと処理します。 また、サスペンド時には CardBus bridge が省電力モードに入ります(サポートしていれば)。 どんなもんでしょう?

使い方は、sys/ ディレクトリが見えるところで、cardbus2-200XYYZZ.tar.gz を展開して、カーネルをリコンパイルするだけです。sys/cardbus の内容と、sys/pccbb.c, sys/pccbbvar.h, sys/pccbbreg.h が書き変わります。これまで CardBus を使っている場合、config ファイルに新たな設定を施す必要はありません。


CardBus ドキュメント (英語版, 未完成, 15Mar00) Copyright (c) 2001 HAYAKAWA Koichi. All rights reserved