LINUX.ORG.RU

Xorg не любит планшет


0

1

В общем, wacom прописан в xorg.conf как-то типа:

Section "InputDevice"
  Driver "wacom"
  Identifier "cursor"
  Option "Device" "/dev/input/wacom"
  Option "Type" "cursor"
  Option "USB" "on"
  Option "Vendor" "WACOM"
  Option "Mode" "Relative"
EndSection
(всё остальное по аналогии)

А в /dev/input/wacom он уходит благодаря 10-wacom.conf у udev:
SUBSYSTEM=="usb", SYSFS{idVendor}=="056a", SYSFS{idProduct}=="0027", SYMLINK+="input/wacom"

Но валится вот так (отрывок из лога иксов):
[  7476.667] (II) Using input driver 'wacom' for 'stylus'
[  7476.667] (II) Loading /usr/lib/xorg/modules/input/wacom_drv.so
[  7476.667] (**) stylus: always reports core events
[  7476.667] (**) Option "Device" "/dev/input/wacom"
[  7476.667] (EE) stylus: usbDetect: can not ioctl version
[  7476.667] (EE) stylus: cannot identify device class.
[  7476.667] (EE) PreInit returned 8 for "stylus"
Что это значит и как правится? Гугл отвечает какую-то невнятную фигню, да и обычно по поводу tty-ев

Ответ на: комментарий от erfea

Ну, я поставил xf86-input-wacom. Сам wacom естественно видится, ну а в dmesg'е вроде ничего интересного, кроме
[ 2.103314] usbcore: registered new interface driver wacom
[ 2.104715] wacom: v1.52:USB Wacom tablet driver

botater
() автор топика

Ещё могу предположить что версия драйвера в ведре и драйвера в иксах несовместимы. Там сейчас, что-то активно пилится...

erfea ★★★★★
()

Арчепроблемы все это. У меня в squeeze после xf86-input-wacom все взлететь. Видимо, новый драйвер с ним не работает, ну или наоборот

ms-dos32
()
Ответ на: комментарий от ms-dos32

Забавно, у меня не арч, но гента. Печальненько, если из-за несовместимости, хотя всё похоже на то

botater
() автор топика
Ответ на: комментарий от Vekt

Скорее, нужно откатится до 3.1 или 3.2 ядра, либо собрать старый драйвер. Нужная версия должна быть написана в описании пакета xf86-input-wacom

ms-dos32
()

Дай выхлоп:
$ uname -a
$ lspci -k или lsusb -v (можно только кусок, который относится к устройству)
$ lsmod | grep -i wacom
$ ls -l /dev/input/
$ xinput --list
$ xsetvacom --list dev
$ xsetwacom list
$ dmesg (это точно на pastebin )

P. S.
wacom не создаёт устройство в /dev/input
http://portmagorus.wordpress.com/tag/cth-670/
http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Xf86-input-w...

Kroz ★★★★★
()
Ответ на: комментарий от Kroz
localhost 18:09:55 ~ $ uname -a
Linux localhost 3.1.10-gentoo-r1 #15 SMP Mon May 7 03:16:06 MSK 2012 i686 Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz GenuineIntel GNU/Linux


lspci -k видимо
03:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller (rev 04)
	Subsystem: Sony Corporation Device 9081
	Kernel driver in use: sdhci-pci
03:00.1 System peripheral: Ricoh Co Ltd Device e232 (rev 04)
	Subsystem: Sony Corporation Device 9081

lsmod — драйвер wacom'а в ядре

ls -l /dev/input/
total 0
drwxr-xr-x 2 root root     60 Май  7 06:59 by-id
drwxr-xr-x 2 root root    120 Май  7 06:59 by-path
crw-r----- 1 root root 13, 64 Май  7 06:59 event0
crw-r----- 1 root root 13, 65 Май  7 06:59 event1
crw-r----- 1 root root 13, 74 Май  7 06:59 event10
crw-r----- 1 root root 13, 75 Май  7 06:59 event11
crw-r----- 1 root root 13, 66 Май  7 06:59 event2
crw-r----- 1 root root 13, 67 Май  7 06:59 event3
crw-r----- 1 root root 13, 68 Май  7 06:59 event4
crw-r----- 1 root root 13, 69 Май  7 06:59 event5
crw-r----- 1 root root 13, 70 Май  7 06:59 event6
crw-r----- 1 root root 13, 71 Май  7 06:59 event7
crw-r----- 1 root root 13, 72 Май  7 06:59 event8
crw-r----- 1 root root 13, 73 Май  7 06:59 event9
crw-r----- 1 root root 13, 63 Май  7 06:59 mice
crw-r----- 1 root root 13, 32 Май  7 06:59 mouse0
crw-r----- 1 root root 13, 33 Май  7 06:59 mouse1
lrwxrwxrwx 1 root root     18 Май  7 18:11 wacom -> ../bus/usb/002/004

xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ <default pointer>                       	id=6	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Keyboard0                               	id=7	[slave  keyboard (3)]

оба xsetwacom дают пустой вывод

А dmesg — http://pastecode.com/DV http://pastecode.com/DW

botater
() автор топика
Ответ на: комментарий от Kroz

Темы сейчас почитаю, кажется, там что-то очень близкое

botater
() автор топика
Ответ на: комментарий от botater

lspci -k видимо

Нет, нужно было lsusb -v . Но это уже не так важно. По тому что ты дал все должно быть нормальное.

Мне кажется что здесь есть все что нужно:
http://en.gentoo-wiki.com/wiki/Wacom_Tablet

Тут пишется, что модуль в ядре может и не работать, тогда устанавливается сторонний sys-kernel/linuxwacom-module , при этом оригинальный модуль в ядре нужно отключить.

В общем, проверь в первую очередь гентушную ссылку, если нет - те что я давал ранее, мне кажется все получится.

Отпишись по результатам.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Нашёл предварительно linuxwacom-module-0.10.10.ebuild, поставил. Он создал wacom.ko, который я скопировал в /lib/modules/3.1.10-gentoo-r1/kernel/drivers/input/tablet/wacom.ko, но при попытке modprobe wacom получаю:

FATAL: Error inserting wacom (/lib/modules/3.1.10-gentoo-r1/kernel/drivers/input/tablet/wacom.ko): Invalid module format
Здесь я просто выпал в осадок. Из-за чего такое может быть? Может его как-то по-другому надо ставить? Перед установкой я убрал wacom из ядра

botater
() автор топика
Ответ на: комментарий от botater

Странно что у меня другую версию выдает:

$ emerge -pv linuxwacom-module

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] virtual/pkgconfig-0  0 kB
[ebuild  N     ] sys-kernel/linuxwacom-module-0.8.8_p10  USE="usb" 1,031 kB
И это после emerge --sync
(Я испольую ACCEPT_KEYWORDS=«~x86»)
Ты не испольузешь оверлеи?

Из-за чего такое может быть?

Пробуй вот это:
1. Симлинк /user/src/linux у тебя должен указывать на исходники текущего ядра:

$ ls -l /usr/src/linux
lrwxrwxrwx 1 root root 24 Июн 15  2011 /usr/src/linux -> /usr/src/linux-2.6.39.1/

$ uname -a
Linux lix 2.6.39.1-lix-k18 #1 SMP PREEMPT Sat Feb 4 22:46:25 EET 2012 i686 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux
(Да, у меня старое ядро!)

Еще в двух требованиях я не уверен, но не помешает:
2. Желательно чтобы было последнее ядро, которое предлагает emerge gentoo-sources .
3. В каталоге с ядром должен быть текущий конфиг (если ты компилил и после этого ничего не менял - у тебя уже это есть).

$ cat /usr/src/linux/.config | grep LOCALVERSION
CONFIG_LOCALVERSION="-lix-k18"
# CONFIG_LOCALVERSION_AUTO is not set

$ cat /usr/src/linux/.config | grep "Kernel Config"
# Linux/i386 2.6.39.1 Kernel Configuration

4. Если используешь оверлеи (или ты вообще отдельно качал ebuid???) попробуй использовать linuxwacom-module из основной ветки.

Kroz ★★★★★
()
Ответ на: комментарий от botater

Да, пробовать в следующем порядке: 1, 3, 4, 2 . Я предполагаю, что достаточно будет только проверить симлинк на ядро текущей версии (пункт 1).

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

К сожалению, всё соответствует правде и симлинк корректно указан. ebuild качал отдельно :) Та версия, что в основной ветке, у меня даёт ту ошибку, что у человека из той ссылки, но попробую сейчас ручками скомпилить

