pacify.ru \ epson-perfection-1270

Подключение сканера Epson Perfection 1270 под Debian GNU/Linux "Etch"

Автор статьи: Александр Лубягин.

Как заставить работать сканер EPSON PERFECTION 1270 под Debian,
установленном "из коробки". Использование утилит xsane, scanimage,
sane-find-scanner.

1. Настройка libsane

Установим пакет, содержащий вспомогательные утилиты для xsane:

# apt-get install sane-utils

Проверим присутствие сканера через драйвер libsane утилитой sane-find-scanner:
$ sane-find-scanner
....
found USB scanner (vendor=0x04b8 [EPSON], product=0x0120 [EPSON Scanner]) at libusb:004:005
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

Всё нормально. Однако, другая утилита (scanimage) наш сканер не видит:
$ scanimage -L
No scanners were identified.
....

Для правильного распознавания утилитой scanimage нашего сканера, скопируем
в стандартный каталог sane прошивку (firmware) для него:

# mkdir -p /usr/share/sane/snapscan
# cp esfw3e.bin /usr/share/sane/snapscan/
$ md5sum /usr/share/sane/snapscan/esfw3e.bin 
486fe0266b3f11c9bad14ccbf5ce87bf  /usr/share/sane/snapscan/esfw3e.bin

Примечание: Firmware можно взять из пакета iscan-firmware.

Далее, добавим в настройки libsane следующие строчки:
# echo """
# Epson Perfection 1270
usb 0x04b8 0x0120
""" >> /etc/sane.d/snapscan.conf

Также, поправим одну строку в этом файле настроек:

$ diff /etc/sane.d/snapscan.conf /etc/sane.d/snapscan.conf.bak 
5,6c5
< #firmware /usr/share/sane/snapscan/your-firmwarefile.bin
< firmware /usr/share/sane/snapscan/esfw3e.bin
---
> firmware /usr/share/sane/snapscan/your-firmwarefile.bin
106,108d104
< # Epson Perfection 1270
< usb 0x04b8 0x0120
< 

После этого сканер обнаруживается:
$ scanimage -L
device `v4l:/dev/video0' is a Noname Camera virtual device
device `snapscan:libusb:004:005' is a EPSON EPSON Scanner flatbed scanner

2. Сканирование изображения формата A4

Если достаточно отсканировать лист A4 целиком, набираем -

$ scanimage -d snapscan:libusb:004:005 --quality-cal=no | pnmtopng > test.png

3. Запуск xsane из-под обычного пользователя

Оболочка xsane не работает - не находит устройства даже из-под root'а.
По-видимому, не хватает некоторых прав на доступ к файлу-устройству.
Для определения имени этого файла, запускаем:
# lsof | grep xsane | grep dev
и находим /dev/pts/1. Затем, делаем chmod og+rw /dev/pts/1 - после этого xsane запускается из-под обычного пользователя, так как мы проставили права на соответствующее устройство. Под root'ом xsane запускать уже не обязательно: # DISPLAY=:0.0 xsane [snapscan] Scanner warming up - waiting 9 seconds. [snapscan] Scanner warming up - waiting 35 seconds. .... Запускаем её с правами обычного пользователя: $ xsane .... 4. Примечания При запуске scanimage -d snapscan, может выдаываться следующее сообщение: scanimage: open of device snapscan failed: Error during device I/O pnmtopng: EOF / read error reading magic number В этом случае надо запускать последовательно - sane-find-scanner и scanimage -L до исправления этой ошибки. У меня получилось за пару раз. Либо так: scanimage --device="snapscan" --quality-cal=no --format=tiff > $1.tif Скрипт stiff.bash для автоматизации обнаружения и разогрева сканера: --- #!/bin/bash # warming. sane-find-scanner sane-find-scanner scanimage -L scanimage -L # to scan. NAME="$1".tif if [ -f "$NAME" ]; then echo "file exists" else echo "scan" \""$NAME"\" scanimage --device="snapscan" --quality-cal=no --format=tiff > "$NAME" fi --- Ссылки на внешние источники SANE - Download, http://www.sane-project.org/source.html Stable Source http://alioth.debian.org/frs/download.php/2320/sane-backends-1.0.19.tar.gz.md5 http://alioth.debian.org/frs/download.php/2318/sane-backends-1.0.19.tar.gz Спустя несколько лет, под Debian 6.0 "Squeeze", процедура настройки сканера не отличается от прежней (для "Etch"). Написано: в феврале 2009 года, дополнено: октябрь 2011 года и март 2012 года. Опубликовано под лицензией Creative Commons BY-SA 3.0.
Вариант настройки для Мандривы от quicktest@linux.org.ru См. Re: Написал статью "Подключение сканера Epson Perfection 1270" (Linux.Org.Ru) Могу добавить вариант для Мандривы: 1. Файл прошивки (firmware) esfw3e.bin скопировать в /usr/share/sane/snapscan 2. В файле /etc/sane.d/snapscan.conf отредактировать и раскомментировать строку firmware /usr/share/sane/snapscan/esfw3e.bin и добавить строки #Epson Perfection 1270 usb 0x04b8 0x0120 3. В файле /etc/sane.d/epson.conf закомментировать все строчки кроме двух: usb usb 0x4b8 0x0120 4. В файл /etc/udev/rules.d/70-libsane-rules (вместо 70 может быть другое число) добавить строки: #epson 1270 SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0120", MODE="664", GROUP="scanner" 5. Необязательно, но иногда полезно: перезапустить комп и сканер. Проверить вывод команд: sane-find-scanner scanimage -L Обе должны видеть сканер (но, почему то, не всегда с первого раза). 6. Запустить xsane. Убрать галочку "калибровка качества" в окне настроек, иначе xsane зависнет намертво.

Если заблокировать сканирующую головку, то ...

программа сканирования scanimage выдаёт:
[snapscan] Scanner warming up - waiting 9 seconds.
scanimage: sane_start: Error during device I/O

> Заглавная <