Мини-HOWTO: "Wacom Graphire USB"

Arnaud Claden

Перевод: Денис Дементьев, SWSoft Pte Ltd.

01 июня 2000

В этом документе cодержится информация, позволяющая настроить планшет Wacom Graphire USB для использования в Linux (в консоли и X), начиная с настройки ядра, кончая настройкой программ. Информация, приведенная здесь, должна подойти и для планшета Intuos USB.


1. Copyright

Copyright (c) 2000 by Arnaud Claden <[email protected]>

This document describes the installation of Wacom tablets under linux. You may use, disseminate, and reproduce this document freely, provided you:

  1. Do not omit or alter this copyright notice.

  2. Do not omit or alter the version number and date.

  3. Do not omit or alter the document's pointer to the current WWW version.

  4. Clearly mark any condensed, altered or modified versions as such.


2. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу


3. Введение

Данный документ содержит информацию о том, как заставить планшет Wacom Graphire USB работать под Linux. Предупреждаем, что это довольно сложная задача, однако данное руководство поможет Вам, шаг за шагом описывая необходимые действия.

Данный документ основывается на "HOWTO: Планшет Wacom", написанном Stephan Runkel, однако содержит некоторые уточнения обо всех настройках USB, не упомянутых в исходном документе. Если Вам нужна более общая информация о планшетах Wacom, обратитесь к HOWTO Stephan Runkel.

Я составил этот документ потому, что столкнулся со многими трудностями при установке нового планшета Graphire под Linux, однако сейчас он прекрасно работает на моем ноутбуке Toshiba 4030CDT.


3.1. Новые версии этого документа

Новые версии этого документа можно найти по адресу:

http://perso.club-internet.fr/tiamat/computer/howto/Wacom_USB-Mini_HOWTO.html


3.2. Обратная связь и исправления

Я буду весьма признателен за все комментарии, исправления, добавления, направленные мне по адресу:

<[email protected]>


3.3. Благодарности

Я благодарю всех, кто работает над усовершенствованием драйвера USB ядра. Особое спасибо Vojtech Pavlik за его работу над модулем wacom.

Конечно же, я благодарю Stephan Runkel за его прекрасный документ "HOWTO: Планшеты Wacom", который очень помог мне в процессе настройки.

Особая благодарность также Frederic Lepied за его работу над модулем xf86Wacom.


3.4. Ответственность

Информация в этом документе достоверна, насколько я могу об этом судить, однако возможны некоторые ошибки, поэтому не стоит следовать ему слепо, особенно если что-то кажется Вам неверным. Выполнение моих рекомендаций не должно причинить вреда Вашему компьютеру. Однако я не несу ответственности в случае возможного ущерба от использования информации данного документа. Это не howto по ядру. Я исхожу из предположения о том, что Вы знаете, как загружать\устанавливать новое ядро и как его настраивать.


4. Требования

4.1. Аппаратное обеспечение

Главный элемент- это, конечно, компьютер, по крайней мере, с одним USB-портом и планшет Wacom Graphire USB.


4.2. Ядро

Я использовал последнюю версию разрабатываемого ядра: linux-2.3.99-pre6.Оно довольно стабильно и в нем есть все необходимое. Вы также можете найти несколько версий драйверов, переделанных для старого ядра 2.2.х. Всю информацию о них Вы найдете по адресу http://www.suse.cz/development/usb-backport


4.3. Программное обеспечение для консоли

Для консоли Linux Вам потребуется только программа gpm, которая находится по адресу ftp://ftp.prosa.it/pub/gpm


4.4. XWindow

Для того, чтобы использовать все возможности планшета, используйте XInput. Более конкретно, Вам понадобится модуль xf86Wacom.so, который поставляется с большинством последних версий XFree86, начиная с версии 3.3.5. Кроме того, Вам может понадобиться xf86WacomUSB.so - находящееся в процессе доработки версия xf86Wacom для USB . Ниже об этом будет сказано подробнее.


4.5. Другие

