Настройка сканера в ALT Linux

Материал из ALT Linux Wiki

Настройка сканера в ALT Linux

Введение

В Linux доступ к сканерам обеспечивается программой SANE (Scanner Access Now Easy)

обеспечивающей универсальный интерфейс (API) и доступной с DVD ALT Linux, либо из репозитория.

Linux поддерживает сканеры с интерфейсом как SCSI, так и USB. Убедитесь, что ваш сканер поддерживается SANE перед тем, как приступить к конфигурации. Для SANE существует список поддерживаемых устройств, где находится информация о поддержке сканера и статусе этой поддержки.

Согласно информации с сайта разработчика, на данный момент поддерживается 760 моделей сканеров.

Сетевые сканеры

Примечание: Драйвер AirScan работает только с МФУ с поддержкой:
  • Apple AirScan или AirPrint scanning (протокол eSCL)
  • Microsoft WSD, или WS-Scan (WSD - "Web Services for Devices)

Сетевые сканеры в Linux обеспечиваются проектом Sane-Airscan

Единственное, что не удобно, в Simple-Scan не отображается IP-адреса устройств.

Чтобы установить драйвер AirScan выполните команду:

# apt-get update; apt-get install sane-airscan

Отключение автопоиска сетевых сканеров

Чтобы отключить автопоиск сетевых сканеров, необходимо подправить файл /etc/sane.d/airscan.conf:

$ su - 
# cd /etc/sane.d/
# sed -i 's/#discovery = enable/discovery = disable/g' airscan.conf

Конфигурация SANE

Система SANE состоит из двух частей: аппаратной поддержки (backend, libsane) и программной поддержки (frontend). Первая часть обеспечивает собственно доступ к сканеру, вторая — графический интерфейс для сканирования (см. Программы для работы со сканером).

Некоторым USB-сканерам может потребоваться загрузка прошивки.

Установка sane:

# apt-get update; apt-get install sane

Проведём установку USB-сканера (считаем, что сканер уже подключён к USB-порту).

Проверка доступности сканера:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 03f0:012a HP, Inc HP LaserJet M1536dnf MFP
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 2.0 root hub

В примере сканер определен на шине USB 002 как устройство 004.

При помощи команды sane-find-scanner можно проверить поддержку сканера системой SANE:

$ sane-find-scanner -q
could not open USB device 0x1d6b/0x0002 at 001:001: Access denied (insufficient permissions)
found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x012a [HP LaserJet M1536dnf MFP]) at libusb:002:004
could not open USB device 0x80ee/0x0021 at 002:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)

В выводе должны присутствовать интерфейс сканера и имя используемого устройства. В данном случае сканер был распознан на шине 002 как устройство 004.

Примечание: Если бы доступ к сканеру также был запрещен (как и доступ к другим USB-устройствам), необходимо рассмотреть разрешения на шину USB:
# ls -l /dev/bus/usb/002/
итого 0
crw-rw-r--  1 root root 189, 128 окт 28 12:00 001
crw-rw-r--  1 root root 189, 129 окт 28 12:00 002
crw-rw-r--+ 1 root lp   189, 130 окт 28 12:42 003

И добавить пользователя в нужную группу (в данном случае в группу lp):

# gpasswd -a user lp

Устройство может принадлежать и группе scanner.

Далее необходимо ОБЯЗАТЕЛЬНО перезапустить сеанс пользователя.


Теперь необходимо убедиться, что сканер опознан программой графического интерфейса. В состав системы SANE входит утилита scanimage, позволяющая работать со сканером из командной строки. Опция -L используется для показа информации о сканере:

$ scanimage -L
device `hpaio:/usb/HP_LaserJet_M1536dnf_MFP?serial=00CND9D8YC9C' is a Hewlett-Packard HP_LaserJet_M1536dnf_MFP all-in-one

В контексте локального USB-устройства, доступ к которому имеет обычный пользователь, положительный ответ указывает, что SANE поддерживает этот сканер.

Для тестирования работы сканера используется опция -T:

$ scanimage -T -d 'hpaio:/usb/HP_LaserJet_M1536dnf_MFP?serial=00CND9D8YC9C'
scanimage: scanning image of size 637x876 pixels at 1 bits/pixel
scanimage: acquiring gray frame, 1 bits/sample
scanimage: reading one scanline, 80 bytes...    PASS
scanimage: reading one byte...          PASS
scanimage: stepped read, 2 bytes...     PASS
scanimage: stepped read, 4 bytes...     PASS
scanimage: stepped read, 8 bytes...     PASS
scanimage: stepped read, 16 bytes...    PASS
scanimage: stepped read, 32 bytes...    PASS
scanimage: stepped read, 64 bytes...    PASS
scanimage: stepped read, 128 bytes...   PASS
scanimage: stepped read, 127 bytes...   PASS
scanimage: stepped read, 63 bytes...    PASS
scanimage: stepped read, 31 bytes...    PASS
scanimage: stepped read, 15 bytes...    PASS
scanimage: stepped read, 7 bytes...     PASS
scanimage: stepped read, 3 bytes...     PASS

где 'hpaio:/usb/HP_LaserJet_M1536dnf_MFP?serial=00CND9D8YC9C' — актуальное имя подключенного устройства, которое можно взять из вывода предыдущей команды.

Установка драйверов (популярные марки устройств)

Hewlett Packard

Есть рецепт в epm!
epm play hplip-plugin


Для некоторых устройств Hewlett-Packard требуется установить актуальный плагин с сервера HP. Для установки плагина необходимо выполнить команду (должен быть установлен пакет hplip):

$ hp-plugin -i
…
Enter option (d=download*, p=specify path, q=quit) ? d
…
Do you accept the license terms for the plug-in (y=yes*, n=no, q=quit) ? y
Please enter the root/superuser password:

При установке плагина потребуется ввести пароль суперпользователя.

Примечание: Если при установке плагина HP возникают ошибки:
$ hp-plugin -i
error: Plugin download failed with error code = 8
error:  file does not match its checksum. File may have been corrupted or altered

Можно установить плагин вручную:

$ hplip_v=$(rpm -qi hplip | grep -i version | cut -d":" -f 2 | tr -d " ") && \
wget https://developers.hp.com/sites/default/files/hplip-${hplip_v}-plugin.run && \
wget https://developers.hp.com/sites/default/files/hplip-${hplip_v}-plugin.run.asc && \
hp-plugin -p ./


Epson

Есть рецепт в epm!
epm play epsonscan2


Для работы со сканерами Epson необходимо установить пакеты epsonscan2, imagescan-sane, iscan-free, iscan-data и vfirmware-iscan:

# apt-get install epsonscan2 imagescan-sane iscan-free iscan-data firmware-iscan

Также для работы со сканерами Epson может потребоваться скачать и установить пакет epsonscan2-non-free-plugin с официального сайта Epson.

Kyocera

Официальный сайт с драйверами — https://www.kyoceradocumentsolutions.com/download/index_ru.html

Для возможности сканирования на МФУ Kyocera ECOSYS-M2040dn необходимо скачать SANE-драйвер: https://www.kyoceradocumentsolutions.eu/en/support/downloads.name-L2V1L2VuL21mcC9UQVNLQUxGQTUwNTNDSQ==.html#driver

И установить его (команда выполняется с правами пользователя root из папки с распакованным архивом):

# apt-get install kyocera-sane-2.1-4406.x86_64.rpm

Mustek 1200 UB Plus

Если при проверке работы сканера получаем:

$ scanimage -T
[gt68xx] Couldn't open firmware file (`/usr/share/sane/gt68xx/PS1fw.usb'): No such file or directory
scanimage: open of device gt68xx:libusb:002:003 failed: Invalid argument

Следовательно, для работы сканера требуется файл прошивки PS1fw.usb.

Создаём каталог для прошивки:

# mkdir /usr/share/sane/gt68xx

Находим прошивку:

для сканера Mustek 1200 UB Plus — sbfw.usb:

Скачиваем прошивку в каталог gt68xx:

# cd /usr/share/sane/gt68xx
# wget http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb

Из-за некорректного определения сканера создаем символическую ссылку на прошивку с именем PS1fw.usb, либо переименовываем файл.

# ln -s sbfw.usb PS1fw.usb

Проверяем работу сканера:

# scanimage -T
scanimage: scanning image of size 2563x3531 pixels at 8 bits/pixel
scanimage: acquiring gray frame, 8 bits/sample
scanimage: reading one scanline, 2563 bytes...  PASS
scanimage: reading one byte...          PASS
scanimage: stepped read, 2 bytes...     PASS
scanimage: stepped read, 4 bytes...     PASS
scanimage: stepped read, 8 bytes...     PASS
scanimage: stepped read, 16 bytes...    PASS
scanimage: stepped read, 32 bytes...    PASS
scanimage: stepped read, 64 bytes...    PASS
scanimage: stepped read, 128 bytes...   PASS
scanimage: stepped read, 256 bytes...   PASS
scanimage: stepped read, 512 bytes...   PASS
scanimage: stepped read, 1024 bytes...  PASS
scanimage: stepped read, 2048 bytes...  PASS
scanimage: stepped read, 4096 bytes...  PASS
scanimage: stepped read, 4095 bytes...  PASS
scanimage: stepped read, 2047 bytes...  PASS
scanimage: stepped read, 1023 bytes...  PASS
scanimage: stepped read, 511 bytes...   PASS
scanimage: stepped read, 255 bytes...   PASS
scanimage: stepped read, 127 bytes...   PASS
scanimage: stepped read, 63 bytes...    PASS
scanimage: stepped read, 31 bytes...    PASS
scanimage: stepped read, 15 bytes...    PASS
scanimage: stepped read, 7 bytes...     PASS
scanimage: stepped read, 3 bytes...     PASS

Сканер установлен и корректно работает.

Примечание: Если сканер сканирует, но искажает изображение (например, показывает только половину страницы), помогло следующее решение:

в файле /etc/sane.d/gt68xx.conf изменить

# Autodetect Mustek BearPaw 2400 CU Plus
usb 0x055f 0x021d

на

# Autodetect Mustek BearPaw 2400 CU Plus
usb 0x055f 0x021d
firmware PS2Dfw2.usb
Это проверено на сканере Mustek BearPaw 2400 CU Plus и Школьный Юниор 5.0.2 (соответствующая тема на форуме уже закрыта, чтобы не потерялось записал сюда, если что не так, подправьте, пожалуйста).


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

# chmod 644 /usr/share/sane/gt68xx/PS2Dfw2.usb

OKI

Официальный сайт с драйверами — https://www.oki.com/ru/printing/support/drivers-and-utilities/index.html

Для возможности сканирования на МФУ OKI MB472 необходимо скачать соответствующий драйвер с оф. сайта: https://www.oki.com/ru/printing/support/drivers-and-utilities/mono-multifunction/45762102/?os=ab33. И установить его (команда выполняется с правами пользователя root из папки со скачанным драйвером):

# apt-get install okimfpsdrv-1.7-0.x86_64_231228.rpm

Ссылки