スキャナサーバーの立て方 (for Vine Linux 3.1)


VineLinuxをスキャナGT-8400U(EPSON)のサーバーにしたときのメモ。LAN越しでWindowsからスキャナを共同利用できる。
だいぶうろ覚えの部分があるが、今度作業することがあれば、少しは助けになるだろう。

  • apt-getで sane、sane-devel をインストール。(サーバーとしてしか使わないので、sane-clientやxsaneは不要。)
  • rootでログインして/etc/sane.d/dll.confをバックアップする。
  • /etc/sane.d/dll.confを開いて自分のスキャナ以外をすべて削除する。(または行頭に「#」を付けてコメントアウトする。)GT-8400U(EPSON)の場合はsnapscanだけ残す。
  • 一般ユーザーから/dev/usb/scanner0にアクセスできるようにパーミッションを変更する。
# chmod 666 /dev/usb/scanner0
  • 一般ユーザーでsane-find-scannerを実行する。スキャナが見付かれば画面に表示される。
  • USBのスキャナを接続してから、dmesgコマンドを実行する。(GT-8400Uの場合)
usb.c: registered new driver usbscanner
scanner.c: USB scanner device (0x04b8/0x011f) now attached to scanner0

この「0x04a9/0x2204」の部分の値をメモしておく。ちなみに、前半(0x04b8)がベンダID、後半(0x011f)がプロダクトIDを示す。

  • rootでログインして、/etc/murasaki/murasaki.dependに以下の行を追加する。
alias-スキャナ名: scanner vendor=[ベンダID] product=[プロダクトID]

GT-8400Uの場合は ESFW30.BIN を探してきて入手する(対応するファームウェアをどうやって調べたかは忘れた。)

#------------------ General ------------------

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
#firmware /path/to/your/firmware/file.bin
firmware /etc/sane.d/ESFW30.BIN

# If not automatically found you may manually specify a device name.

# For USB scanners also specify bus=usb, e.g.
#/dev/usb/scanner0 bus=usb

# For SCSI scanners specify the generic device, e.g. /dev/sg0 on Linux.
# /dev/sg0
  • これでプラグアンドプレイが可能になる。(はず)
  • inetdを起動する。apt-getでsaneをインストールすると/etc/inetd.confに次のようにsanedの設定が追加されている。
sane    stream  tcp     nowait  root    /usr/sbin/in.saned   /usr/sbin/in.saned
  • Windows側で、win32用のxsaneをダウンロードして解凍。解凍場所はC:\saneなどにし、Program Filesには置かないこと。sane/etc/net
  • C:\sane\etc\sane.d\net.confを編集し、スキャナが接続されているLinuxマシンのIPアドレスを記入する。

以上でWindowsからsaneにアクセスできる。

参考
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/598useusbscanervl.html
http://www.ee.t-kougei.ac.jp/~yukiya/FreeBSD/scanner.html