Sane scanner как настроить сканер

Задача

У меня была задача — сделать скан-сервер (по аналогии с принт-сервером) для Windows-клиентов. То есть сервер, который бы предоставлял пользователям доступ к сканерам по сети. В результате должен получиться единый унифицированный интерфейс доступа к сканерам.
На клиентских машинах прописывается подключение к сканеру на скан-сервере с помощью унифицированного драйвера. А на скан-сервере уже подключение к физическому устройству с использованием драйвера, специфичного для данного устройства. Таким образом, даже физическая замена сканера на другое устройство будет приводить только к необходимости переконфигурирования устройства на скан-сервере, но не на клиентах.
В частности — было необходимо, чтобы пользователи фермы Citrix XenApp могли сканировать с сетевых (Ethernet) сканеров (МФУ HP). То есть на каждом терминальном сервере должны быть установлены все сканеры, а пользователь получал бы доступ к одному из них (или нескольким) в зависимости от того, включен он в группу, соответствующую этому сканеру.

Архитектура и компоненты

В качестве программной части скан-сервера выступает SANE, который предоставляет унифицированный интерфейс для доступа к разнообразным сканирующим устройствам.
В качестве унифицированного драйвера для Windows выступил WIASANE. Это драйвер для Windows, позволяющий сканировать по протоколу SANE. В системе устанавливается WIA (Windows Image Acquisition) устройство, обращения к которому перенаправляются к устройству по протоколу SANE.

Настройка скан-сервере SANE

Установка SANE на Ubuntu 14.04

Затем как предписывает документация нужно проверить тут http://www.sane-project.org/sane-mfgs.html, что сканнер поддерживается и включить в файле /etc/sane.d/dll.conf соответствующий backend (раскомментировав нужную строку). После этого включаем sane в режим сервера. В файлике /etc/default/saned прописываем:

И прописываем сеть из которой будет доступен демон saned в файлике: /etc/sane.d/saned.conf. Там можно указать как отдельный хост, так и целую сеть. Для того, чтобы дать доступ к saned с любого IP-адреса нужно добавить строку с одним символом + (плюсик).

Мне нужно настроить работу SANE с МФУ HP M521 и 1536. Поэтому — ставим модуль libsane-hpaio, который будет работать с сетевым интерфейсом hpaio:

Если нужного модуля нет, то в дальнейшем команда scanimage -L будет вываливаться с ошибкой Segmentation fault (core dumped).

На всякий случай проверяем наличие в файлике /etc/services строки:

Тестирование SANEd

Во первых — можно включить тестовый бекенд test. Для этого в файлике /etc/sane.d/dll.conf нужно раскомментировать/добавить строку test. В результате сервер начнет отдавать пару сканеров:

Если сервер sane работает как-то не так, то можно запустить его в режиме дебага, в котором он будет выдавать много полезной информации. Для начала нужно остановить его командой:

И запустить в debug-режиме:

Или в более подробном варианте:

C какой-либо рабочей станции с Linux (на которой установлены sane sane-utils libsane-extras) можно попробывать подключиться к saned:

Если все хорошо, то вывод будет примерно такой:

На рабочей станции с Linux можно прописать адрес сервера saned, чтобы команда scanimage знала откуда брать сканеры. Для этого редактируем файлик /etc/sane.d/net.conf и в конец дописываем IP-адрес сервера saned.

Установка устройств HP

Для работы с устройствами HP нужен пакет HPLIP (HP Linux Imaging and Printing System). Его можно либо скачать с сайта HP, либо из репозиториев Ubuntu. На Ubuntu 14.04.02 я устанавливал из репозиториев.

Поставилась версия 3.14.3 и с ней удалось сканировать по сети через saned с клиента Ubuntu.

С сайта HP можно скачать гораздо более новую версию, но с ней у меня так и не получилось сканировать по сети через saned. Но на всякий случай: Скачиваем HPLIP — http://hplipopensource.com/hplip-web/gethplip.html Скачиваем и ставим. Ставить рекомендуют под обычным пользюком (не под root):

