28 июл. 2008 г.

Epson Perfection 1270 и Ubuntu

Когда я перешёл на Ubuntu 7.04, у меня возникла потребность установки сканера Epson Perfection 1270. Но на тот момент у меня опыта в линксе было немного, потому лишь спустя продолжительное время, я решил написать этот туториал для тех, кто испытывает затруднения со своими сканнерами.

То, что я опишу ниже, было произведено на Ubuntu версиях 7.10 и 8.04. Насчёт других моделей, не знаю, пробуйте и описывайте по шагам, как это делали Вы.


Этот сканер, будучи подключённым к интерфейсу, определяется следующим образом:

$ lsusb
Bus 005 Device 005: ID 04b8:0120 Seiko Epson Corp.

Далее следует установить пакеты sane и sane-utils, если они уже не стоят у вас:

$ sudo aptitude install sane sane-utils

После этого следует выполнить команду для предварительного обнаружения вашего сканера:

$ sane-find-scanner
found USB scanner (vendor=0x04b8 [EPSON], product=0x0120 [EPSON Scanner]) at libusb:005:005

Окончание, в каком месте был найден сканер, может отличаться от приведённого примера. Оно меняется, стоит Вам вытащить, и снова вставить интерфейс в компьютер.

После того, как вы установили пакеты от sane, отредактируйте файл /etc/sane.d/snapscan.conf:

$ sudo nano /etc/sane.d/snapscan.conf

В самом начале вы увидете следующую строку (комментарий переводить не буду, но не будет лишним ознакомится со смыслом сказанного):

firmware /usr/share/sane/snapscan/your-firmwarefile.bin

Основная идея прошивки (firmware) состоит в том, что она закачивается в ваш сканер в момент сканирования, для того, чтобы это сканирование непосредственно выполнять. Firmware у Epson Perfection 1270 имеет имя ESFW3E.BIN

Для его получения следует распаковать и установить драйвера для сканера из установочного диска. Я, например, это сделал с помощью Wine, хотя вы можете использовать рабочую версию OS Windows или же попытаться распаковать их вручную.

Каталог, который содержит драйвера лежит в корне компакт диска с названием escan. После установки, в каталоге windows/system Вы должны обнаружить файл ESFW3E.BIN

Приведу его контрольную сумму, для чего, скажу ниже:

$ ls -l ESFW3E.BIN
-rw-r--r-- 1 vest vest 64000 2003-09-14 18:00 ESFW3E.BIN

$ md5sum ESFW3E.BIN
486fe0266b3f11c9bad14ccbf5ce87bf ESFW3E.BIN

Если использовать прошивку, написанную именно маленькими буквами (она содержится в новых драйверах для сканера с оффициального сайта), то сканер может не запуститься, это выглядит так, что сканирующая головка дёрнется и не поедет дальше. В общем, выходом является только использование стандартных драйверов, поставляемых со сканером.

Я, прежде чем это осознать, перепробовал версии три-четыре.

После этого, следует скопировать firmware в любой каталог, я, например, решил скопировать его туда, где производился первоначальный поиск, в /usr/share/sane/snapscan/ и после исправить путь на следующий:

firmware /usr/share/sane/snapscan/ESFW3E.BIN

Для дальнейшего определения сканера, следует запустить команду:

$ scanimage -L

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).

Вы видите, что сканер не определился. Это связано с тем, что в файле snapscan.conf (который исправляли выше) следует добавить строки идентифицирующие наш сканер. Похожие строки имеются по всему файлу. Информация должна вводится та, которую получили после ввода lsusb:

# Epson Perfection 1270
usb 0x04b8 0x0120

Далее проверим ещё раз:

$ scanimage -L
device `snapscan:libusb:005:005' is a EPSON EPSON Scanner flatbed scanner

Сканер определился. Теперь попробуем произвести тестовое сканирование:

$ scanimage -d snapscan > /tmp/test.pnm
[snapscan] Scanner warming up - waiting 9 seconds.
[snapscan] Scanner warming up - waiting 35 seconds.

Несколько раз сканер попробует прогреться, потом двинется на несколько миллиметров и остановится. Снова возникла "какая-то" неизвестная ошибка. Связана она с тем, что как кто-то писал на форуме, у производителей Sane не дошли руки, чтобы исправить ошибку, связанную с калибровкой качества. Поэтому нам следует сперва её найти, а потом отключить:

$ scanimage —help
List of available devices:
snapscan:libusb:005:005

--quality-cal[=(yes|no)] [yes]
Do a quality white-calibration

Видите, по умолчанию она включена, [yes]. потому её следует отключать:

$ scanimage -d snapscan --quality-cal=no > /tmp/test.pnm

И всё, пожалуйста, в каталоге /tmp ищите свой файл test.pnm

В том же самом gimp'e можно сканировать с помощью xsane, но главное не забыть, чтобы была отключена автоматическая калибровка качества.


Удачи.

p.s. для отладочных целей можете использовать комманду

$ export SANE_DEBUG_DLL=255
$ scanimage -d snapscan --quality-cal=no > /tmp/test.pnm