Contents
PC-UNIX tips

Vine Linux on C3 1GHz
C-1ZoomとLinux
LinuxでHotSync 更新!
グラフィックに挑戦
Laser5 Linux 7.1
FMVをADSLルーターに
300GLで遊ぶ
Cyrixで静音マシン
98NoteでADSLルーター
我が家のPC環境
Hurdを使ってみる

ぶたのアイコン子豚館に戻る

C-1ZoomとLinux

ついに念願のデジカメを手に入れました。 Olympus CAMEDIA C-1Zoomです。 もともとLinuxへの接続はあんまり期待していなかったのですが、調べてみると可能なのようなので試してみました。
 
 
カーネル再構築
 
C-1Zoomは、USBストレージクラス対応なので、それらに関係するカーネルオプションを選択してカーネルを再構築します。必要なのは以下のようなものです。
USB support
Preliminary USB device filesystem
USB Controllers
USB Mass Storage support
SCSI support
SCSI disk support
SCSI generic support
最近のカーネルならば、あとは再起動して、USBでつなぐだけでSCSIデバイスとして認識してくれるようです。そうなればあとはマウントポイントを適当に指定して、
# mount /dev/sda1 -t vfat /mnt/camedia
などとすればよいわけです。
ところがC-1Zoomはそういうわけにはいかないのでした。
 
 
C-1Zoomの問題点
 
私が見つけたWeb上の情報によると、Olympus C-1は、一見壊れたように見えるパケットを送るという問題があって、Linuxの標準のドライバでは使えないようなのです。
$ cat /proc/bus/usb/device
で確認すると、C-1ZoomのVendorIDとProductIDはC-1と全く同じ
Vendor=07b4 and ProdID=0102
でした。そこで、C-1ZoomにもC-1と同じ問題があるのではないかと考えました。
 
 
解決策
 
この問題を解決する方法も、上記のサイトにある情報の通りなのですが、カーネルソースの、drivers/usb/storage/transport.hの中の、
#define US_BULK_CS_SIGN 0x53425355 
を、
#define US_BULK_CS_SIGN 0x55425355
に書き換えて、
# make modules; make modules_install
します。 こうしてできた新しいモジュールを使うと、確かにC-1ZoomがSCSIデバイスとして認識されました。 もともとの情報では、drivers/usb/transport.hを書き換えるとなっていましたが、私が試したカーネル2.4.16ではそのファイルがなかったのでdriver/usb/storage/transport.hのことかと思い試してみたらうまくいきました。
ただ、上記のサイトにも書いてあることですが、この方法でC-1(Zoom)を認識させると、それ以外のUSBストレージデバイスが使えなくなるそうです。 C-1(Zoom)以外にもUSBストレージデバイスを持っている人は注意が必要です。
webmaster@kobuta.org