Запускать инсталлер можно под обычным юзером. В процессе установки он попросит пароль чтобы выполнить установку от имени root.

Если в интернет система выходит через proxy, то нужно объявить об этом до установки:

А также прописать http_proxy, https_proxy и ftp_proxy в файлике /etc/wgetrc

А после установки нужно установить плагины:

А затем установить принтер/сканер:

Теперь сканер должен появляться при выполнении команды:

В выдаче будет строка типа: hpaio:/net/HP_LaserJet_Pro_MFP_M521dn?ip=10.166.203.1 Для поверки состояния сканера берем строку с URI сканера и подставляем в команду:

В результате должны вывалиться результаты тестов: PASSED.

Должна выдавать список сканеров. Если она этого не делает, возможно, дело в файлике /etc/cups/printers.conf. В нем нужно заменить значение параметра DeviceURI. Там может быть либо что-то про socket, а должно быть то что возвращает команда hp-makeuri в строчке CUPS URI . Что-то типа hp:/net/HP_LaserJet_Pro_MFP_M521dn?ip=10.166.203.1. После правки этого файла нужно перезапустить cups:

Теперь сканировать на сервере saned из командной строки можно так:

Если списка сканеров нет совсем или там нет нужного. то можно включить дебаг:

Сканировать с клиента Linux можно командой:

Тут укаываем, что используем бекэнд net, затем через двоеточие адрес сервера saned и затем URI сканера.

Иногда бывает, что сканер поставился, но при попытках сканировать сообщает: Error during device I/O. Вероятно нужно удалить его и поставить снова.

Читайте также:  Как настроить металла детектор

Удаление принтера-сканера

Обычно на сервере сканирования устанавливается несколько принтеров одинаковой модели. Для того, чтобы узнакть какой именно принтер надо удалить — открываем файлик /etc/cups/printers.conf и ищем по IP-адресу как именно называется устройство.

Настройка фронтэндов под Windows

WiaSane

wiasane — это обертка для sane, которая предоставляет WIA интерфейс к сканерам saned.
Настроить wiasane (0.1.1.9) с устройствами hpaio:/net/… удалось только после патчинга драйверов HPLIP. Со стандартным драйвером программа пытается получать список сканеров с сервера sane, но сервер не отдает эти устройства. Помогает патчинг драйвера. Смотри ниже.
Рабочая сборка — sane_wia_driver.zip. Она доработана для того, чтобы прописывать сканеры скриптом. Если возникают проблемы с установкой драйвера (он просто не ставится), то скорее всего не установлен Visual C++ Redistributable for Visual Studio

Скрипт для пакетного прописывания сканеров такой:

SaneWinDS

SwingSane

Патчим драйвер hplip чтобы работали сканеры net:_saned_IP_:hpaio:/net/HP_

Если при попытке прописать сканер wiasane не обнаружвает сканер, то, скорее это связано с багом в библиотеках hplip на сервере saned. Исправить ситуацию можно собрав hplip из исходников и применив патч, описанный тут: https://sourceforge.net/p/hplip/mailman/message/2564768/

Останавливаем saned:

Удаляем старый hplip:

Cкачиваем исходники драйвера:

Рядом с распакованным архивом кладем патч hplip_sane_patch_and_make.rar (hplip-sane-patch.sh и hplip-sane-patch.diff) распаковываем и применяем его:

Дальше собираем по инструкции:

Для Ubuntu 14.04 будет так: Ставим зависимости:

Затем ставим плагин:

И собственно принтер/сканер:

Теперь можно запустить saned, настроить на клиенте backend net и проверяем с удаленного клиента:

И на клиенте проверяем:

Прописываем пользователям сканеры в NAPS2 в соответствии с группами AD

Источник

Сканирование в linux

Материал из Пингвиньи радостей

Содержание

Статья о Сканировании в linux

Сканировании в linux это процесс сканирования изображений или оцифровки документов в операционной среде Linux. Настоящая статья даёт общее представление о процессе сканирования, о программах используемых при этом и о сканерах, установка которых в Linux была осуществлена успешно.