Приложения, поддерживающие XInput:

  1. Gimp - это мощная программа работы с картинками в стиле Photoshop. Последняя нестабильная версия 1.1.х включает в себя поддержку XInput. Вы можете получить Gimp по адресу http://www.gimp.org

  2. gsumi- это простая B/W программа рисования, которая поддерживает рисование и удаление изображения с передачей давления на перо и дрожания руки. Она находится по адресу http://www.gtk.org/~otaylor/gsumi/

  3. xink (By Ralph Levien) - еще одна элементарная программа рисования для X. Ее можно найти по адресу ftp://kiwi.cs.berkeley.edu/pub/raph/xink.tar.gz

  4. RasMol - программа молекулярной визуализации, поддерживающая аппаратное устройство цифрового набора. Ее адрес: http://www.umass.edu/microbio/rasmol/distrib/rasman.htm

  5. xinput (by Frederic Lepied) - очень полезная для настройки и тестирования XInput-устройств утилита. Она расположена по адресу ftp://ftp.x.org/contrib/utilities/xinput-1.2.tar.gz


5. Ядро и аппаратное обеспечение

5.1. Настройка ядра

Как я уже говорил, нижеследующие опции относятся к ядру 2.3.99pre6. Если у вас все не так, то вам самим придется разрешать эти трудности.

** Внимание: [] означает Да\Нет опции, а <> означает Да\Нет\Модуль **

Прежде всего Вы должны разрешить экспериментальные версии кода/драйверов:

Code Maturity level options --->

[*] Prompt for development and/or incomplete code/drivers [*] Спрашивать о разрабатываемых и/или незаконченных кодах и драйверах

Если Вы этого не сделаете, то не получите доступ к некоторым драйверам.

Затем перейдем к разделу USB.

USB support --->

<*> Support for USB <*> Поддержка USB

[*] USB verbose debug messages [*] USB подробные отладочные сообщения

--- Miscellaneous USB options --- Разные опции USB

[*] Preliminary USB device filesystem [*] Предварительная файловая система устройств USB

