web-dev-qa-db-ja.com

USB経由でFujitsuix500からLinuxへのスキャンを開始します

スキャナーのスキャンボタンを押してスキャンを開始し、データをLinuxボックスに配信したいと思います。

残念ながら、スキャナーのWLANインターフェースを使用できないため、USBで行き詰まります。

これを機能させるチャンスはありますか?

これを達成するためのいくつかの推測的な方法があります。これらのいずれかで成功しましたか?

  • ScanSnapのWindowsおよびmacOSクライアントに実装されているプロトコルに(部分的に)準拠しているクライアントをLinuxで実行します(ほとんどありません)
  • USB-イーサネットアダプタをスキャナーにインストールし、スキャナーにイーサネットデバイスとして使用してもらいます。その後、FTPにスキャンできます。
  • Wine経由で公式のWindowsクライアントをインストールします。
2
ens

scanimage USB経由でix500スキャナーをサポート

例:

scanimage -L
device `fujitsu:ScanSnap iX500:59766' is a FUJITSU ScanSnap iX500 scanner

それで、それが欠けているのはボタンからのトリガーです。見つけた

https://www.camroncade.com/cloud-scanner-with-raspberry-pi-fujitsu-ix500-2/

スキャナーボタン付きパッケージについて言及しています。ドイツ語の説明があります:

どちらも少し時代遅れですが、一般的な考え方についていくつかのヒントを提供します。これは、Ubuntu 18.04LTS仮想マシンでのトライアルの説明です。インストール後

Sudo apt-get install scanbuttond

USBデバイスを仮想マシンに割り当ててスキャナーを接続しました。

scanimage -L

上記のように動作しました。

Sudo sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04c5 [Fujitsu], product=0x132b [ScanSnap iX500]) at libusb:003:007
could not fetch string descriptor: Input/output error
could not fetch string descriptor: Input/output error
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Input/output error
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

有望に見えます。

Sudo scanbd -d7 -f

デバッグを高レベルに設定して、デーモンをフォアグラウンドで起動します。私の場合、ネットワーク上で利用可能な別のスキャナーからの結果を取り除くために、dll.conf内のいくつかのスキャナードライバーをコメントアウトする必要がありました。

バグのため https://bugs.launchpad.net/ubuntu/+source/scanbd/+bug/1747115 ユーザー/グループの設定も変更する必要がありました。

diff --git a/scanbd/scanbd.conf b/scanbd/scanbd.conf
index 5d74933..1356236 100644
--- a/scanbd/scanbd.conf
+++ b/scanbd/scanbd.conf
@@ -39,8 +39,8 @@ global {
         # ArchLinux (ArchLinux doesn't have saned user)
         # user    = daemon
         # *BSD
-        # user    = root
-        user    = saned
+        user    = root
+        #user    = saned

テストスクリプトにフルパスをscanbd.confで5回、scanner.d /fujitsu.confで4回追加しました。

root@fur:/etc/scanbd# grep scan.sh scanbd.conf 
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"
root@fur:/etc/scanbd# cd scanner.d/
root@fur:/etc/scanbd/scanner.d# grep scan.sh fujitsu.conf 
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"
                script = "/home/wf/bin/scan.sh"

スクリプトscan.shは次のとおりです。

#!/bin/bash
# WF 2018-12-18
echo "scanning"
echo "scan button pressed on ix500" >> /tmp/ix500.log

それから私はでテストしました

Sudo scanbd -f

1つの端末で

tail -f /tmp/ix500.log

別の。

scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
scanbd: SANE_CONFIG_DIR not set
scanbd: Not Primary Owner (-1)
scanbd: Name Error (Connection ":1.96" is not allowed to own the service "de.kmux.scanbd.server" due to security policies in the configuration file)
scanbd: trigger action for page-loaded for device fujitsu:ScanSnap iX500:59766 with script /home/wf/bin/scan.sh
scanning

デーモンのフォアグラウンド出力に表示されます

そして

scan button pressed on ix500

ここからはすべて下り坂のようです。渡される環境変数はscanbd.confファイルに記述されています。

例えばscan.shを次のように変更します。

#!/bin/bash
# WF 2018-12-18
echo "scanning"
cat << EOF >> /tmp/ix500.log
scan button pressed on ix500
function: $SCANBD_FUNCTION
mode: $SCANBD_FUNCTION_MODE
device: $SCANBD_DEVICE
action: $SCANBD_ACTION
EOF

作成します

scan button pressed on ix500
function: 1
mode: Lineart
device: fujitsu:ScanSnap iX500:59766
action: scan

スキャンボタンを押すと:-)

2
Wolfgang Fahl