Программы для работы со сканерами

В таблице приведёны ссылки на статьи о программах для работы со сканерами и их краткое описание

ссылка описание
sane пакет программ для сканирования
simple-scan простая утилита для сканирования
skanlite простая графическая программа сканирования из проекта KDE, бывшая kooka
xsane графическая программа сканирования
scanimage консольная утилита для сканирования из пакета sane-utils
scanbuttond демон для отработки нажатий клавиш Copy/Scan на сканере

Настройка локального сканирования

В целях настоящей статьи Локальным сканированием называется процесс оцифровки документов на сканере подключённом непосредственно к управляющему компьютеру посредством USB-порта.
Локальное сканирование может быть осуществлено как в консоли, так и помощью графических программ.

Для осуществления Локального сканирования с помощью консольной утилиты scanimage

  • сканер подключается к USB-порту компьютера и включается
  • устанавливается пакет sane-utils
  • осуществляется сканирование

Для осуществления Локального сканирования с помощью графической программы xsane

  • устанавливается программа xsane
  • запускается программа сканирования

Локальное сканирование может быть также осуществлено с помощью браузера. Для этого следует скачать и установить PHP-скрипт phpSANE.

Настройка сетевого сканирования

В целях настоящей статьи Сетевым сканированием называется процесс оцифровки документов на сканере, подключённом удалённо по локальной сети.
Сетевое сканирование может быть осуществлено как в консоли, так и помощью графических программ. Компьютер к которому физически подключён сканер будет называться Сканер-сервером, а управляющий компьютер на котором отображается сканирование — Сканер-клиентом.

Для настройки Сканер-сервера для осуществления Сетевого сканирования

  • осуществляется подключение сканера и установка пакета sane-utils как описано в разделе Настройка локального сканирования
  • в файл /etc/sane.d/saned.conf добавляется строка с указанием локальной сети имеющей право доступа к сканеру
  • уточняется способ запуска SANE — как демона или через супер-сервер openbsd-inetd

Для настройки Сканер-клиента для осуществления Сетевого сканирования

Источник

Sane scanner как настроить сканер

Установка и настройка сканера в операционной системе GNU/Linux имеет особенности по сравнению с MS Windows. Это связано не с недостатками архитектуры GNU/Linux, а с тем, что производители сканеров держат в секрете алгоритмы работы своих устройств. При продаже сканеры комплектуются, как правило, только драйверами для MS Windows (иногда — также для MacOS), которые идут в бинарном виде. Поэтому написание драйверов под GNU/Linux представляет из себя непростую задачу для энтузиастов этой операционной системы: требуется некоторое время, для того, чтобы уяснить принцип действия того или иного сканера и написать драйвер. Для большинства новейших моделей сканеров вообще нет драйверов под GNU/Linux, или они не предоставляют полной функциональности. Имеет смысл перед приобретением сканера удостовериться, что он будет работать также и под GNU/Linux, посетив соответствующую страницу проекта Sane (расшифровывается Scanner Access Now Easy, что можно перевести примерно как «сканировать теперь легко»), обеспечивающего поддержку сканеров в GNU/Linux.

Для сканеров, продажи которых начались 1-3 года назад, драйверы уже написаны и предоставляют в большинстве случаев хорошую функциональность под GNU/Linux — особенно если модель сканера получила широкое распространение. Однако ряду сканеров для функционирования необходимо так называемое «фирменное программное обеспечение» (firmware) — особая бинарная программа, которая загружается в память сканера в начале работы («бинарник», иногда ее называют также «прошивка»). Проблема заключается в том, что такие бинарники распространяются производителями сканеров под особыми проприетарными лицензиями и, как правило, не могут быть включены в состав дистрибутивов GNU/Linux как часть соотвествующих драйверов сканеров. Поэтому в большинстве случаев требуется дополнительная настройка драйвера сканера в GNU/Linux, чему и посвящена эта заметка.

