Как известно, большая часть современных сканеров имеет один из четырех (а иногда два из четырех) интерфейсов:
• SCSI;
• параллельный (подключаемый к принтерному порту);
• USB;
• IEEE-1394.
Помимо этого, существуют сканеры, которые имеют свой оригинальный интерфейс и, соответственно, специальную интерфейсную плату, устанавливаемую в компьютер, а так же сканеры, подключаемые к последовательному порту.
Не удивительно, что в условиях отсутствия спецификаций (а в бизнес-мире "хорошим тоном" является объявление спецификаций коммерческой тайной) Linux-сообщество не смогло в полной мере самостоятельно создать необходимые драйверы. Еще одним тормозом в расширении применения сканеров для Linux явилось то, что еще года два назад наиболее массовым на рынке был сканер с SCSI-интерфейсом, причем с целью его удешевления производитель обычно комплектовал сканер SCSI-контроллером с урезанными функциями, либо не совсем отвечающий SCSI-стандарту.
Впрочем, с приходом параллельного и USB-интерфейса, а также из-за того, что электроника сканеров сейчас производится пятью-семью фирмами, положение со сканерами в операционной системе Linux постепенно выравнивается.
Начинать необходимо с выбора сканера. К сожалению, в отличие от Windows, где работает практически любой сканер, существует не так уж много моделей сканеров, поддержка которых реализована в Linux и пакетом SANE полностью. Значительно больше моделей сканеров, поддержка которых системой реализована лишь частично. Списки поддерживаемых Linux сканеров вы можете посмотреть на сайтах, перечень которых находится в конце главы.
В табл. 36.1 приведен список некоторых полностью поддерживаемых Linux сканеров, причем только тех фирм, сканеры которых реально могут быть приобретены нашими пользователями.
Таблица 36.1. Список сканеров, полностью поддерживаемых Linux
Настройка Linux для подключения сканера
Зачастую новое USB-устройство ядро операционной системы Linux не опознает и что с ним делать, соответственно, не представляет. Поэтому необходимо самостоятельно определить наше устройство. Для этого в файл /etc/modules.conf следует добавить строку:
options scanner vendor=0x04b0 product=0x100 read timeout=8000
Конкретно для имеющегося USB-сканера, вполне вероятно, необходимо будет подставить свои значения.
Может возникнуть проблема со слишком маленьким временем ожидания подтверждения в драйвере. Для решения этой проблемы придется поэкспериментировать с параметром read_t imeout в вышеприведенной строке, где read_timeout задается в сотых долях секунды.
Параметры вашего USB-сканера можно посмотреть в log-файлах операционной системы:
hub.с: USB new device connect on busl/1, assigned device number 5
usb.c: USB device 5 (vend/prod 0x4b0/0x100) is not claimed by any active driver.
/etc/hotplug/usb.agent: ... no drivers for USB product 4b8/110/110
Как видно из сообщения – ядро операционной системы ничего не знает о данном сканере. Чтобы решить эту проблему, в файле /etc/hotplug/usb.distmap надо взять подходящую строчку от другого сканера этого же производителя:
scanner 0x0003 0х04Ь0 0x0107 0x000 0x000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
И скопировать ее в файл /etc/hotplug/usb.handmap, заменив идентификатор устройства на ОхМО. После этого надо заново подключить сканер, и в log-файлах системы вы увидите тогда приблизительно следующее:
usb.c: USB disconnect on device 5
hub.с: USB new device connect on bus1/1, assigned device number 6
usb.c: USB device 6 (vend/prod 0x4b0/0x100) is not claimed by any active driver.
usb.c: registered new driver usbscanner
scanner.с: probe_scanner: User specified USB scanner – Vendor: Product – 4b0:100
scanner.с: USB Scanner support registered.
Есть еще один небольшой нюанс – если сканер долго не использовать, то он отключается, а модуль выгружается из памяти. В результате автоматический поиск устройства не работает. Для решения этой проблемы необходимо отключить и заново включить сканер.
Программный пакет SANE
Установленный нами для сканера драйвер ядра Linux обеспечивает только транспортный уровень протокола – он умеет передавать/принимать байты, но не более того. Для работы со сканером необходима программа, умеющая общаться именно с данной моделью сканера. Наиболее популярным комплектом таких программ является пакет SANE.
SANE представляет собой интерфейс, который обеспечивает доступ к сканирующему оборудованию стандартным образом, а также библиотеку модулей для многих моделей сканеров. Поддерживаются USB– и SCSI-сканеры, сканеры, подключаемые к параллельному порту, и даже сканеры, подключаемые по интерфейсу FireWire (IEE-1394), а также некоторые цифровые камеры.
Читать дальше
Конец ознакомительного отрывка
Купить книгу