2

Я хочу начать сканирование, нажав кнопку сканирования на сканере, и доставить данные в коробку Linux.

К сожалению, я не могу использовать интерфейс WLAN сканера, поэтому я застрял с USB.

Есть ли шанс сделать эту работу?

Вот несколько умозрительных способов добиться этого. У вас был успех с любым из них?

  • Запустить клиент в Linux, который (частично) придерживается протокола, который реализован в клиентах ScanSnap для Windows и MacOS (маловероятно)
  • Установите адаптер USB-Ethernet на сканер и заставьте сканер использовать его в качестве устройства Ethernet. Я мог бы тогда сканировать на FTP.
  • Установите официальный клиент Windows через Wine.

1 ответ1

1

Scanimage поддерживает сканер ix500 через USB

пример:

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/

упоминая пакет scannerbuttond. Описание на немецком языке:

Оба немного устарели, но дают некоторые намеки на общую идею. Вот описание пробной версии с виртуальной машиной Ubuntu 18.04 LTS. После установки

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

Я добавил полный путь к моему тестовому сценарию 5 раз в scanbd.conf и 4 раза в scanner.d/fujitsu.conf:

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

в одном терминале и

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

на нажатие кнопки сканирования :-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .