my Top pageドジ話の目次前のドジ話次のドジ話

スキャナーの設定

  1999年12月16日(木)

  先日、モニター画面の画像を取り込めるようになって、画像に関する世界が一段と
広がってきました。これまで、GIMP の積極的な利用はしてきませんでした。が、画
像の取り込みと言うことをきっかけに、せっかくスキャナー持っているんだし、外部
から画像を取り込めたらどんなに良いだろうと思い始めました。それで、スキャナー
に関することを調べ始めました。SANE(Scanner Access Now Easy)というのがあって
GIMPへのプラグインとして使えるということが判りました。さらにSANEについてサイト
や ML ログ等を調べた結果、私の持っているマイナーなスキャナー SHARP JX-250 が使
えるという事が判りました。判った時は本当に嬉しかったです。Vine Plus にも SANE
の RPM がありましたから環境は完璧に整っていました。後は実行するだけです。

次の2つのパッケージを取得してインストールしました。

# rpm -ivh sane-1.0.1-2.i386.rpm 
# rpm -ivh sane-clients-1.0.1-2.i386.rpm 

そして、/etc/sane.d/dll.conf の該当のスキャナーを残し、後はコメントします。

-------------- /etc/sane.d/dll.conf --------------------
# enable the next line if you want to allow access through the network:
#net
#abaton
#agfafocus
#apple
(省略)
#qcam
#ricoh
#s9036
sharp
#snapscan
#tamarack
#umax
---------------------------------------------

次に、そのスキャナーの設定ファイルを確認します。

-------------- /etc/sane.d/sharp.conf -----------
/dev/scanner
-----------------------------------------------
とスキャナーのデバイスエントリは /dev/scanner にシンボリックリンク
を張られると言うことが判りました。でも、BOOT メッセージにも、

# cat /proc/scsi/scsi
Attached devices: 
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: FUJITSU  Model: M2512A           Rev: 1507
  Type:   Direct-Access                    ANSI SCSI revision: 01
Host: scsi0 Channel: 00 Id: 04 Lun: 00
  Vendor: PIONEER  Model: CD-ROM DR-124X   Rev: 1.05
  Type:   CD-ROM                           ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 06 Lun: 00
  Vendor: SHARP    Model: JX250 SCSI       Rev: 131H
  Type:   Scanner                          ANSI SCSI revision: 02

とやっても、/dev/sga 〜 dev/sgh までのどれかスキャナーのデバイスエントリ
かか判りません。それで、仕方なく、

# ln -s /dev/sga /dev/scanner
# scanimage -L
# rm /dev/scanner
# ln -s /dev/sgb /dev/scanner
# scanimage -L

と、取り合えず全てを当たってみることにしました。そして、幸いにも、

# ln -s /dev/sgc /dev/scanner
# scanimage -L
device `sharp:/dev/scanner' is a SHARP JX250 SCSI flatbed scanner

と /dev/sgc がスキャナーのデバイスエントリだと判りました。

で、早速 GIMP からスキャンをやってみました。
# sane をインストールすると自動で GIMP のプラグインに組み込まれます。
# デフォルトでは root でしかスキャンは出来ません。

スキャナーが作動を始めました。やったー ! と思わず喜びました。
が、10秒程で止まり、10分位で、エラーダイアログ  
  「Error during read: Operation was cancelled.」 
が出ました。
原因が判らず(判るはずも無いが、、、)、SANE の SHRAP ドライバー開発者
の福田さんへ問い合わせを行いました。
# 福田さん、本当にありがとうございました。

# SANE_DEBUG_SHARP=5; export SANE_DEBUG_SHARP  <---- bash なので
(# setenv SANE_DEBUG_SHARP=5  <---- tcsh ならば)
# xscanimage &
や
# SANE_DEBUG_SHARP=128; export SANE_DEBUG_SHARP
# xscanimage &
と、デバッグを Gray や Color Scan mode 等で行いました。

が、どうもドライバーの問題ではなく SCSI 自体に問題があるようだという事が
判りました。私の SCSI 環境は、

PC 起動時の BIOS では、

Adaptec AHA2920 BIOS version 3.0

と表示され、ブート時のメッセージでは、

scsi0 : BIOS version 3.?. at 0xc8000 using scsi id 7
scsi0 : TMC-36C70 (PCI bus) chip at 0xe400 irq 9
scsi0 : Future Domain TMC-16x0 SCSI driver, version 5.44

と出ます。これは、インストールの SCSI 設定時に Future Domain TMC-16x0 
SCSI driver に指定すると OS が認識するのでこうしています。
同じ SCSI には MO(230MB) と CD-ROM を内蔵で接続しています。が auto mount 設定はし
ていません。これらは現状問題なく作動しています。他には SCSI 接続機器はありません。

SCSI に問題があれば、これはもう私の理解力を越えています。それでやむなく、

Adaptec AHA-2940AU (PCI-to-UltraSCSI Host Adapter)

のバルク品を買って来てインストールしました。17,000円 もしました。
結果、ブートメッセージは次のように、

(scsi0)  found at PCI 14/0
(scsi0) Narrow Channel, SCSI ID=7, 3/255 SCBs
(scsi0) Downloading sequencer code... 419 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.7/3.2.4
       
scsi : 1 host.
  Vendor: FUJITSU   Model: M2512A            Rev: 1507
  Type:   Direct-Access                      ANSI SCSI revision: 01
Detected scsi removable disk sda at scsi0, channel 0, id 0, lun 0
  Vendor: PIONEER   Model: CD-ROM DR-124X    Rev: 1.05
  Type:   CD-ROM                             ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
  Vendor: SHARP     Model: JX250 SCSI        Rev: 131H
  Type:   Scanner                            ANSI SCSI revision: 02
(scsi0:0:0:0) Synchronous at 5.0 Mbyte/sec, offset 8.

と、スキャナーも認識しています。(デバイスエントリはやっぱり判らないけど、、。)

あとは、前述と同じように設定を行いました。そして、結果、

  " GIMP から A4 サイズ 400 dpi カラーで綺麗にスキャンできました。"
  " おまけに、MS-Windows98 2nd 上よりは比較できない程、メチャ早い ! "

  ばんざーい ! !  ばんざーい ! !

でした。

[追加情報(その1)・・・一般ユーザーで使う方法]

これでは、root 権限でしかスキャナーを扱えません。そこで、一般ユーザーから
GIMPでスキャナーを使う場合は、(ほしかさんよりの情報)

[root]# chmod 666 /dev/sgc
[root]# ln -s /dev/sgc /dev/scanner

として、(以上 ほしかさんよりの情報、以下私の追加実行例)

/root/.gimp/pluginrc の下記の部分(ファイルの一番最後の所)

--------------- /root/.gimp/pluginrc  -----------------------------
(plug-in-def "/usr/lib/gimp/1.0/plug-ins/xscanimage" 924865580
             (proc-def "xscanimage-sharp-3a--2f-dev-2f-scanner" 2
                       "Front-end to the SANE interface"
                       "This function provides access to scanners and other image acquisition devices through the S
ANE (Scanner Access Now Easy) interface."
                       "Andy Beck, Tristan Tarrant, and David Mosberger"
                       "Andy Beck, Tristan Tarrant, and David Mosberger"
                       "8th June 1997"
                       "/Xtns/Acquire Image/sharp:'dev'scanner"
                       ""
                       ""
                       ""
                       "RGB, GRAY"
                       1 0
                       (proc-arg 0 "run_mode""Interactive, non-interactive"))
             (proc-def "xscanimage" 2
                       "Front-end to the SANE interface"
                       "This function provides access to scanners and other image acquisition devices through the S
ANE (Scanner Access Now Easy) interface."
                       "Andy Beck, Tristan Tarrant, and David Mosberger"
                       "Andy Beck, Tristan Tarrant, and David Mosberger"
                       "8th June 1997"
                       "/Xtns/Acquire Image/Device dialog..."
                       ""
                       ""
                       ""
                       "RGB, GRAY"
                       1 0
                       (proc-arg 0 "run_mode""Interactive, non-interactive")))
--------------------------------------------------------------------------------

を、

/home/user_name/.gimp/pluginrc の該当部分と置き換えました。

これで、一般ユーザー権限で GIMP から SHARP スキャナーを扱えます。

/root/.gimp/pluginrc をそのまま /home/user_name/.gimp/pluginrc とコピーして
も良いかもしれませんが、これは確認していません。

[追加情報(その2)・・・デバイスエントリを検索する方法]

(松原@鹿児島さんよりの情報)

# 私自身は実行して確認していません。(後で知りましたので)

デバイスエントリを探すコマンドとして、
# find-scanner
と言うコマンドがあります。が、現在の VinePlus の sane rpm パッケージの中には、
find-scanner は入っていないようです。が、 sane の SRPM の中にあります。
find-scanner は、tools というディレクトリの下にあります。一緒にmakefileもありますから、
このディレクトリでいきなりmake し、/usr/local/bin/ へ コピーすればOKです。
# find-scanner & で、

find-scanner: found processor "EPSON SCANNER GT-5000 1.07" at device /dev/sge

と、デバイスエントリが /dev/sge であるという結果が得られます。
(松原@鹿児島さんは EPSON SCANNER GT-5000 1.07 を使用)

----------------  以下 スキャナー 実行画面 -------------------------------------

 GIMPの起動画面(14kB) 



ここで、[xtns]->[Aquire Image]->[Device Dialog の SHARP:/dev/scanner] を選択すると、 xscanimage が起動(32kB) します。

スキャン結果(130kB)

my Top pageドジ話の目次前のドジ話次のドジ話