Wacom Graphire USB

Ядро

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

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

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

XWindow

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

Другие

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

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

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

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

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

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

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

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

Как я уже говорил, нижеследующие опции относятся к ядру 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

Сборка ядра

Это просто:

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

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 **

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

FStab

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

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

none /proc/bus/usb usbdevfs defaults 0 0

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

none /var/shm shm defaults 0 0

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

Устройства, относящиеся к 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

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

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

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

alias char-major-13 usbcore

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

Затем я добавил в файл /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

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

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

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

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

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

.....

.....

usb.c: registered new driver usbdevfs

usb.c: registered new driver hub

usb-uhci.c: $Revision: 1.3 $ 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

.....

.....

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

Консоль Linux

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

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

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

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

XWindow

Установка 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 (или перо) признана второй мышью, и обычная мышь работает нормально.

Перо

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

Новый модуль

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

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

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

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