2008年9月27日 (土曜日)

00:10:25 # Life 負荷テスト。 とりあえず、手元の git サーバがセミナー時の負荷に耐えるかどうか確認です。 30クライアントで試験してみたところ、接続失敗エラーが発生していました。 ソースを 確認してみたところ、max_connections = 32 というデフォルトの値が定義されていました。 --max-connections オプションを指定してあげないと当日エラーが起きそうですな。

10:23:46 # Life ssh の常識。 .ssh/config で ControlMaster auto を設定すると接続が高速になるので 遠距離のサーバに対して ssh で捜査するのは常識だよね。 あと、ユーザ名の指定って .ssh/config でデフォルトが指定できる から、現在のユーザ名とサーバ側のユーザ名が違ってもそこに設定すれば大丈夫。 知ってた? (man ssh_config)

... 実は僕は知らなかったのですが。 ControlMaster auto でセッションをはりなおさないのは高速だとおもっていたけどさらに この方法だと ssh-agent をつかわなくてもパスワードを最初の一回だけ入力すればよい認証にできるという点については気付いてなかった。 不覚。便利じゃん。

あと、localhost に対しては stricthostkeychecking をオフにしてます。 これは chroot やゲストOSに対して ssh を利用して接続する場合、 ホストキーはその場で作成した捨てキーなので毎回チェックするのにあまり意味が見出せないからでした。

UPDATE: コメントいただいたので追記。 Host には複数のホストを記述できます。 で、また、Compression yes としたほうが遠隔で遅い接続であれば快適かも。

ServerAliveInterval 10
ServerAliveCountMax 12
Compression yes

Host alioth.debian.org git.debian.org 
  ControlMaster auto
  ControlPath ~/tmp/ssh-%r@%h:%p
  User dancer

Host localhost
  StrictHostKeyChecking no
  Compression no

#Host *
#  -- I can set default setting here...
	

21:18:45 # Life isight firmware. 久しぶりにMacBook のiSight をつかって動画をとってみようかなとおもって調べてみた。 状況が大きく変わっている。 linux-uvc が Linux Kernel 2.6.26 にマージされている。 isight_firmware (drivers/usb/misc/isight_firmare.c) モジュールというのが Linux Kernel 2.6.26 にはいっていて /lib/firmware/isight.fw というファイルをロードするようだ。 isight-firmware-tools というツールがあって、それは hal でがんばっているようだ。 だが、HAL経由でうまくうごいていないような気がする。 昔の macbook-firmware-loader で無理矢理ロードさせてみるとファームウェアはロードできたようだ。 IFT で強制ロードさせる仕組みはどうだろう?

$ dmesg 抜粋
[   10.942810] firmware: requesting isight.fw
[   11.063666] usbcore: registered new interface driver isight_firmware
$ lsusb
Bus 005 Device 003: ID 05ac:8300 Apple, Inc. Built-in iSight (no firmware loaded)	
	

なんとなく sudo mv ./kernel/drivers/usb/misc/isight_firmware.ko{,-disabled} してみた。 そうすると isight_firmware.ko 自体はつかわれなくなる。

/var/log/messagesを眺めている感じでは、

Sep 27 21:27:44 coreduo ift-callout: Firmware loaded succesfully to 005:003
	

しかし、lsusb の結果を見る感じでは、だめ。 /dev/video0 も作成されない。 なんでだ?

$ lsusb
Bus 005 Device 003: ID 05ac:8300 Apple, Inc. Built-in iSight (no firmware loaded)
  	

昔のツールを使うとファームウェアのロードはできる。 uvcvideo ドライバもロードできて、認識はする。 /dev/video0 も作成される。

$ sudo macbook-isight-firmware-loader AppleUSBVideoSupport
$ lsusb
Bus 005 Device 087: ID 05ac:8501 Apple, Inc. Built-in iSight [Micron]
$ v4l-info 

### v4l2 device info [/dev/video0] ###
general info
    VIDIOC_QUERYCAP
	driver                  : "uvcvideo"
	card                    : "Built-in iSight"
	bus_info                : "0000:00:1d.7"
	version                 : 0.1.0
	capabilities            : 0x4000001 [VIDEO_CAPTURE,STREAMING]

standards

inputs
    VIDIOC_ENUMINPUT(0)
	index                   : 0
	name                    : "Camera 1"
	type                    : CAMERA
	audioset                : 0
	tuner                   : 0
	std                     : 0x0 []
	status                  : 0x0 []

video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
	index                   : 0
	type                    : VIDEO_CAPTURE
	flags                   : 0
	description             : "32595559-0000-0010-0080-719b380"
	pixelformat             : 0x00000000 [....]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
	type                    : VIDEO_CAPTURE
	fmt.pix.width           : 640
	fmt.pix.height          : 480
	fmt.pix.pixelformat     : 0x00000000 [....]
	fmt.pix.field           : NONE
	fmt.pix.bytesperline    : 1280
	fmt.pix.sizeimage       : 614400
	fmt.pix.colorspace      : unknown
	fmt.pix.priv            : 0

controls
    VIDIOC_QUERYCTRL(BASE+0)
	id                      : 9963776
	type                    : INTEGER
	name                    : "Brightness"
	minimum                 : 0
	maximum                 : -256
	step                    : 256
	default_value           : 16128
	flags                   : 0

### video4linux device info [/dev/video0] ###
general info
    VIDIOCGCAP
	name                    : "Built-in iSight"
	type                    : 0x1 [CAPTURE]
	channels                : 1
	audios                  : 0
	maxwidth                : 640
	maxheight               : 480
	minwidth                : 48
	minheight               : 32

channels
ioctl VIDIOCGCHAN: Invalid argument

tuner
ioctl VIDIOCGTUNER: Invalid argument

audio
ioctl VIDIOCGAUDIO: Invalid argument

picture
    VIDIOCGPICT
	brightness              : 64
	hue                     : 0
	colour                  : 54613
	contrast                : 0
	whiteness               : 0
	depth                   : 16
	palette                 : unknown

buffer
ioctl VIDIOCGFBUF: Invalid argument

window
    VIDIOCGWIN
	x                       : 0
	y                       : 0
	width                   : 640
	height                  : 480
	chromakey               : 0
	flags                   : 0

	
Junichi Uekawa

$Id: dancer-diary.el,v 1.92 2007/08/30 21:46:09 dancer Exp $