SANE/スキャナー別の問題

提供: ArchWiki
2016年12月30日 (金) 20:53時点におけるKusakata (トーク | 投稿記録)による版 (add en link)
ナビゲーションに移動 検索に移動

この記事では SANE を使う時のスキャナーあるいはメーカー別の問題を扱っています。

BenQ/Acer

Acer (BenQ) 製の USB スキャナーを使用する場合、適切なファームウェアバイナリをダウンロードして /etc/sane.d/snapscan.conf を設定する必要があります。

  • 使用しているモデルを確認して USB ID をメモしてください:
$ lsusb
Bus 002 Device 010: ID 04a5:20b0 Acer Peripherals Inc. (now BenQ Corp.) S2W 3300U/4300U
  • snapscan のメインページを開いてスキャナーがサポートされているかどうかや必要なファームウェアを確認してください (例: u176v046.bin)。
  • インターネットでファームウェアイメージを検索して /usr/share/sane/snapscan/ にダウンロードしてください。
  • /etc/sane.d/snapscan.conf を編集して以下の2行を設定してください:
firmware /usr/share/sane/snapscan/u176v046.bin
/dev/usb/scanner0 bus=usb

Brother

Brother のスキャナーやプリンター・スキャナー複合機を使うには適切なドライバーが必要です。Brother Linux スキャナーページ で使用している機種を検索してください。

それから適切なパッケージをインストールしてください:

ドライバーをインストールすると SANE からスキャナーが認識されるようになります。

ネットワークスキャナーの場合、Brother は brscan のバージョンにあわせて設定ツールを用意しています (例: brscan2 互換デバイスの場合は brsaneconfig2):

# brsaneconfig2 -a name=<ScannerName> model=<ScannerModel> ip=<ScannerIP>

例:

# brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110

ネットワークスキャニング

WiFi などによるネットワークスキャニングの場合、Sane がスキャナーを認識できないことがあります。その場合、/etc/sane.d/net.conf ファイルにスキャナーの IP アドレスを指定してください。

scanimage --check-devices を使って sane からスキャナーが認識されているか確認してください。確認できない場合、Sane がネットワークデバイスとして認識できるようになっているか確認してください ([1] を参照)。/etc/sane.d/dll.confbrotherX (X は上記の brscan のバージョンと対応します) と記述されているか確認して、存在しない場合はファイルの末尾に brotherX を追加してください。

Invalid argument

必要なパッケージを全てインストールしたのに "invalid argument" エラーが表示される場合、設定ファイルが破損している可能性があります。以下のコマンドを実行してください (brscan4 の場合):

# brsaneconfig4 -d 

出力によって問題を絞り込むことができます。大抵の場合は接続が正しく設定されていないことが原因です。ネットワークスキャナーの場合は /etc/opt/brother/scanner/brscan4//brsanenetdevice4.cfg をエディタで開いて IP アドレスが正しいことを確認してください。USB 接続の場合は設定ファイルのスキャナーのパスが正しいことを確認してください。lsusb コマンドによって出力された値と設定ファイルの値を比較して必要に応じて値を変更してください。

Scan-key-tool

接続したコンピュータではなくスキャナー自体からユーザーが操作してスキャンをすることができるツールを Brother はリリースしています (例えばスキャナーのキーパッドで "Scan to email" や "Scan to image" を選択するなど)。brscan-skeyAUR パッケージをインストールして systemd を使って brscan-skey.service を起動してください。デフォルトではパッケージによって作成される brscan-skey ユーザーとしてサービスが実行されます。ホームディレクトリは /srv/brscan-skey です。

Brother はキーパッドでスキャンタイプが選択されたときに実行されるデフォルトスクリプトを用意しています。スクリプトを使うには brscan-skeyAUR パッケージの任意の依存パッケージをインストールする必要があります。"Scan to email" 以外のオプションでは作成された結果は $HOME/brscan に出力されます。$HOME はツールを実行したユーザーのホームディレクトリです (systemd で起動した場合は /srv/brscan-skey になります)。

キーパッドでスキャンのタイプが選択されたときに何を行うかを変更することが可能です。変更するには /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.cfg を編集します。スキャンタイプが選択されると IMAGE, OCR, EMAIL, FILESCAN_COMMAND 変数が実行されます:

$ $SCAN_COMMAND $SCANNER_DEVICE $SCANNER_FRIENDLY_NAME

$SCAN_COMMAND はクォートでかこまれていないので、複数の位置パラメータを指定して実行することができます。$SCANNER_DEVICE はデバイスの名前を参照し、sane のフロントエンドに指定する必要があります (例: scanimage を使う場合は --device-name フラグ)。例えば: brother3:bus4;dev2$SCANNER_FRIENDLY_NAME はヒューマンリーダブルなスキャナーの名前です。

xsane がクラッシュする

xsane が =bugchk_free(ptr==(nil))@brother_modelinf.c(482) というメッセージを吐いて終了する場合は /usr/local/Brother -> /usr/share/brother のリンクを作成してください。

Canon

Canon Pixma オールインワンプリンター/スキャナーを使ってネットワークを介してスキャン

プリンター/スキャナーの IP アドレスを確認して、/etc/sane.d/pixma.confbjnp://10.0.0.20 という形式で追加してください。

