Настройка сканера Epson Perfection 1670

Updated 4 July 2019

Установка SANE

Для работы сканеров в GNU\Linux необходим API, разрабатываемый проектом SANE. На сайте проекта находится страница со всеми поддерживаемыми устройствами; там же описано качество работы конкретных устройств, указан backend, осуществляющий поддержку. Поддержка нашей модели осуществляется backend-ом snapscan.
В Calculate Linux Desktop SANE и XSANE (графический интерфейс к SANE) установлены по умолчанию, но если в вашей системе данные программы отсутствуют, воспользуйтесь следующей командой для установки:

emerge -a media-gfx/sane-backends media-gfx/xsane

Пользователям KDE может пригодиться пакет kde-apps/libksane, предоставляющий интеграцию среды с интерфейсом SANE.

Определение сканера

Удостоверьтесь, что сканер определился системой:

lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 04d9:0169 Holtek Semiconductor, Inc. 
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 004: ID 041e:4053 Creative Technology, Ltd Live! Cam Video IM
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 04b8:011f Seiko Epson Corp. Perfection 1670
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Ответом на данную команду должен быть список устройств, подключенных по USB, среди которых должна быть строка с названием нашего сканера.

В противном случае смотрим, что нам скажет команда:

dmesg | grep error

Если обнаруживаются строки вроде этиx:

usb 2-9: device descriptor read/64, error -71
usb 2-9: device not accepting address 9, error -71

то проверьте кабель. Некоторые устройства требуют подключения к контроллеру USB 2.0 через скоростной кабель.

Воспользуйтесь утилитой sane-find-scanner, которая отобразит список опознанных сканеров. В выводе вы должны увидеть строку:

found USB scanner (vendor=0x04b8 [EPSON], product=0x011f [EPSON Scanner]) at libusb:001:002

Естественно шина USB (libusb:001:002) у вас может быть другая.

Установка прошивки

Определенные модели не смогут работать без фирменного программного обеспечения (прошивки). Нам также потребуется прошивка. Прошивки не включаются в дистрибутив SANE из-за лицензионных соглашений, но в большинстве случаев доступны на сайте производителя или находятся на диске, который идет в комплекте со сканером. Иными словами, нам понадобятся драйверы для windows. Драйвера можно скачать с официального сайта. В архиве с драйверами есть файл ModUsb.cab. Для работы с ним понадобится утилита cabextract, для этого установите пакет:

emerge cabextract

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

cabextract ModUsb.cab

Среди распакованных файлов есть esfw30.bin - это и есть наша прошивка!

Настройка SANE

Далее скопируйте файл прошивки в каталог /usr/share/sane/snapscan/ и отредактируйте файл конфигурации необходимого нам backend-а. Откройте файл /etc/sane.d/snapscan.conf и поправьте строку с адресом прошивки:

firmware /usr/share/sane/snapscan/Esfw30.bin

Затем выключите сканер, отключите от него USB-кабель, заново подключите к USB и включите питание сканера. Настало время запустить XSANE, для начала от пользователя root. Если у вас установлен только сканер и нет другого оборудования (тюнер или вебкамера), то перед вами при запуске xsane предстанет диалог выбора устройства. Нас интересует наш сканер, так что выберите "EPSON Scanner1" и нажмите OK. Немного подумав, должна запуститься xsane. Если этого не произошло, то, вероятней всего, вы увидите окошко с ошибкой. Сообщение "Invalid argument" означает что у нас что-то с прошивкой. Текст ошибки, содержащий "I/O", скорее всего означает, что у нас проблеммы с обращением к устройству. Если же всё нормально, откроется окно программы сканирования - можно проверить сканер в действии!

Но работа от пользователя root - не лучший способ, поэтому нам нужно добавить пользователей, которым необходим доступ к сканеру, в группу scanner:

gpasswd -a user1,user2 scanner