2.7.11.1 Настройка сканеров
Скачать документПроверка поддержки сканера в Linux на уровне драйверов
Проверка распознавания системой сканера, как устройства
Разрешение сканеру обращаться к ядру системы
Вы можете подробнее ознакомиться с примерами установки и подключения сканеров, просмотрев наши обучающие видео:
на RuTube — Работа со сканерами в РЕД ОС;
в Яндекс.Дзен — Работа со сканерами в РЕД ОС.
в VK Видео — Работа со сканерами в РЕД ОС.
На наших каналах вы также сможете найти много другой полезной информации.
Проверка поддержки сканера в Linux на уровне драйверов
Прежде всего стоит проверить, поддерживается ли подключенный или планируемый к покупке сканер на уровне драйверов. Данную информацию можно получить на сайте проекта SANE. В частности, на странице раздела со стабильной поддержкой (http://www.sane-project.org/sane-mfgs), где рекомендуется выполнять поиск по производителю (заголовок «Scanners», список «Manufacturers»).
Данные о сканерах представлены в таблицах, где стоит обратить особое внимание на столбец «Статус», в котором могут быть указаны следующие параметры:
- Complete — полная поддержка;
- Good — поддерживается большинство функций;
- Basic — поддерживается только базовый функционал;
- Unsupported — не поддерживается;
- Untested — не тестировался, вероятнее всего работать не будет, но можно проверить самостоятельно или выполнить поиск драйверов в нестабильной ветке SANE.
Если «Статус» имеет последние два значения, то сканер не заработает.
Если указанной модели сканера нет в списке, необходимо выполнить проверку на сайте производителя. Если вендор предоставляет драйвера для сканера, тогда необходимо их скачать и установить (обычно в архиве с драйвером предоставляется скрипт, который автоматически устанавливает драйвер).
Если сканер поддерживается, но в данный момент не сканирует, можно применить следующие рекомендации.
Ряд устройств поддерживается драйверами sane-airscan, список поддерживаемых устройств доступен по ссылке — https://github.com/alexpevzner/sane-airscan.
Ряд устройств HP поддерживаются libsane-hpaio из пакета hplip, список устройств доступен по ссылке — https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index.
Проверка распознавания системой сканера, как устройства
Сначала рекомендуется проверить, определяется ли сканер физически. Большинство сканеров подключается по USB, поэтому необходимо открыть терминал и ввести команду, показывающую все подключенные USB-устройства:
lsusb или sane-find-scanner
Если в списке нет нужного сканера, то, скорее всего, проблема аппаратная. Стоит проверить, подключён ли сканер по USB, не переломился ли кабель и исправен ли сам сканер. Также могут быть проблемы с распознаванием сканера в BIOS или UEFI компьютера. Часто помогает отключение XHCI в UEFI.
Если же в выводе терминала есть строка вида (наименование сканера и ID могут отличаться):
Bus 003 Device 005: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25
значит система видит сканер как USB-устройство и можно продолжить настройку.
Теперь нужно ввести в терминале:
scanimage -L
Если система не может выполнить команду, то, вероятно, не установлен пакет sane-backends. Для установки пакета выполните:
dnf install sane-backends
Затем повторите ввод:
scanimage -L
Положительным ответом будет считаться строка, аналогичная данной:
device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner
Если терминал выдаёт отрицательный ответ (примерно следующего вида):
No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages)
это может означать:
аппаратную проблему;
отсутствие прав на работу со сканером у активной в данный момент учётной записи пользователя;
сканеру запрещено обращаться к ядру (где обычно находятся драйвера).
Про решение аппаратных проблем было сказано выше.
Перейдем к настройке прав учётной записи пользователя.
Введённая в терминал команда:
whoami
покажет логин активного в данный момент пользователя.
Далее нужно определить, в каких группах состоит этот пользователь:
groups <имя_пользователя>
где <имя_пользователя> — логин, полученный по команде whoami
.
Если в этом списке не указана группа lp, необходимо добавить пользователя в группу:
sudo usermod -G lp -a user1
где user1 — логин добавляемого пользователя.
Для тестирования сканера выполните команду:
scanimage -T
Разрешение сканеру обращаться к ядру системы
Если ответ терминала по-прежнему отрицательный, то, возможно, сканеру запрещено обращаться к ядру. Разрешение можно предоставить, отредактировав конфигурационный файл 40-libsane.rules, или если такого файла нет, 60-libsane.rules в текстовом редакторе, запущенном с правами суперпользователя:
sudo nano /lib/udev/rules.d/40-libsane.rules
В открывшемся тексте должна отображаться строка с параметрами сканера со схожим названием. Нужно скопировать строку с этими данными и вставить её копию сразу под найденной, заменив в копии название сканера и номера idVendor
и idProduct
на полученные ранее по команде lsusb
. Например:
В качестве примера будет также рассмотрен сканер CanoScan LIDE 25. При подключении другого сканера название и значения параметров idVendor
и idProduct
будут другими, также может отличаться номер USB-порта.
Строка с похожим сканером в файле 40-libsane.rules:
# Canon CanoScan LiDE 60 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="221c", ENV{libsane_matched}="yes"
Данные от утилиты lsusb:
Bus 003 Device 005: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25
В файле 40-libsane.rules в копии строки, в заголовке меняется номер модели сканера с 60 на 25, а двойной ID 04a9:2220, полученный от lsusb
нужно разделить на idVendor
— 04a9 и idProduct
— 2220. В результате, основная и новая строки будут выглядеть так:
# Canon CanoScan LiDE 60 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="221c", ENV{libsane_matched}="yes" # Canon CanoScan LiDE 25 ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2220", ENV{libsane_matched}="yes"
Сохраните файл и закройте его.
Теперь снова выполните в терминале команду:
scanimage -L
Ответ должен быть положительным:
device `plustek:libusb:003:008' is a Canon CanoScan LiDE25 flatbed scanner
Если сканер по-прежнему не найден, рассмотрим, как SANE работает со сканером.
У SANE есть конфигурационный файл, который обеспечивает доступ к драйверам. Находится он в каталоге /etc/sane.d/dll.conf. Выглядит он как список из других конфигурационных файлов, которые находятся в той же папке, что и dll.conf. Когда мы запускаем команду scanimage -L
, а она, в свою очередь, обращается к конфигурационному файлу dll.conf, который обращается к конфигурационным файлам, отвечающим непосредственно за определенные модели сканера. Сами конфигурационные файлы ведут драйверам, которые находятся в /usr/lib64/sane/.
Решением проблемы может быть следующее:
В конфигурационном файле /etc/sane.d/dll.conf должен быть указан файл конфигурации (причем он не должен быть закомментирован символом «#»), в котором должен быть указан Vendor ID
и Product ID
.
Например:
Bus 003 Device 005: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25
Bus 003 Device 005: ID «Vendor ID»:«Product ID» Canon, Inc. CanoScan LIDE 25
Запись в конфигурационном файле с указанием поддерживаемых сканеров должна выглядеть следующем образом:
#Samsung X7600 Series
usb 0x04e8 0x3326
Решение проблемы, если сканер виден под root, но не виден под пользователем:
lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 03f0:622a Hewlett-Packard Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Здесь строка Bus 003 Device 002: ID 03f0:622a Hewlett-Packard
— это наше МФУ. Заходим в /dev/bus/usb/, проверяем через ls -al
и находим 003 (по аналогии из вывода lsusb
- это Bus 003), заходим в 003 и для устройства 002 (Device 002) устанавливаем права 666.
cd /dev/bus/usb/003 chmod 666 002
Тогда сканер будет виден под пользователем.
Дата последнего изменения: 05.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.