これで Sane はデバイスを見つけられるはずです。詳しくは man sane-pixma を参照。

Epson

Epson 製のスキャナーでは "Image Scan! for Linux" が使えます。

  • iscan パッケージをインストールしてください。
  • 使用しているスキャナーにあわせて適切な iscan-plugin パッケージをインストールしてください (例えば Epson Perfection Photo V600 の場合は iscan-plugin-gt-x820AUR)。
  • 再起動すると udev によってデバイスがスキャナーとして認識され適切なパーミッションが設定されます。

ネットワークスキャナー (Wi-Fi を含む) の場合、iscaniscan-plugin-networkAUR をインストールしてから /etc/sane.d/epkowa.conf を編集して以下の行を追加してください:

net {IP_OF_SCANNER}

Epson Perfection 1270

Epson Perfection 1270 の場合、esfw3e.bin という名前のファームウェアが必要です。Windows 版のドライバーをインストールすることで入手できます。

snapscan バックエンドの設定ファイル /etc/sane.d/snapscan.conf を編集してファームウェアのパスを変更してください:

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /mnt/mydata/Backups/firmware/esfw3e.bin

そして以下の行を追加してください:

# Epson Perfection 1270
usb 0x04b8 0x0120

sane-find-scanner コマンドを実行することでコード情報 (usb 0x04b8 0x0120) は取得できます。

それから以下のような行を /etc/hotplug/usb/libsane.usermap に追加して権限を設定してください:

# Epson Perfection 1270
libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

スキャナーを再接続することで Epson Perfection 1270 が使えるようになります。

ノート: I can scan image if I define the X and Y value, but without that error message occurs like: scanimage: sane_start: Error during device I/O, if anyone knows any other reasons, please add them to this section.
  • scanimage: sane_start: Error during device I/O というエラーでスキャナーがフリーズしないように、ADF (automatic document feed) を有効にしてスキャンするときは、/etc/sane.d/dll.conf から全てのバックエンドを削除・コメントアウトしてバックエンドを次のファイルに追加する必要があります: snapscan

修正しても Error during device I/O メッセージが表示される場合はスキャナーの (下部に存在する) 転送ロックが解除されていることを確認してください。

Epson Perfection 1670/2480/2580/3490/3590

ノート: Installation instructions were only tested for Epson Perfection 3590 but should be similar to the other models. Check the instructions above and the links below and edit this wiki page if you can verify that your scanner works.

使用している Epson の機種にあわせて適切なファームウェアをダウンロードしてください。モデルとドライバーについては [2][3] で確認できます。ファームウェアのダウンロードリンクは壊れていますが こちらのリンク からダウンロードできます。ファームウェアのファイル名は使用してるモデルにあわせて変更してください。Epson の公式サイトからファームウェアソースをダウンロード・解凍したい場合は こちらのガイド を読んでください。

AUR の sane-epson-perfection-firmwareAUR パッケージでもファームウェアをインストールできます。公式のソースからダウンロードしてバイナリが抽出され /usr/share/sane/snapscan/ にインストールされます。

snapscan バックエンドの設定ファイル /etc/sane.d/snapscan.conf を編集してファームウェアのパスを指定してください:

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /usr/share/sane/snapscan/esfw52.bin

Epson Perfection 3590 では他に設定の変更は必要ありませんが他の機種では設定が必要かもしれません。問題が発生する場合は iscan パッケージを完全に削除することで問題が解決することがあります。

Fujitsu

S300M

S300M スキャナーを使うにはファームウェアファイル /usr/share/sane/epjitsu/300M_0C00.nal が必要です。こちら からダウンロードするか Windows のドライバーから抽出してください。

HP

hplip によってサポートされている HP 製のデバイスを使用する場合、hplip パッケージをインストールしてください。

パッケージには3つのツールが付属しています:

  • デバイスを追加・セットアップするための hp-setup
  • hp-plugin は 'HPLIP Plugin Download and Install Utility' です。
  • hp-scan は 'HPLIP Scan Utility' です。ツールを使う必要がある場合、python-pillow をインストールしてください。

hp-setup で GUI を使用する場合は Python Qt4 が必要です。古い Qt4 ツールチェインをインストールしたくない場合、引数に -i を付けて hp-setup を実行することで CLI インターフェイスが使えます。

デバイスが USB で接続されている場合、hp-setup を root で実行して画面上の指示に従ってください。

デバイスがネットワークで接続されている場合、# hp-setup <printer ip> を使ってください。

Mustek

BearPaw 2400CU

sane-gt68xx (sane-gt68xx-firmware) で動作します。

Samsung

Samsung MFP プリンターを使うためには /etc/sane.d/xerox_mfp.conf を編集しなくてはなりません。

エントリの例:

#Samsung SCX-3200
usb 0x04e8 0x3441

必要に応じてプリンターモデルを変更してください。ipVendor と idProduct のコードは lsusb で取得できます。このスレッド を見てください。

USB インターフェイスではなくネットワークを介してスキャナーにアクセスするには、/etc/sane.d/xerox_mfp.conf に以下のような行を追加してください:

#Samsung scx4500w wireless ip network address
tcp xx.xx.xx.xx

xx.xx.xx.xx はプリンターの固定 IP アドレスに置き換えてください。