Настройка сканера в ALT Linux
Настройка сканера в ALT Linux
Введение
В Linux доступ к сканерам обеспечивается программой SANE (Scanner Access Now Easy)
обеспечивающей универсальный интерфейс (API) и доступной с DVD ALT Linux, либо из репозитория.
Linux поддерживает сканеры с интерфейсом как SCSI, так и USB. Убедитесь, что ваш сканер поддерживается SANE перед тем, как приступить к конфигурации. Для SANE существует список поддерживаемых устройств, где находится информация о поддержке сканера и статусе этой поддержки.
Согласно информации с сайта разработчика, на данный момент поддерживается 760 моделей сканеров.
Сетевые сканеры
- 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.
# 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
Для некоторых устройств 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-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
Для работы со сканерами 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
Может потребоваться дать доступ к сканеру другим пользователям:
# 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
Ссылки
- https://wiki.archlinux.org/index.php/Sane
- https://wiki.debian.org/SaneOverNetwork (в т.ч. о нюансе настройки МФУ hp через hpaio и ещё одном)
- Обход проблем с USB 3.0 выставлением переменной окружения SANE_USB_WORKAROUND=1