back

USBスキャナーを使うのじゃ


USBの設定

USBでスキャナーエプソンのGT-7700Uを使うっす。まず、USBを使えるようにするっす。 ここでusbmgrをインストールするっす。これはUSBのホットプラグ(つまり、 コードが差し込まれたらモジュールをロードする、など)をやるプログラムっす。
# apt-get install usbmgr

usbmgrの設定

usbmgrの設定ファイルはホットプラグ動作設定の/etc/usbmgr/usbmgr.confと 起動時モジュールロードの/etc/usbmgr/preload.confの2つっす。 まずpreload.confではUSBコントローラーのモジュールusb-uhciを追加するっす。 インテル製の場合usb-ohciだそうで、これは/proc/pciなどのUSB Controller をみるとわかるっす。
hid
mousedev
usb-uhci
usbmgrを起動するっす。
# /etc/init.d/usbmgr stop
# /etc/init.d/usbmgr start
スキャナーの電源を差し込んで、コードをPCのUSBの穴につなぐっす。 そして/proc/bus/usb/devicesのGT-7700の箇所をみるっす。
P:  Vendor=04b8 ProdID=010b Rev= 1.14
S:  Manufacturer=EPSON
S:  Product=GT-7700
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  2mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
Driverがロードされていないっす。そこでusbmgr.confにGT-7700の情報を 追加するっす。EPSONのスキャナーがいくつかすでにあるので それをまねて行を追加するっす。productを先のProdIDにするだけっす。
# Perfection 7700U [Epson]
vendor 0x4b8 product 0x10b module scanner
一度USBコードを抜いて、usbmgrを再起動するっす。
# /etc/init.d/usbmgr restart
USBコードを差し込んで、/proc/bus/usb/devicesをみて先ほどの箇所で Driver=usbscannerとなっていれば成功っす。

scannerデバイスの作成

モジュールがロードできてもまだデバイスファイルがないので まだ使えないっす。 Linuxではアプリケーションが周辺機器(など)にアクセスするときは、 デバイスファイルを読み書きすることになるからっす。 そこでデバイスファイルを作るっす。
デバイスファイルはmknodコマンドで作るっす。 特定のデバイスファイルを作るにはまず、カーネル附属のデバイスに関する ドキュメントを見るっす。kernel-doc-2.4.9パッケージでは /usr/share/doc/kernel-doc-2.4.9/Documentation/devices.txt.gzがそれっす。 以下がUSBの該当箇所っす。
180 char        USB devices
                  0 = /dev/usb/lp0      First USB printer
                    ...
                 15 = /dev/usb/lp15     16th USB printer
                 16 = /dev/usb/mouse0   First USB mouse
                    ...
                 31 = /dev/usb/mouse15  16th USB mouse
                 32 = /dev/usb/ez0      First USB firmware loader
                    ...
                 47 = /dev/usb/ez15     16th USB firmware loader
                 48 = /dev/usb/scanner0 First USB scanner
                    ...
                 63 = /dev/usb/scanner15 16th USB scanner
                 64 = /dev/usb/rio500   Diamond Rio 500
これでmknodは次のようになるっす。
# cd /dev
# mkdir usb
# cd usb
# mknod scanner0 c 180 48
# chmod 666 scanner0
mknodの引数cはcharデバイスということっす。 ここではだれでもスキャナーが使えるようアクセス権を666しているっす。

スキャナー読み込みプログラム

saneとxsane

スキャナー読みとりユーティリティsaneとxsaneをインストールするっす。
# apt-get install sane xsane
saneの設定ファイルは/etc/sane.d以下にあるっす。 このなかでGT-7700のメーカーであるepson.confを編集するっす。 ここにusbデバイスを追加するっす。
usb /dev/usb/scanner0
X上でxsaneを立ち上げてテストするっす。epson.confを読み込むために 引数にepsonが必要っす。
$ xsane epson
同様にちょっとインタフェースが違うxscanimageも使えるっす。
$ xscanimage epson

gimpで取り込み

ただ、ファイルにするだけならいまのxsaneでも十分っす。 しかし、解像度をあげるとイメージが大きくなるのでそれを小さくする ためにあとで変更するのでは不便っす。
Gimpで取り込めばGimp上で拡大縮小ができるし、編集もできるので 便利っす。Gimpではメニュー「ファイル」から「取り込み」でxsaneが、 メニュー「拡張」から「Aquire Image」でxscanimageが起動できるっす。

back
Copyright (c) 2001 ichiyama ryoichi, All Rights Reserved.