Сканер Epson Perfection 1270 на Arch Linux

2023-03-04T22:30:20+05:00

linux

При подключении сканера:

Вывод в dmesg

....
[дек23 20:40] usb 1-1.1: new high-speed USB device number 3 using ehci-pci
[  +0,081864] usb 1-1.1: New USB device found, idVendor=04b8, idProduct=0120, bcdDevice= 1.10
[  +0,000010] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0,000005] usb 1-1.1: Product: EPSON Scanner
[  +0,000004] usb 1-1.1: Manufacturer: EPSON
....
lsusb
....
Bus 001 Device 003: ID 04b8:0120 Seiko Epson Corp. GT-7400U [Perfection 1270]
...
sane-find-scanner
....
found USB scanner (vendor=0x04b8 [EPSON], product=0x0120 [EPSON Scanner]) at libusb:001:003
....
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

Присваиваем группу scanner для доступа к sane non-root пользователю, также присваиваем группу lp для избежания проблем с вводом/выводом и пропаданием сканера (лично я сталкивался с этим)

sudo usermod -aG scanner,lp $(whoami)

Устанавливаем пакеты

sudo pacman -S sane sane-airscan ipp-usb xsane
  • sane - основной пакет для сканеров
  • sane-airscan (на всякий) - для сканеров которые работают в режиме «без драйверов»
  • ipp-usb - для сканеров которые работают по USB
  • xsane - Функциональное ПО для выполнения сканирования документов

Разрешаем использование протокола IPP через соединение USB включив данный сервис

sudo systemctl enable --now ipp-usb.service

Однако данный сканер не работает "из коробки" об этом свидетельствует выхлоп из команды scanimage -L, который был пуст

РЕШЕНИЕ: Из Arch Wiki (Scanner-specific problem), Rosa Wiki (Настройка для работы сканера Epson Perfection 1270) и на офф сайте Sane в списке поддерживаемых устройств (Current Stable SANE Version) указано что что для данного сканера необходима прошивка Esfw3e.bin взятый из:

  1. Из распакованных драйверов Epson, а именно разархивировав ModUsd.cab при помощи cabextract внутри которого будет данный файл прошивки
  2. Вытащить данный файл из установленного Windows раздела находящийся по пути C:\Windows\System32

Вытащив данный файл прошивки я копирую его в данный путь

sudo cp Esfw3e.bin /usr/share/sane/snapscan

После чего редактирую данный конфиг файл и меняю в firmware [путь до файла Esfw3e.bin]

sudo -e /etc/sane.d/snapscan.conf
....
firmware /usr/share/sane/snapscan/Esfw3e.bin
....

Там же в самом низу добавляем

...
# Epson Perfection 1270
usb 0x04b8 0x0120
...

Примечание: информацию о коде (usb 0x04b8 0x0120) можно получить с помощью команды sane-find-scanner

Также добавляем данные строки чтобы настроить свои привилегии

sudo mkdir -p /etc/hotplug/usb/
sudo -e /etc/hotplug/usb/libsane.usermap
# Epson Perfection 1270
libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

После переподключения сканера при выполнении сканирования используя команду scanimage -L определился

...
device snapscan:libusb:001:007 is a EPSON EPSON Scanner flatbed scanner
...

Примечание: Чтобы сканер работал правильно необходимо отключать калибровку качества, с калибровкой при сканировании появляются неправильные цвета. Ниже приведены примеры как отключить данную калибровку.

scanimage (сканирование через терминал):

  • добавляем опцию --quality-cal=no

Пример сканирования через терминал:

scanimage --device snapscan --quality-cal=no --resolution 300 --format=png --output-file test.png --progress

xsane:

  • в окне "Стандартные параметры" снять галочку "Калибровка качества"

#  Проблема

В текущий момент сканер работает стабильно, однако на отсканированном справа появляется толстый белый горизонтальный прямоугольник с разноцветными линиями внутри. Это происходит на scanimage и xsane. С данной проблемой сталкиваюсь не один я. Полноценного решения как это исправить я пока не нашёл, только временные решения.

Временные решения:

Для xsane: обойти это можно просто выделить участок на предварительном сканировании и на отсканированном файле будет без линий.

Для scanimage: обойти это можно при помощи опций -y (число высоты) -x (число ширины) обрезав ширину размера документа: -x 165 -y 297