Настройка сканера в ALT Linux: различия между версиями
(+Установка драйверов (популярные марки устройств)) |
Нет описания правки |
||
Строка 15: | Строка 15: | ||
== Конфигурация SANE == | == Конфигурация SANE == | ||
Система SANE состоит из двух частей: аппаратной поддержки (backend, libsane) и программной поддержки (frontend). Первая часть обеспечивает собственно доступ к сканеру, вторая — графический интерфейс для сканирования ( | Система SANE состоит из двух частей: аппаратной поддержки (backend, libsane) и программной поддержки (frontend). Первая часть обеспечивает собственно доступ к сканеру, вторая — графический интерфейс для сканирования (см. [[Программы для работы со сканером]]). | ||
Некоторым USB сканерам может потребоваться загрузка прошивки. | Некоторым USB-сканерам может потребоваться загрузка прошивки. | ||
Установка {{pkg|sane}}: | |||
<syntaxhighlight lang="bash"># apt-get update; apt-get install sane</syntaxhighlight> | |||
Проведём установку USB-сканера (считаем, что сканер уже подключён к USB-порту). | |||
Проверка доступности сканера: | |||
<syntaxhighlight lang="bash">$ 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</syntaxhighlight> | |||
В | В примере сканер определен на шине USB 002 как устройство 004. | ||
При помощи команды {{cmd|sane-find-scanner}} можно проверить поддержку сканера системой SANE: | |||
<syntaxhighlight lang="bash"> | |||
$ 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) | |||
</syntaxhighlight> | |||
В выводе должны присутствовать интерфейс сканера и имя используемого устройства. В данном случае сканер был распознан на шине 002 как устройство 004. | |||
{{Note|Если бы доступ к сканеру также был запрещен (как и доступ к другим USB-устройствам), необходимо рассмотреть разрешения на шину USB: | |||
<syntaxhighlight lang="bash"># 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</syntaxhighlight> | |||
И добавить пользователя в нужную группу (в данном случае в группу lp): | |||
<syntaxhighlight lang="bash"># gpasswd -a user lp</syntaxhighlight> | |||
Устройство может принадлежать и группе scanner. | |||
Далее необходимо ОБЯЗАТЕЛЬНО перезапустить сеанс пользователя. }} | |||
Теперь необходимо убедиться, что сканер опознан программой графического интерфейса. В состав системы SANE входит утилита {{cmd|scanimage}}, позволяющая работать со сканером из командной строки. Опция <tt>-L</tt> используется для показа информации о сканере: | |||
<syntaxhighlight lang="bash">$ scanimage -L | |||
device `hpaio:/usb/HP_LaserJet_M1536dnf_MFP?serial=00CND9D8YC9C' is a Hewlett-Packard HP_LaserJet_M1536dnf_MFP all-in-one | |||
</syntaxhighlight> | |||
В контексте локального USB-устройства, доступ к которому имеет обычный пользователь, положительный ответ указывает, что SANE поддерживает этот сканер. | |||
Для тестирования работы сканера используется опция <tt>-T</tt>: | |||
<syntaxhighlight lang="bash">$ 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 | |||
</syntaxhighlight> | |||
где 'hpaio:/usb/HP_LaserJet_M1536dnf_MFP?serial=00CND9D8YC9C' — актуальное имя подключенного устройства, которое можно взять из вывода предыдущей команды. | |||
== Установка драйверов (популярные марки устройств) == | == Установка драйверов (популярные марки устройств) == | ||
Строка 191: | Строка 138: | ||
# apt-get install kyocera-sane-2.0-1923.x86_64.rpm | # apt-get install kyocera-sane-2.0-1923.x86_64.rpm | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Mustek 1200 UB Plus === | |||
Если при проверке работы сканера получаем: | |||
<syntaxhighlight lang="bash">$ 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 | |||
</syntaxhighlight> | |||
Следовательно, для работы сканера требуется файл прошивки {{path|PS1fw.usb}}. | |||
Создаём каталог для прошивки: | |||
<syntaxhighlight lang="bash"># mkdir /usr/share/sane/gt68xx</syntaxhighlight> | |||
Находим прошивку: | |||
* http://www.meier-geinitz.de/sane/gt68xx-backend/ | |||
для сканера Mustek 1200 UB Plus — sbfw.usb: | |||
* http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb | |||
Скачиваем прошивку в каталог {{path|gt68xx}}: | |||
<syntaxhighlight lang="bash"> | |||
# cd /usr/share/sane/gt68xx | |||
# wget http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb | |||
</syntaxhighlight> | |||
Из-за некорректного определения сканера создаем символическую ссылку на прошивку с именем PS1fw.usb, либо переименовываем файл. | |||
<syntaxhighlight lang="bash"># ln -s sbfw.usb PS1fw.usb</syntaxhighlight> | |||
Проверяем работу сканера: | |||
<syntaxhighlight lang="bash"># 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 | |||
</syntaxhighlight> | |||
Сканер установлен и корректно работает. | |||
{{Note |Если сканер сканирует, но искажает изображение (например, показывает только половину страницы), помогло следующее решение: | |||
в файле {{path|/etc/sane.d/gt68xx.conf}} изменить | |||
<syntaxhighlight lang="ini"> | |||
# Autodetect Mustek BearPaw 2400 CU Plus | |||
usb 0x055f 0x021d | |||
</syntaxhighlight> | |||
на | |||
<syntaxhighlight lang="ini"> | |||
# Autodetect Mustek BearPaw 2400 CU Plus | |||
usb 0x055f 0x021d | |||
firmware PS2Dfw2.usb | |||
</syntaxhighlight> | |||
Это проверено на сканере Mustek BearPaw 2400 CU Plus и Школьный Юниор 5.0.2 (соответствующая тема на форуме уже закрыта, чтобы не потерялось записал сюда, если что не так, подправьте, пожалуйста). }} | |||
Может потребоваться дать доступ к сканеру другим пользователям: | |||
<syntaxhighlight lang="bash"># chmod 644 /usr/share/sane/gt68xx/PS2Dfw2.usb</syntaxhighlight> | |||
== Ссылки == | == Ссылки == | ||
* https://wiki.archlinux.org/index.php/Sane | * https://wiki.archlinux.org/index.php/Sane |
Версия от 18:01, 11 ноября 2022
Настройка сканера в ALT Linux
Введение
В Linux доступ к сканерам обеспечивается программой SANE (Scanner Access Now Easy)
обеспечивающей универсальный интерфейс (API) и доступной с DVD ALT Linux, либо из репозитория.
Linux поддерживает сканеры с интерфейсом как SCSI, так и USB. Убедитесь, что ваш сканер поддерживается SANE перед тем, как приступить к конфигурации. Для SANE существует список поддерживаемых устройств, где находится информация о поддержке сканера и статусе этой поддержки.
Согласно информации с сайта разработчика, на данный момент поддерживается 760 моделей сканеров.
Конфигурация 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.com/download/model_ru.html?r=92&s=23&m=124&p=22. И установить его (команда выполняется с правами пользователя root из папки с распакованным архивом):
# apt-get install kyocera-sane-2.0-1923.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
Ссылки
- https://wiki.archlinux.org/index.php/Sane
- https://wiki.debian.org/SaneOverNetwork (в т.ч. о нюансе настройки МФУ hp через hpaio и ещё одном)
- Обход проблем с USB 3.0 выставлением переменной окружения SANE_USB_WORKAROUND=1