Для примера рассмотрим настройку широко распространенного и эффективного сканера Epson Perfection 1270 (работает через USB). В первой части статьи дается описание настройки сканера для дистрибутива Debian 4.0 Etch — это описание основано на общих принципах работы GNU/Linux и подойдет для многих других дистрибутивов. Во второй части приводятся сведения по настройке с использованием специфической графической утилиты, характерной для дистрибутива openSUSE 10.2. Эти части статьи можно читать независимо друг от друга: соответствующая общая информация продублирована в обеих частях.

Читайте также:  Почему не работает кнопка отключения ноутбука

Установка и настройка сканера в Debian 4.0 Etch

Выясняем, установлены ли в системе пакеты sane и xsane. В консоли в режиме суперпользователя вводим команду:

Для каждого пакета смотрим строчку «Состояние». Если пакеты уже установлены, получаем сообщение об этом (листаем информацию клавишей «пробел»). В противном случае инсталлируем их командой:

Далее убеждаемся, что система видит сканер. Вводим команду:

В этом перечне сканер идет в первой строке. Важным параметром является его идентификатор (ID), который в данном случае имеет значение 04b8:0120. Первое число (до двоеточия) дает код фирмы-производителя (англ. Vendor-ID), второе — код самого устройства (англ. Product-ID). Нужно запомнить эти значения, они будут важны при дальнейшей настройке.

Другой способ должен подтвердить, что сканер видит не только операционная система, но и пакет sane. Для этого вводим команду sane-find-scanner и получаем следующее сообщение:

Выделенная полужирным строка показывает, что найден сканер и выдает те же коды для него, что и команда lsusb.

Теперь нужно выяснить, в каком из дополнительных модулей к sane (такой модуль называется по англ. backend) содержится драйвер для нашего сканера. Самый простой способ сделать это — посмотреть на сайте проекта sane по адресу http://www.sane-project.org/cgi-bin/driver.pl Нужно ввести модель принтера, а также коды производителя и устройства:

В качестве ответа будет список тех дополнительных модулей (backends) к sane, в которых имеется поддержка данного сканера. В нашем примере — это модуль SnapScan, версии которого, начиная с 1.4, «хорошо» поддерживают этот сканер.

Примечание. Выбор правильного дополнительного модуля (backend) крайне важен, поскольку в случае ошибки можно нанести непоправимый вред сканеру.

Большинство этих модулей находятся в пакете libsane, но для некоторых сканеров нужно будет дополнительно роинсталлировать пакет libsane-extras (подробнее посмотреть его описание можно командой aptitude show libsane-extras).

Продолжаем изучать информацию на веб-странице проекта sane. Нажимаем на ссылку «SnapScan» в первом столбце и переходим на страницу http://snapscan.sourceforge.net/, где приводится подробная информация о модуле snapscan:

Переходим к строке, в которой дана подробная информация о нашем сканере (Epson Perfection 1270). Здесь важным является то, что для корректной работы сканер требует предварительной загрузки в свою память специального бинарного программного обеспечения (firmware), которое идет на диске вместе со сканером и представляет собой файл под названием esfw3e.bin:

Где взять этот файл? В данном случае — для нашего конкретного примера — можно загрузить esfw3e.bin с нашего сайта. Для других сканеров имеет смысл вначале поискать бинарники в интернете, в случае неудачи — искать на фирменном диске. К сожалению, не всегда они присутствуют на диске явным образом — иногда они доступны лишь после инсталляции в операционной системе MS Windows, как правило — в директории C:\Windows\System32. В случае острой необходимости можно произвести инсталляцию драйвера сканера в виртуальной машине с установленной там MS Windows или в эмуляторе wine, а потом извлечь оттуда бинарник.

Но как настроить нужный нам модуль (backend) даже при наличии бинарника? Первоначальную информацию о модуле можно найти в странице руководства sane, задав команду:

При описании модуля из нашего примера (snapscan) в руководстве говорится о том, что он поддерживает конкретный тип сканеров (AGFA SnapScan flatbed scanners). Предлагается для более подробной информации посмотреть страницу руководства самого модуля. Что и делаем командой

