●ソースコードなど http://www.flicamera.com/fli/software.aspから をダウンロードして、展開 tar zxvpf fli-dist-1.71.tgz ●デバイスドライバモジュールのmake/install cd fli-dist-1.71/fliusb/ make make -C /lib/modules/2.6.16-0vl76.28/build SUBDIRS=/home/seeing/fli-linux/fli-dist-1.71/fliusb modules make[1]: ディレクトリ `/usr/src/kernels/2.6.16-0vl76.28-i686' に入ります CC [M] /home/seeing/fli-linux/fli-dist-1.71/fliusb/fliusb.o Building modules, stage 2. MODPOST CC /home/seeing/fli-linux/fli-dist-1.71/fliusb/fliusb.mod.o LD [M] /home/seeing/fli-linux/fli-dist-1.71/fliusb/fliusb.ko make[1]: ディレクトリ `/usr/src/kernels/2.6.16-0vl76.28-i686' から出ます rm -f *.o .*.cmd *.mod.c; rm -rf .tmp_versionsで fliusb.ko ができる。 su insmod fliusb.ko dmesgとすると usbcore: registered new driver fliusb fliusb_init[830]: fliusb module loadedとなってちゃんとロードできた。 さらに、CCDとフィルターホイールをつなぐと, dmesgに usb 1-5: new high speed USB device using ehci_hcd and address 11 usb 1-5: configuration #1 chosen from 1 choice hub 1-5:1.0: USB hub found hub 1-5:1.0: 3 ports detected usb 1-5.2: new full speed USB device using ehci_hcd and address 12 usb 1-5.2: configuration #1 chosen from 1 choice fliusb_initdev[758]: FLI USB device found: 'CFW-1-5' fliusb_probe[795]: FLI USB device attached; rdepaddr: 0x82; wrepaddr: 0x02; buffersize: 4096; timeout: 5000 usb 1-5.1: new high speed USB device using ehci_hcd and address 13 usb 1-5.1: configuration #1 chosen from 1 choice fliusb_initdev[758]: FLI USB device found: 'Proline CCD Camera' fliusb_probe[795]: FLI USB device attached; rdepaddr: 0x81; wrepaddr: 0x01; buffersize: 4096; timeout: 5000となってちゃんと認識できている。また、 ls -l /dev/fliusb* crw------- 1 root root 180, 240 4月 3日 10:54 /dev/fliusb0 crw------- 1 root root 180, 241 4月 3日 10:54 /dev/fliusb1となってデバイスファイルもできている。 ●デバイスファイルのパーミッションの設定 MAX38のメモを参照。 udevinfo -a -p /sys/class/usb/fliusb0 Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/class/usb/fliusb0': KERNEL=="fliusb0" SUBSYSTEM=="usb" DRIVER=="" SYSFS{dev}=="180:240" looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.2/1-5.2:1.0': ID=="1-5.2:1.0" BUS=="usb" DRIVER=="fliusb" SYSFS{modalias}=="usb:v0F18p0007d0100dcFFdscFFdpFFicFFiscFFipFF" SYSFS{bInterfaceProtocol}=="ff" SYSFS{bInterfaceSubClass}=="ff" SYSFS{bInterfaceClass}=="ff" SYSFS{bNumEndpoints}=="02" SYSFS{bAlternateSetting}==" 0" SYSFS{bInterfaceNumber}=="00" looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.2': ID=="1-5.2" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{product}=="CFW-1-5" SYSFS{manufacturer}=="Finger Lakes Instrumentation" SYSFS{maxchild}=="0" SYSFS{version}==" 2.00" SYSFS{devnum}=="12" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="ff" SYSFS{bDeviceSubClass}=="ff" SYSFS{bDeviceClass}=="ff" SYSFS{bcdDevice}=="0100" SYSFS{idProduct}=="0007" SYSFS{idVendor}=="0f18" SYSFS{bMaxPower}==" 30mA" SYSFS{bmAttributes}=="80" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" ..............で、 /etc/udev/rules.d/50-udev.rules の途中に # FLI Camera / Filter Wheel KERNEL=="fliusb*", SYSFS{product}=="CFW-1-5", GROUP="uucp", MODE="0666" KERNEL=="fliusb*", SYSFS{product}=="Proline CCD Camera", GROUP="uucp", MODE="0666"を追加。 ●ライブラリのコンパイル cd fli-dist-1.71/libfli/ makeとするととおらない。というか、usb.h が見付からないと怒られるので、 Makefile を以下のように変更する。 diff Makefile Makefile.org 16,18c16,17 < INC = $(DIR) $(DIR)/unix /lib/modules/$(shell uname -r)/source/include < CFLAGS = -Wall -O2 -L/lib/modules/$(shell uname -r)/build -g $(patsubst %, -I%, $(INC)) < --- > INC = $(DIR) $(DIR)/unix /usr/src/linux/include > CFLAGS = -Wall -O2 -g $(patsubst %, -I%, $(INC))これでOK。 |