IT-Service - Настройка сканера в Ubuntu
Пятница, 31 Август 2012 09:28

Настройка сканера в Ubuntu

Автор 
Оцените материал
(2 голосов)

Настройку сканера в Ubuntu легче всего осуществить с помощью API SANE. В примерах будет использован сканер Mustek BearPaw 2448 TA Plus. Для начала нужно убедиться, что сканер поддерживается. Если в STABLE-версии модель не поддерживается, то, возможно, она уже появилась в CURRENT-версии. Если уровень поддержки указан как COMPLETE или GOOD, то сканер, скорее всего, заработает без ошибок. Уровень поддержки BASIC подразумевает стабильную работу только базовых функций. В таблице поддерживаемых моделей содержатся ценные комментарии по установке, а также описание нужного бэкенда и файл прошивки.

 

 

Установка SANE

Установим необходимые пакеты:

   aptitude install libsane sane-utils xsane xsane-common

Настройка сканера

Сканер Mustek BearPaw 2448 TA Plus подключается к компьютеру через USB интерфейс. После подключения сканера к компьютеру, его можно увидеть в списке USB-устройств выполнив в командной строке:

   lsusb
   ...
   Bus 002 Device 003: ID 055f:021a Mustek Systems, Inc. BearPaw 2448 TA Plus
   ...

Теперь воспользуемся утилитой sane-find-scanner для поиска сканера и определения его файла устройства:

   sane-find-scanner -q
   ...
   found USB scanner (vendor=0x055f, product=0x021a [USB Scanner], chip=GT-6816) at libusb:002:003
   ...

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

Утилита scanimage поможет убедится в том, что сканер функционирует корректно. Для начала убедимся, что сканер доступен и отображается в списке доступных устройств, выполнив следующую команду:

   sudo scanimage -L
   ...
   device `gt68xx:libusb:002:003' is a Mustek BearPaw 2448 TA Plus flatbed scanner
   ...

Установка файла прошивки

Теперь надо выполнить тестирование сканера, выполнив в командной строке:

   sudo scanimage --test -d 'gt68xx:libusb:002:003'
   ...
   [gt68xx] Couldn't open firmware file (`/usr/share/sane/gt68xx/A2Nfw.usb'): No such file or directory
   scanimage: open of device gt68xx:libusb:002:003 failed: Invalid argument
   ...

Операция завершилась с ошибкой, так как SANE не смог самостоятельно установить нужную прошивку для сканера (в большинстве случаев это именно так). Необходимо скачать нужный файл прошивки, указанный для соответствующей модели сканера в таблице на сайте SANE. Например, для сканера Mustek BearPaw 2448 TA Plus файл будет называться A2Nfw.usb. Его надо расположить в директории /usr/share/sane/gt68xx/ (здесь gt68xx нужно заменить на имя вашего бэкенда). Файлу прошивки нужно дать права 0644:

   chmod 0644 /usr/share/sane/gt68xx/A2Nfw.usb

После того, как прошивка установлена, вывод тестирования сканера в правами root выглядит следующим образом:

   sudo scanimage --test -d 'gt68xx:libusb:002:003'
   ...
   [gt68xx] Please wait for lamp warm-up
   scanimage: scanning image of size 2555x3514 pixels at 8 bits/pixel
   scanimage: acquiring gray frame, 8 bits/sample
   scanimage: reading one scanline, 2555 bytes... PASS
   scanimage: reading one byte... PASS
   scanimage: stepped read, 2 bytes... PASS
   scanimage: stepped read, 4 bytes... PASS
   scanimage: stepped read, 8 bytes... PASS
   scanimage: stepped read, 16 bytes... PASS
   scanimage: stepped read, 32 bytes... PASS
   scanimage: stepped read, 64 bytes... PASS
   scanimage: stepped read, 128 bytes... PASS
   scanimage: stepped read, 256 bytes... PASS
   scanimage: stepped read, 512 bytes... PASS
   scanimage: stepped read, 1024 bytes... PASS
   scanimage: stepped read, 2048 bytes... PASS
   scanimage: stepped read, 4096 bytes... PASS
   scanimage: stepped read, 4095 bytes... PASS
   scanimage: stepped read, 2047 bytes... PASS
   scanimage: stepped read, 1023 bytes... PASS
   scanimage: stepped read, 511 bytes... PASS
   scanimage: stepped read, 255 bytes... PASS
   scanimage: stepped read, 127 bytes... PASS
   scanimage: stepped read, 63 bytes... PASS
   scanimage: stepped read, 31 bytes... PASS
   scanimage: stepped read, 15 bytes... PASS
   scanimage: stepped read, 7 bytes... PASS
   scanimage: stepped read, 3 bytes... PASS
   ...

Проверка работы с правами пользователя

Теперь надо воспользоваться утилитой scanimage с правами обычного пользователя, выполнив в командной строке:

   scanimage -L

Если вывод такой же, как с правами root, то сканер настроен верно и можно начинать работать с ним.

Настройка прав доступа к файлу устройства

Если вы получите пустой вывод, надо посмотреть права доступа к файлу устройства (файл устройства можно узнать из вывода команд lsusb и sane-find-scanner). В нашем случае права к файлу устройства следующие:

   ls -la /dev/bus/usb/002/003
   ...
   crw-rw-r-- 1 root root 189, 130 2009-05-24 15:43 /dev/bus/usb/002/003
   ...

Файлы устройств в Linux динамически создаются при помощи утилиты udev по правилам описанным в файлах, расположенных в директории /etc/udev/rules.d. Для того, чтобы файл устройства сканера создавался с корректными правами доступа, необходимо в директории /etc/udev/rules.d создать файл 45-libsane.rules со следующим содержанием:

   ACTION!="add", SUBSYSTEM!="usb", DRIVER!="usb", GOTO="libsane_rules_end"
   #Mustek Systems, Inc. BearPaw 2448 TA Plus
   ATTR{idVendor}=="055f", ATTR{idProduct}=="021a", ATTR{product}=="USB Scanner", MODE="664", GROUP="scanner"
   LABEL="libsane_rules_end"

Атрибуты для написания правила можно взять из вывода команды udevinfo следующего вида:

   udevinfo -a -n /dev/bus/usb/002/003

Как писать правила для udev можно почитать здесь. После того, как правила прописаны, необходимо пререзагрузить компьютер и убедиться, что права к файлу устройства установленны корректно:

   ls -la /dev/bus/usb/002/003
   ...
   crw-rw-r-- 1 root scanner 189, 130 2009-05-24 16:26 /dev/bus/usb/002/003
   ...

Настройка прав пользователя

Теперь надо внести пользователя в группу scanner. Это можно сделать следующим образом:

   sudo usermod -aG scanner

После вненсения пользователя в группу надо перелогинится. Теперь вывод команды scanimage -L с правами пользователя должен быть аналогичным выводу этой команды с правами root.

Проверка работы сканера

После того как сканер подключен и протестирован отсканировать документ можно при помощи программы xsane, которая в Ubuntu располагается в меню "Приложения->Графика->Программа для сканирования изображения". К сканеру также можно организовать доступ по сети, как это сделать можно почитать здесь.

Прочитано 12880 раз Последнее изменение Вторник, 02 Октябрь 2012 10:52
Другие материалы в этой категории: Полезные советы Ubuntu Linux »
Авторизуйтесь, чтобы получить возможность оставлять комментарии