botater
() автор топика
Ответ на: комментарий от Kroz

Ура, торжество логики! Заработало, несмотря на использование модуля для старого (2.6.38) ядра.

Итого, если в эту тему кто-то зайдёт, ему поможет: — Компилить ядро, разумеется, без wacom'а —

git clone git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/input-wacom
cd input-wacom
./autogen.sh --prefix=/usr
sudo cp /lib/modules/<ядро>/kernel/drivers/input/tablet/wacom.ko /lib/modules/<ядро>/kernel/drivers/input/tablet/wacom.ko.orig
sudo cp 2.6.38/wacom.ko /lib/modules/<ядро>/kernel/drivers/input/tablet

Сейчас попробую заставить работать с ним xorg, если получится, отпишусь

botater
() автор топика
Ответ на: комментарий от botater

Подружить вышло очень быстро :)
Аналогичным образом скачал (git clone git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/xf86-input-wacom) и поставил (./autogen --prefix=/usr и sudo make install)

А в xorg.conf сделал так:

Section "ServerLayout"

    Option          "AutoAddDevices" "False"
	Identifier     "iroroconfig Layout"
    …
    InputDevice "stylus"    "SendCoreEvents"
    InputDevice "eraser"    "SendCoreEvents"
    InputDevice "cursor"    "SendCoreEvents"
    InputDevice "pad"
EndSection

Section "InputDevice"
  Driver "wacom"
  Identifier "cursor"
  #Option "Device" "/dev/input/tablet-intuos5-touch-m"
  Option "Type" "cursor"
  Option "USB" "on"
  Option "Vendor" "WACOM"
  Option "Mode" "Relative"
EndSection

Section "InputDevice"
  Driver "wacom"
  Identifier "stylus"
  #Option "Device" "/dev/input/tablet-intuos5-touch-m"
  Option "Type" "stylus"
  Option "USB" "on"
  Option "Vendor" "WACOM"
  Option "tilt" "on" # add this if your tablet supports tilt
  Option "Threshold" "5" # the official linuxwacom howto advises this line
  Option "Mode" "Absolute"
EndSection

Section "InputDevice"
  Driver "wacom"
  Identifier "eraser"
  #Option "Device" "/dev/input/tablet-intuos5-touch-m"
  Option "Type" "eraser"
  Option "USB" "on"
  Option "Vendor" "WACOM"
  Option "tilt" "on" # add this if your tablet supports tilt
  Option "Threshold" "5" # the official linuxwacom howto advises this line
  Option "Mode" "Absolute"
EndSection

Section "InputDevice"
  Driver "wacom"
  Identifier "pad"
  #Option "Device" "/dev/input/tablet-intuos5-touch-m"
  Option "Type" "pad"
  Option "USB" "on"
  Option "Vendor" "WACOM"
  #Option "ButtonsOnly" "on"
EndSection
Основное отличие от того, что можно найти в сети — device намеренно не указан Если всё работает правильно, stylus, eraser, cursor и pad появятся как в xinput list, так и в xsetwacom list

P.S. Огромное спасибо, всё это время я пребывал в восторге от вашей, иначе и не скажешь, благородности, — взяться и помочь, да ещё и не на «отвяжись», а до последнего и полно

botater
() автор топика
Ответ на: комментарий от botater

Да, ведь ещё есть «touch» (по крайней мере у меня), в xorg.conf его добавил:

…
InputDevice "touch"    "SendCoreEvents"
…
Section "InputDevice"
  Driver "wacom"
  Identifier "touch"
  #Option "Device" "/dev/input/tablet-intuos5-touch-m"
  Option "Type" "touch"
  Option "USB" "on"
  Option "Vendor" "WACOM"
  #Option "ButtonsOnly" "on"
EndSection
Но вот работать он пока не хочет, хотя без конфига в xorg.conf работал, попробую разобраться, в чём дело

botater
() автор топика
Ответ на: комментарий от botater

Перевоткнул — заработало вроде :)

Поздравляю

P.S. Огромное спасибо

Не за что. Но, по-моему, основные вещи ты сделал сам :)

взяться и помочь, да ещё и не на «отвяжись», а до последнего и полно

Ну так на этом мир держится.

Kroz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.