Установка SANE
Для работы со сканерами в Linux вам понадобится API, разработанный проектом SANE. Веб-сайт проекта включает в себя страницу со всеми поддерживаемыми устройствами, а также отчеты о поддержке конкретных устройств. Необходимые бэкэнды также можно найти там. Для моей модели поддержка обеспечивается бэкэндом Snapscan.
Обычно в Linux имеется SANE и XSANE (графический интерфейс для SANE), но если в вашей системе их нет, их можно просто установить
1
sudo dnf install sane-backends
Пользователи KDE могут оценить пакет libksane, который обеспечивает интеграцию с интерфейсом SANE.
Обнаружение сканера
Убедитесь, что ваша система видит устройство:
1
lsusb
Эта команда выводит список подключенных к USB устройств, включая имя вашего сканера.
Также можно запусть команду просмотра ошибок (опционально)
1
dmesg | grep error
Если вы видите что-то вроде этого:
1
2
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, вы увидите обнаруженные сканеры. Вы должны увидеть что-то вроде этого:
1
found USB scanner (vendor=0x04b8 [EPSON], product=0x011f [EPSON Scanner]) at libusb:001:002
Видимо, что подключение через USB (libusb:001:002).
Установка прошивки
Некоторые сканеры не будут работать без прошивки. Прошивки не включены в распределенную версию SANE по причинам лицензирования, но в большинстве случаев они доступны на веб-сайте поставщика или на компакт-диске, поставляемом со сканером. То есть надо “установить драйверы”. Вы можете скачать их на официальном сайте. Искать ModUsb.cab в архиве драйверов. Вам понадобится cabextract для работы с ним:
1
sudo dnf install cabextract
Перейдите в каталог драйверов и запустите:
1
cabextract ModUsb.cab
Искать надо esfw30.bin в извлеченных файлах: это и есть прошивка, которая вам нужна. Если не смогли найти, ниже есть ссылка.
Настройка SANE
Скопируйте файл прошивки в /usr/share/shane/snapscan/ и отредактируйте конфигурацию для соответствующего бэкэнда. Для этого откройте /etc/sane.d/snapscan.conf
Можно прямо в консоли
1
sudo nano /etc/sane.d/snapscan.conf
и поправьте строку прошивки:
1
firmware /usr/share/sane/snapscan/esfw30.bin
Затем выключите сканер, отсоедините USB-кабель от сканера, снова подключите его, включите сканер. Теперь можно сканировать. Если у вас есть только сканер и нет другого оборудования (тюнер или веб-камера), при запуске появится диалоговое окно выбора устройства. Выберите «EPSON Scanner1» и нажмите OK.
Я сканирую через simple-scan.
Для старта нажимаем “Сканировать” и немного ждем. Если что-то не так, вы, скорее всего, увидите сообщение об ошибке. Если написано “Недействительный аргумент”, что-то не так с вашей прошивкой. Сообщение об ошибке, содержащее “I/O”, вероятно, означает, что у вас проблемы при попытке доступа к устройству.
Для разных сканеров нужны разные прошивки, какие - на скрине ниже в последнем столбике.
Я поначалу ошибочно использовал Esfw52.bin от Epson 3490 для 1670, и сканер работал, но выдавал ужасающую картинку.
На всякий случай сохранил эти прошивки к себе в дропбокс
Поскольку работа с root не лучший вариант, лучше добавить пользователей сканера в группу scanner:
1
gpasswd -a user1, user2 scanner
По идее, метод сработает и с другими сканерами. Пробуйте.