Этой опцией Вы активизируете новые возможности /dev/usb/* (которые Вам нужно создать. См. ниже)

--- USB контроллеры

<*> UHCI (Intel PIIX4, VIA, ...) support <*> поддержка UHCI (Intel PIIX4, VIA, ...)

< > OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support < > поддержка OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...)

Вы должны выбрать один и только один из них. Если один не работает, выберите другой. Скорее всего, понадобится UHCI-драйвер, если Вы используете систему x86.

--- USB Devices --- USB устройства

< > USB Printer support < > поддержка USB-принтера

< > USB Scanner support < > поддержка USB-сканера

< > USB Audio support < > поддержка USB-аудио

< > USB Modem (CDC ACM) support < > поддержка USB-модема (CDC ACM)

If you have one of these, feel free to activate the options Включите все необходимые вам опции

<M> USB Serial Converter support

Эта опция должна быть включена для нормальной работы с планшетом Wacom.

[*] USB Generic Serial Driver

[ ] USB Handspring Visor Driver

[ ] USB ConnectTech WhiteHEAT Serial Driver (EXPERIMENTAL)

[ ] USB FTDI Single Port Serial Driver (EXPERIMENTAL)

[ ] USB Keyspan PDA Single Port Serial Driver (EXPERIMENTAL)

[ ] USB ZyXEL omni.net LCD Plus Driver (EXPERIMENTAL)

[*] USB Serial Converter verbose debug

Активируйте, если хотите получать все сообщения. Дезактивируйте, когда закончите работать с ними.

< > USB Kodak DC-2xx Camera support

< > USB Mustek MDC800 Digital Camera support (EXPERIMENTAL)

< > USB Mass Storage support (EXPERIMENTAL)

< > USS720 parport driver

< > DABUSB driver

< > PLUSB Prolific USB-Network driver (EXPERIMENTAL)

< > USB ADMtek Pegasus-based device support (EXPERIMENTAL)

< > USB Diamond Rio500 support (EXPERIMENTAL)

--- USB HID

HID - это разновидность интерфейса между Вами и устройством, так что Вы ДОЛЖНЫ его активировать.

<M> USB Human Interface Device (HID) support

< > USB HIDBP Keyboard support

< > USB HIDBP Mouse support

<M> Wacom Intuos/Graphire tablet support

Теперь надо включить поддержку планшетов Wacom.

< > Logitech WingMan Force joystick support

< > Keyboard support

<M> Mouse support

Эту опцию надо включить, если вы хотите использовать мышь Wacom Intuos/Graphire.

(1024) Horizontal screen resolution

(768) Vertical screen resolution

<M > Joystick support

<M> Event interface support


5.2. Сборка ядра

Это просто:

После выхода из настройки запустите следующее:

make dep bzImage modules modules_install

Type it just like this and the computer will run all the steps one after the other.

Теперь скопируйте файл bzImage в каталог /boot, скопируйте System.map в каталог /boot, создайте или отредактируйте lilo.conf, указав в нем на новое ядро, и наберите /sbin/lilo в командной строке.

** Конечно, все настройки ядра, компиляции ядра и lilo должны быть запущены от root **


5.3. Перед загрузкой

5.3.1. FStab

Если Вы хотите избежать сообщений об ошибках, то надо сделать следующее:

Отредактируйте файл /etc/fstab и добавьте в него следующую строку:

none /proc/bus/usb usbdevfs defaults 0 0

Это активизирует файловую систему usb-устройств

none /var/shm shm defaults 0 0

Это необходимо для произведения изменений в разделяемой памяти в ядре.


5.3.2. Устройства, относящиеся к USB

Для использования USB надо сделать следующее:

mkdir /dev/input

mknod /dev/input/mouse0 c 13 32

Это позволит вам использовать мышь

mknod /dev/input/event0 c 13 64

mknod /dev/input/event1 c 13 65

mknod /dev/input/event2 c 13 66

mknod /dev/input/event3 c 13 67

Это включит перо: движения, давление, кнопки и ластик.


5.3.3. Настройка модулей

Отредактируйте файл /etc/modules.conf, добавив в него следующую строку:

alias char-major-13 usbcore


5.3.4. Мои дальнейшие действия

Затем я добавил в файл /etc/rc.d/boot.local следующее (помните, что я использовал дистрибутив SuSE, однако нечто подобное вы можете найти в RedHat в файле /etc/rc.d/init.d/boot.local или /etc/rc.d/init.d/rc.local):

/sbin/modprobe wacom

/sbin/modprobe mousedev

/sbin/modprobe evdev

Просто убедитесь в том, что модули загрузятся во время загрузки системы.


5.3.5. Последнее, но не второстепенное

Перезагрузитесь ;)

Проверьте сообщения о загрузке (dmesg | less) и посмотрите, нет ли ошибок, относящихся к USB. Они могут возникнуть, если Вы выбрали UHCI на OHCI-системе.

На моей машине появляются следующие сообщения:

.....

.....

usb.c: registered new driver usbdevfs

usb.c: registered new driver hub

usb-uhci.c: $Revision: 1.2 $ time 17:54:28 May 8 2000

usb-uhci.c: High bandwidth mode enabled

usb-uhci.c: Intel USB controller: setting latency timer to 0

usb-uhci.c: USB UHCI at I/O 0xffe0, IRQ 11

usb-uhci.c: Detected 2 ports

usb.c: new USB bus registered, assigned bus number 1

usb.c: USB new device connect, assigned device number 1

usb.c: kmalloc IF c3fcd2e0, numif 1

usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1

usb.c: USB device number 1 default language ID 0x0

Product: USB UHCI Root Hub

SerialNumber: ffe0

hub.c: USB hub found

hub.c: 2 ports detected

hub.c: ganged power switching

hub.c: standalone hub

hub.c: global over-current protection

hub.c: power on to power good time: 2ms

hub.c: hub controller current requirement: 0mA

hub.c: port 1 is removable

hub.c: port 2 is removable

hub.c: local power source is good

hub.c: no over-current condition exists

hub.c: enabling power on all ports

usb.c: hub driver claimed interface c3fcd2e0

.....

.....

hub.c: port 1 connection change

usb.c: USB new device connect, assigned device number 2

usb.c: kmalloc IF c3fcd620, numif 1

usb.c: skipped 1 class/vendor specific interface descriptors

usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0

usb.c: USB device number 2 default language ID 0x409

Manufacturer: WACOM

Product: ET-0405-UV1.1-1

usb.c: unhandled interfaces on device

usb.c: This device is not recognized by any installed USB driver.

Length = 18

DescriptorType = 01

USB version = 1.00

Vendor:Product = 056a:0010

MaxPacketSize0 = 0

NumConfigurations =1

Device Version = 1.11

Device Class:SubClass:Protocol = 00:00:00

Per-interface classes

Configuration:

.....

.....

Если ядро выдает сообщение "Это устройство не опознано ни одним из установленных USB-драйверов", то это происходит потому, что во время загрузки системы модуль wacom еще не загружен. Однако вся шина USB и интерфейс узнаны. Так что если ваша система не работает и не выдает подобных сообщений, проверьте, не забыли ли Вы об опции USB (то, что я советовал включить в ядро, а Вы включили в качестве модуля. В таком случае в /etc/rc.d/init.d/boot.local включите необходимую команду modprobe перед 3 строками, о которых я говорил (например /sbin/modprobe usb-uhci).

После запуска модуля wacom появляются следующие сообщения:

.....

.....

usb.c: registered new driver wacom

input0: Wacom Graphire on usb2

usb.c: wacom driver claimed interface c3fcd620

mouse0: PS/2 mouse device for input0

mice: PS/2 mouse device common for all mice

event0: Event device for input0

.....

.....

Начните заново и проверьте все, пока не получите все указанные сообщения (или другие, им соответствующие).


6. Консоль Linux

Теперь, когда USB активирован, можно приступить к его проверке с помощью gpm:

Если gpm включился в момент загрузки, Вам необходимо его выгрузить: gpm -k

Теперь испробуйте Ваш планшет: gpm -tIMPS/2 -m /dev/input/mouse0

Подвигайте пером или мышью и УРА ... курсор движется по экрану.


7. XWindow

7.1. Установка 2 мышей в одной системе

Хотели ли Вы когда-нибудь иметь 2 мыши на Вашей системе ? Если да, то сделайте следующее.

Отредактируйте файл /etc/XF86Config

Раздел modules должен выглядеть следующим образом

Section "Module"

Load "xf86Wacom.so"

EndSection

Теперь проверьте раздел XInput:

Section "XInput"

SubSection "Mouse"

DeviceName "WacomTablet" --> или то, что Вам нравится

Protocol "IMPS/2" --> мне не удалось заставить работать колесо мыши, однако, если у Вас получилось, дайте мне знать

Port "/dev/input/mouse0"

Buttons 5

ZAxisMapping 4 5

AlwaysCore --> это значит, что мышь Wacom считается базовым указателем , т.е. если Вы пользуетесь обычной мышью или мышью Wacom (или пером), результат будет один и тот же

EndSubSection

EndSection

Наконец, мышь Wacom (или перо) признана второй мышью, и обычная мышь работает нормально.


7.2. Перо

Back to the XInput section, after the parameters for the mouse, here is the real Wacom stuff : Возвращаемся к разделу XInput. После параметров мыши следуют настройки пера:

SubSection "WacomStylus"

Port "/dev/input/event0" --> устройство USB-even

DeviceName "WacomStylus" --> или как Вы хотите это назвать

Mode Absolute --> т.е. поверхность планшета эквивалентна поверхности экрана

#Suppress 6

DebugLevel 10 --> если все работает, установите эту опцию в 0

#TiltMode

#HistorySize 200

#AlwaysCore

#KeepShape

#TopX 20412 --> 4 строки используются для более тщательной настройки координат под экран

#TopY 14730

#BottomX 0

#BottomY 0

EndSubSection

SubSection "WacomEraser"

DeviceName "/dev/input/event0"

DeviceName "WacomEraser"

Mode Absolute

EndSubSection

SubSection "WacomCursor"

Port "/dev/input/event0"

DeviceName "GraphireMouse"

Mode Absolute

EndSubSection


7.3. Новый модуль

xf86Wacom.so создавался не для USB-планшета, поэтому работает с ним не совсем корректно. Matsumura Namihiko <[email protected]> создал новый драйвер, названный xf86WacomUSB (исходный текст находится там же, где и этот документ Mini-HOWTO). Однако для того, чтобы его собрать, Вам нужен код исходного текста ядра и исходный текст XFree86 (я успешно компилировал его в XFree86 3.3.5, однако его следует компилировать с 3.3.6).

Этот драйвер работает не со всеми возможностями планшета и вообще не работает, если Вы задаете параметр AlwaysCore.

Чтобы это исправить, я связался с Frederic Lepied, попросив его исправить стандартный модуль, включив в него поддержку всех функций планшета.

**НОВОСТИ** На сайте Frederic Lepied Вы можете найти ссылку на новый USB-драйвер, который прекрасно работает только в том случае, если Вы используете планшет в качестве мыши : т.е. либо Вы применяете планшет в Gimp для рисования, либо работаете с ним, как с XFree-мышью, но не то и другое одновременно. Я еще буду исследовать этот вопрос и внесу полученные результаты в документ.


8. Ссылки

Для получения более подробной информации о планшетах Wacom в целом, обратитесь к документу "HOWTO: Планшеты Wacom" Stephan Runkel <[email protected]> по адресу http://www.linuxdoc.org/HOWTO/Wacom-Tablet-HOWTO.html

Информацию об xf86Wacom.so ищите по адресу <[email protected]> Frederic Lepied: http://www.lepied.com/xfree86

xf86WacomUSB.so находится по адресу ftp://ftp.aros.org/pub