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

Установка SANE

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

emerge sane-backends xsane

(пользователям kde4 может пригодиться пакет libksane, предоставляющий интеграцию среды с интерфейсом sane)

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

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

lsusb

(потребуются права администратора)
Ответом на данную команду должен быть список устройств, подключенных по usb, среди которых должна быть строка с названием нашего сканера:
Bus 001 Device 002: ID 04b8:011f Seiko Epson Corp. Perfection 1670

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

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

Спасибо!