24 мая 2009

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

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

Для начала установим необходимые пакеты:
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
...
Утилита scanimage поможет убедится в том, что сканер функционирует корректно. Для начала убедимся, что сканер доступен и отображается в списке доступных устройств, выполнив с правами root следующую команду:
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
...
Если вы получили такой-же вывод, то вам необходимо скачать файл 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 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
Если вы получите пустой вывод, надо посмотреть права доступа в файлу устройства (файл устройства можно узнать из вывода команд 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 располагается в меню "Приложения->Графика->Программа для сканирования изображения". К сканеру также можно организовать доступ по сети, как это сделать можно почитать здесь.

Читать дальше...

10 мая 2009

Настройка и использование bluetooth, часть вторая

В первой части было рассказано как установить и настроить устройство bluetooth в среде Debian. В этой части пойдет речь о том какое программное обеспечение надо установить для обмена файлами через bluetooth в среде Debian.

Обмениваться файлами через bluetooth в linux можно как при помощи консольных приложений, так и при помощи графических. Графические приложения для работы с bluetooth о которых пойдет речь, специфичны для среды Gnome.

Все что необходимо для обмена файлами через bluetooth можно установить выполнив следующюу команду:
aptitude install bluez-utils bluez-gnome gnome-bluetooth obex-data-server gnome-vfs-obexftp
После установки необходимых пакетов внесите вашего пользователя в группу netdev и перелогиньтесь, иначе у вас не будет доступа к устройству. Внести пользователя в группу можно выполнив команду:
sudo usermod -aG netdev
Посмотреть параметры устройства bluetooth на компьютере можно следующим образом:
sudo hciconfig -a
Сканирование доступных устройств из командной строки можно выполнить вот так:
hcitool inq
При выполнении сканирования мой мобильный телефон определился вот так:
Inquiring ...
00:21:9E:2F:D7:3A clock offset: 0x0425 class: 0x5a0204
Определить возможности обнаруженного при сканировании мобильного устройства по работе с bluetooth можно выполнив команду:
sdptool browse 00:21:9E:2F:D7:3A
Вывод команды большой, если выбрать из него только необходимое, то в случае с моим телефоном получим следующее:
sdptool browse 00:21:9E:2F:D7:3A | grep 'Service Name'

Service Name: OBEX SyncML Client
Service Name: Dial-up Networking
Service Name: Serial Port
Service Name: PAN Network Access Point
Service Name: Hands-Free Gateway
Service Name: Headset Gateway
Service Name: OBEX Object Push
Service Name: OBEX File Transfer
Service Name: OBEX IrMC Sync Server
Service Name: HID Mouse & Keyboard
Service Name: OBEX Phonebook Server
Отправку файла с компьютера на мобильный через bluetooth можно выполнить используя "Апплет Bluetooth", который запускается автоматически при старте ситемы, а при активации устройства bluetooth в области уведомления (рядом с часами) появляется значок. Щелчок правой кнопкой мыши на этом значке вызовет выпадающее меню, где надо выбрать пункт "Отправить файл...", далее выбираем необходимый файл и устройство на которое его надо отправить.

Для приема файла с мобильного устройства на компьютер через bluetooth надо запустить приложение, которое находится в меню "Приложения->Стандартные->Общий доступ к файлам по Bluetooth". После запуска приложения в области уведомления появится значок. При инициации отправки файла с мобильного устройства на компьютере появляется запрос на подтверждение приема файла. После приема файла появится запрос на действие над принятым файлом. По-умолчанию файл сохраняется на рабочем столе. Как обеспечить автоматический запуск приложения для приема файлов при старте системы можно посмотреть здесь.

Также обмен файлами через bluetooth в среде Gnome можно выполнять прямо из Nautilus. Для этого в адресной строке Nautilus (если адресная строка скрыта её можно отобразить нажав Ctrl+L) наберите obex:// и нажмите ввод. После ввода вы увидите список обнаруженных устройств, выбираете необходимое и видите файловую систему мобильного устройства. Далее работаете как с обычными файлами.

Читать дальше...

01 мая 2009

Настройка и использование bluetooth, часть первая

Технология bluetooth получила широкое распространение в мобильных устройствах. О том как настроить устройство bluetooth в среде Debian, какое программное обеспечение для этого надо установить пойдет речь в этом посте. Настройка устройства будет показана на примере модуля bluetooth в ноутбуке Toshiba A200.

Чтобы заработал модуль bluetooth на ноутбуке Toshiba A200, необходимо установить дополнительный модуль ядра. Модуль ядра установим из исходников при помощи утилиты module-assistant. Пакет с исходным кодом модуля ядра omnibook-source_2.20070211+svn20090227-1_all.deb можно взять тут.

Для начала установим утилиту module-assistant, которая позволяет управлять упаковкой сторонних модулей ядра. Также нам понадобятся дополнительные пакеты, которые можно установить выполнив в командной строке:
aptitude install module-assistant kernel-package linux-headers-$(uname -r)
Перед началом работы с module-assistant необходимо выполнить следующие команды, предварительно добавив в /etc/apt/sources.list строку deb-src http://ftp.de.debian.org/debian lenny main contrib non-free:
sudo m-a update
sudo m-a prepare
После того как мы подготовили к работе утилиту module-assistant установим пакет omnibook-source_2.20070211+svn20090227-1_all.deb. Пакет можно установить из локального репозитория или выполнив в директории, куда вы скачали пакет, команду:
sudo dpkg -i omnibook-source_2.20070211+svn20090227-1_all.deb
После установки пакета omnibook-source при помощи утилиты module-assistant выполним сборку пакета выполнив:
sudo m-a build omnibook-source
В результате выполнения команды в директории /usr/src появится пакет omnibook-module-2.6.26-2-686~090227-1+2.6.26-15_i386.deb. Если в процессе построения пакета возникли ошибки, то их вы можете посмотерть в каталоге /var/cache/modass в файле omnibook-source.buildlog.2.6.26-2-686 (цифры в имени файла 2.6.26-2-686 это версия ядра, вывод команды uname -r).

После успешной сборки пакета установим его:
sudo m-a install omnibook-source
После установки собранного пакета загрузим модуль ядра со следующими параметрами:
sudo modprobe omnibook ectype=14
Проверим наличие загруженного модуля и информацию о нем:
sudo lsmod | grep omnibook
sudo modinfo omnibook
Теперь, предварительно включив модуль bluetooth переключателем на ноутбуке, убедимся что устройство определяется:
lsusb | grep -i bluetooth
Наблюдаем следующий вывод:
Bus 001 Device 002: ID 0930:0508 Toshiba Corp. Integrated Bluetooth HCI
Обеспечим автоматическую загрузку модуля ядра при загрузке системы. Для этого нужно прописать опции модуля в файле /etc/modprobe.d/omnibook и автозагрузку модуля в файле /etc/modules. Сделать это можно следующим образом:
sudo sh -c "echo 'options omnibook ectype=14' > /etc/modprobe.d/omnibook"
sudo sh -c "echo 'omnibook' >> /etc/modules"
Перезагружаем компьютер и убеждаемся в том, что модуль omnibook загружен. На этом настройка модуля bluetooth закончена. О том какое программное обеспечение необходимо для работы с bluetooth в среде Debian речь пойдет в следующей части.

Читать дальше...

  © Blogger template Blue Surfing by Ourblogtemplates.com 2008

Наверх