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-мышью, но не то и другое одновременно. Я еще буду исследовать этот вопрос и внесу полученные результаты в документ.