Там можно прочитать, что конфигурационный файл данного модуля — /etc/sane.d/snapscan.conf и в нем надо сделать несколько исправлений: указать тип сканера (у нас — USB) и месторасположение бинарника. Бинарник предлагается размещать в директории /usr/share/sane/snapscan/. Создадим такую директорию и скопируем в нее бинарник с помощью следующих команд:

Заметьте, при этом на файл esfw3e.bin выставлены такие права:

Переходим к исправлению конфигурационного файла snapscan.conf. Предварительно делаем его резервную копию:

Начинаем его редактировать (в любом редакторе — например, в nano):

Прежде всего нужно изменить такую строчку:

После слова firmware нужно вписать реальные путь и название нашего бинарника. Поскольку мы скопировали его в директорию /usr/share/sane/snapscan/, то в данной строке надо лишь заменить фиктивное имя your-firmwarefile.bin на имя нашего бинарника — esfw3e.bin . В результате получаем следующий вариант данной строки:

Просмотр конфигурационного файла до конца показывает, что в нем нет описания нашего сканера (название, код производителя и устройства). Исправим ситуацию, добавив в конце файла такие строки:

Примечание. В некоторых дистрибутивах понадобится также раскомментировать строчку добавив в нее конкретные параметры сканера:

Настройка завершена, но пока что со сканером можно работать только в режиме суперпользователя, что соответстсвует жесткой политике безопасности дистрибутива Debian, но не совсем удобно на обычном десктопе. Чтобы разрешить работу со сканером рядовым пользователям, добавляем их в группу scanner. Это можно сделать в консоли в режиме суперпользователя следующими командами:

Например, для пользователя, имеющего логин dmitry:

Выходим из режима суперпользователя и проверяем под конкретным пользователем, произошло ли добавление в группу scanner, дав команду groups:

Примечание. Если Вы работали не в текстовой консоли, а в консоли графической среды (например, konsole в KDE), нужно выйти из графической среды и снова войти, чтобы изменения вступили в силу.

Читайте также:  Не работает гур крайслер

Проверяем привязку модуля к сканеру:

Если Вы видите подобную надпись — значит, сканер и его дополнительный модуль успешно идентифицированы, можно переходить к сканированию. Описание деталей этого процесса и полезные советы Вы можете найти на странице «Сканирование в GNU/Linux на примере Epson Perfection 1270». В противном случае (если scanimage ничего не находит) нужно внести дополнительные изменения в конфигурационный файл вспомогательного модуля.

Установка и настройка сканера в openSUSE 10.2

Настройка сканера в openSUSE позволяет использовать специфичный для этого дистрибутива графический конфигуратор, что может быть психологически привычнее для пользователей, лишь недавно пересевших с MS Windows.

Проверяем, что в системе установлен пакет для работы со сканером sane и графическая оболочка к нему xsane

Вводим в консоли в режиме суперпользователя команды:

Если пакеты не установлены — устанавливаем их (Меню -> Система -> YaST -> Управление программным обеспечением).

Затем подключаем сканер к компьютеру. Появляется информационное окно, в котором предлагается настроить сканер (см. рис. 1).

Рис. 1. Информационное окно при подключении нового сканера к компьютеру

Если окно не появилось автоматически, проверяем, видит ли система наш сканер: задаем в консоли команду lsusb: Если имеется строчка с названием нашего сканера (как в данном случае: Seiko Epson Corp.), запускаем программу его настройки вручную: Меню -> Система -> YaST -> Оборудование -> Сканер.

Происходит поиск сканеров. Сканер обнаруживается системой, но оказывается не настроен (см. рис. 2).

Рис. 2. Сообщение о том, что сканер найден, но не настроен

Нажимаем «Редактировать», выбираем из двух предложенных драйверов для Epson Perfection 1270 тот, у которого написано: «Требуется выгрузка прошивки. Драйвер snapscan (пакет sane) обеспечивает хорошую функциональность» и нажимаем «Далее» (рис. 3).

Рис. 3. Выбираем работающий вариант драйвера для сканера Epson Perfection 1270 (драйвер snapscan)

