Xsane linux невозможно открыть устройство

Блог «Познай Linux!»

Организовать работу сканера в Linux можно используя SANE , предварительно убедившись, что ваша модель сканера им поддерживается. Часто при подключении сканера возникает ситуация когда сканер работает из под root и не работает под обычным пользователем. В данном посте пойдет речь о подключении сканера Mustek BearPaw 2448 TA Plus и организации его работы под обычным пользователем.

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

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

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

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

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
.

Если вы получили такой-же вывод, то вам необходимо скачать файл A2Nfw.usb здесь. Это firmware, необходимое для работы сканера. Файл A2Nfw.usb надо расположить в директории /usr/share/sane/gt68xx/ с правами доступа 0644 , для этого вам понадобятся права root .

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

sudo scanimage —test -d ‘gt68xx:libusb:002:003’
.
[gt68xx] Please wait for lamp warm-up
scanimage: scanning image of size 2555×3514 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 с правами обычного пользователя, выполнив в командной строке:

Читайте также:  Alt linux oracle java

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

Файлы устройств в 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==»055f», ATTR==»021a», ATTR==»USB Scanner», MODE=»664″, GROUP=»scanner»

Как писать правила для 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
.

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

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

Источник

XSane не может открыть устройство (неверный аргумент)

Я новичок в Linux и установил Ubuntu 15.10 несколько дней назад. Я могу успешно распечатать на моем Canon i-SENSYS MF4890dw , но при попытке сканирования с помощью Xsane получаю следующее:

Failed to open device 'pixma:MF4800_10.237.93.145': invalid argument 

Поскольку я прочитал некоторые каналы из других похожих тем, я попробовал на Xterm:

scanimage: open of device pixma:MF4800_10.237.93.145 failed: Invalid argument 

который возвращается 4.2.0-25-generic ,

Читайте также:  Linux command last file

4 ответа

В библиотеке сканирования произошла ошибка, которая повлияла на беспроводное сканирование с использованием некоторых устройств. Обновить libsane до 1.0.26 или новее. Если он не доступен в центре программного обеспечения, установите его из этого ppa:

sudo add-apt-repository ppa:rolfbensch/sane-git sudo apt-get update sudo apt-get dist-upgrade 

Обычно это проблема с разрешениями.

Используйте lsusb, чтобы увидеть, какая шина и устройство включены в ваш принтер / сканер (при условии, что он подключен через USB).

Автобус 003 Устройство 006: ID 0400:0132 Brother Industries, Ltd

Это устройство на шине 003, устройство 006. которое соответствует этому файлу:

crw-rw-r— 1 корень lp 189, 261 янв 21 17:18 006

Обратите внимание на группу ‘lp’.

Добавьте себя в группу ‘lp’, используя:

Выйдите и вернитесь. попробуйте xsane.

У нас были похожие проблемы с нашим сканером Canon. Установка обновленных версий xsane и его библиотеки из ежедневного ppa SANE сделали нас в основном функциональными, хотя механизм подачи документов по-прежнему не работает.

Другая проблема, с которой мы столкнулись, заключалась в том, что ufw межсетевой экран блокировал доступ к сетевому сканеру. Если вы используете ufw и сканер подключен к сети, попробуйте отключить ufw и снова пытаюсь отсканировать. Если это работает, то довольно просто пропустить сканер ufw так что вам не нужно полностью его выключать.

Источник

Оцените статью
Adblock
detector