Появляется предупреждение о том, что прошивку надо взять из Windows-драйвера и посмотреть инструкцию по настройке через команду «man sane-snapscan» (рис. 4).

Рис. 4. Предупреждение о необходимости установки бинарной прошивки

В результирующем окне теперь видны по-прежнему ненастройнный наш сканер Epson Perfection 1270 и ненастроенный драйвер snapscan, который будет поддерживать сканер, если мы найдем и установим прошивку (т.е. высвечиваются по отдельности нужный нам сканер — но без драйвера, и нужный нам драйвер — но не ассоциированый со сканером) — см. рис. 5.

Рис. 5. Драйвер и сканер пока еще не настроены — требуется прошивка

В этом окне, тем не менее, имеется ценная информация для последующей настройки драйвера: vendor («производитель»): 0x04b8, product («модель»): 0x0120. Эти сведения надо запомнить. Пока можно закрыть это окно.

Теперь надо где-то найти «прошивку» (загружаемый в память сканера бинарник) и связать с ней наш драйвер snapscan. Обычно бинарник имеет расширение .bin.

Для некоторых сканеров эти бинарники включены в пакеты iscan, iscan-firmware и iscan-proprietary-drivers, которые поставляется с openSUSE 10.2. Чтобы узнать, есть ли там бинарник для желаемой модели сканера, нужно всего лишь посмотреть описание этого пакета в YaST (Меню -> Система -> YaST -> Управление программным обеспечением, затем «Поиск«: имя пакета, см. закладку «Описание«) — см. рис. 6.

Рис. 6. Информация о моделях сканеров, бинарники для которых представлены в пакете iscan

Если бинарник нужного сканера представлен в пакете, устанавливаем пакет.

Если бинарник для нужного сканера не представлен в указанных пакетах, задача его поиска усложняется. Первый вариант в том, чтобы взять бинарник с того компьютера, где установлена MS Windows с инсталлированной в ней сканером требуемой модели. Как правило, бинарник находится в директории C:\Windows\System32. В этой директории может быть несколько файлов с расширением .bin. Имена бинарников прошивки для сканеров Epson, как правило, имеют вид esfwXX.bin, где XX — двузначное число. Имена прошивок для некоторых сканеров можно посмотреть на странице http://snapscan.sourceforge.net.

Если доступа к компьютеру с установленной на нем MS Windows и инсталированным там сканером требуемой модели нет, то остается искать бинарник или на инсталляционном CD (но там он представлен в явном виде далеко не всегда), или в интернете. Для Epson Perfection 1270 бинарника прошивки на инсталляционном CD в явном виде нет, его можно загрузить отсюда: esfw3e.bin.

После того, как найден требуемый бинарник необходимо соответствующим образом настроить драйвер snapscan из программы sane, который будет обеспечивать работу нашего сканера. Подробную инструкцию можно прочитать, набрав в консоли: Из инструкции следует, что надо скопировать бинарник esfw3e.bin в директорию /usr/share/sane/snapscan и при этом изменить конфигурационный файл /etc/sane.d/snapscan.conf. Все это необходимо сделать с правами суперпользователя: Копируем бинарник esfw3e.bin в указанную директорию: На всякий случай, сохраняем первоначальную версию конфигурационного файла snapscan.conf под именем snapscan.conf.back: Редактируем snapscan.conf: Необходимо строку отредактировать так: и в конце файла добавить такие строки относительно нашего сканера (информацию о производителе и модели мы запомнили чуть выше): Сохраняем файл (Ctrl-S). Выходим из него.

Запускаем опять Меню -> YaST -> Оборудование -> Сканер. Получаем настроенный на драйвер snapscan сканер Epson Perfection 1270 (см. рис. 7).

Рис. 7. Настроенный сканер Epson Perfection 1270 под openSUSE 10.2

Теперь сканер полностью настроен. Можно переходить к сканированию. Описание деталей и полезные советы Вы можете найти на странице «Сканирование в GNU/Linux на примере Epson Perfection 1270».

Источник

Оцените статью