¿Se anulan unos drivers a otros? Instalar y parchear módulo wacom (solucionado)

Imagen de MrTulias
0 puntos

Buenas.

Uso ubuntu 12.04 y estoy intentando hacer andar una tableta gráfica wacom intuos ctl-480/s, pero no termino de conseguirlo.

He compilado los módulos del proyecto de wacom http://sourceforge.net/projects/linuxwacom/files/ excepto los que me pedían al hacer el configure una versión anterior a la que le hacía falta a otros. Las dependencias que me creaban errores en los configure las he ido solucionando a base de instalarlas con synaptic, no sé si es así como se hace, ya que de algunos no era exactamente el mismo nombre de paquete, sino librerías (creo, era el nombre del paquete precedido de lib), pero las dependencias se solucionaban. Algunos warnings todavía quedaban, pero creo que los ha compilado.

Al conectarla se enciende, pero no hace nada, el puntero no se mueve, los botones no hacen nada y con el programa xev no me produce ningún evento. En configuración de tableta me pone que no se detecta nada.
Aparece listada en lsusb, pero el driver wacom no aparece en lsmod a no ser con modprobe, que es cuando aparece en lsmod pero sin nada que lo use.

No aparece en el log de xorg, y al mirar lo que sale en syslog al conectarla y desconectarla me ponía un mensaje en el que el driver mtp me decía algo así como 'no mtp device'. Este driver lo había instalado para acceder al teléfono, pero como tampoco me funcionó lo quité. Ahora al conectarlo el syslog me pone using ehci_hcd, y por lo poco que he leído veo que es algo problemático, de ahí mi pregunta... ¿Se anulan unos drivers a otros? ¿Puede ser que la 'activación' de un driver (no sé exactamente lo que sucede) impida que el que deba ejecutarse lo haga?

Con el proceso de compilación se creó un fichero en /usr/share/X11/xorg.conf.d http://paste.ubuntu.com/6423403/, pero en xorg.conf de /etc/X11 no veo nada nuevo... ¿Debería haberlo? No hace mucho lo modifiqué para que me reconociera correctamente el ratón y éste sí que funciona.

No sé que más probar (salvo seguir quitando drivers, pero el que aparece ahora no lo he puesto yo, no sé lo que hace o si es necesario) o qué estoy haciendo mal, agradecería su orientación.

Saludos

Imagen de rioport
+1
+1
-1

... la conectas, has los siguiente:

Desconecta la tableta y limpia el buffer de dmesg:

sudo dmesg -c > /dev/null

Vuelve a conectar la tableta, espera unos segundos y ejecuta el siguiente comando:

dmesg

Y muestra lo que salió.

Si ya usaste el comando lsusb ¿por qué no pusiste lo que te mostró?.

+1
+1
-1

-- GC --

Imagen de MrTulias
+1
0
-1

Gracias por la pronta respuesta, la salida de lsusb Bus 002 Device 010: ID 056a:030e Wacom Co., Ltd , y la de dmesg después de la limpieza [22864.904544] usb 2-1.1: new full-speed USB device number 10 using ehci_hcd

El portátil es un asus x54h (k54hr)

Saludos

+1
0
-1

"To do is to be" (Nietzsche)
"To be is to do" (Kant)
"Do be do be do" (Sinatra)

Imagen de rioport
+1
+1
-1

Es que el módulo del kernel no soporta aún ese modelo, actualmente está en la versión 0.19 (input-wacom-0.19.1 según la página en SourceForge que pusiste). Puedes saber si un modulo soporta cierto dispositivo ejecutando modinfo nombremodulo, en este caso sería:

modinfo wacom

Y devolvería algo similar a esto:

filename:       2.6.38/wacom.ko
license:        GPL
description:    USB Wacom tablet driver
author:         Vojtech Pavlik 
license:        GPL
description:    USB Wacom tablet driver
author:         Vojtech Pavlik 
srcversion:     E7352CDE12D55C04517B75A
alias:          usb:v17EFp6004d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v056Ap0309d*dc*dsc*dp*ic03isc00ip00*
alias:          usb:v056Ap0307d*dc*dsc*dp*ic*isc*ip*
...

Con esto muestra la información del módulo wacom.ko que se encuentra dentro de /lib/modules/<version-del-kernel>
También puedes decirle a modinfo que muestre la información de un modulo cargando desde un archivo:

modinfo /ruta/al/archivo.ko

Y está es la información del modulo wacom v0.19.1:
http://pastebin.ubuntu.com/6424012/
En el cual, si soportara tu tableta debería haber una linea como la siguiente:

...
alias:          usb:v056Ap030Ed*...
...

Pero no la hay, así que ha esperar. Y si no quieres esperar puedes aplicar un parche al código para darle soporte a tu tableta.

+1
+1
-1

-- GC --

Imagen de MrTulias
+1
0
-1

Buenas.

Gracias por la explicación,consuela saber que no lo hice tan mal, aunque fastidie el seguir sin poder usar al trasto con ubuntu.

Pensaba que el instalar el xf86-input-wacom-0.23.0 era lo que parcheaba el driver hasta que apareciera el otro, pero ya veo que no (el listado de modinfo es similar al que tengo yo, y no aparece el ID del dispositivo).

Tocará esperar, no sé en qué consiste eso de parchear el módulo y si tendré los conocimientos suficientes para hacerlo, si no es muy complejo podría intentarlo mientras espero.

¿Desinstalo entonces todo lo que le he metido? He creído entender que si se compilan los módulos luego las actualizaciones hay que realizarlas a mano...

Saludos

+1
0
-1

"To do is to be" (Nietzsche)
"To be is to do" (Kant)
"Do be do be do" (Sinatra)

Imagen de rioport
+1
+1
-1

Están los parches para el kernel, pero parecen ser para la versión 3.7 y superiores:
http://sourceforge.net/mailarchive/message.php?msg_id=31596047

Si, mientras no tenga soporte tu tableta mejor desinstala, también sirve para probar lo parches y estar seguro que ninguna instalación anterior pueda ocasionar problemas.

¿qué sistema tienes instalado, de 32 o 64 bits?.

+1
+1
-1

-- GC --

Imagen de MrTulias
+1
0
-1

El resultado de uname -a es
Linux machine 3.2.0-53-generic #81-Ubuntu SMP Thu Aug 22 21:01:03 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Estoy leyendo lo del enlace que me pones, y pone que debería tener la última versión del xf86-input-wacom y meterle lo de los enlaces esos que señalan, aunque sí que están usando versiones posteriores a la mía, no sé qué tal iría.

Tengo un hueco libre en el disco, así que lo mismo me lío la manta ala cabeza e instalo la versión de pruebas y veo qué tal va, a la vez que pruebo la siguiente lts... :p

Saludos

+1
0
-1

"To do is to be" (Nietzsche)
"To be is to do" (Kant)
"Do be do be do" (Sinatra)

Imagen de rioport
+1
+1
-1

puedes aplicar los parches al modulo del kernel (input-wacom-0.19.1), en el segundo parche se agrega una linea que solo está en el código fuente del kernel:

#define SW_TOUCH		0x0e  /* set = touch switch turned on (touch events off) */

Y eso implica recompilar todo el kernel, pero podrías probar a aplicar solo aquellas que aplican al módulo wacom.ko.

De la pagina de SourceForge solo necesitas los archivos xf86-input-wacom-*** e input-wacom-***, solo esos 2 (en su versión más reciente, claro).

+1
+1
-1

-- GC --

Imagen de MrTulias
+1
0
-1

... a ver que pasa, probaré lo del xf86 y eliminaré los otros, lo de la compilación del kernel lo dejaré, eso suena a palabras mayores, si no funciona no quiero cargarme todo, ahora que ya consigo mantener el sistema en marcha sin tener que reinstalar cada vez que lo estropeo.

Saludos

+1
0
-1

"To do is to be" (Nietzsche)
"To be is to do" (Kant)
"Do be do be do" (Sinatra)

Imagen de rioport
+1
+1
-1

parchar, compilar y probar el módulo:

Primero instalar un kernel [y sus headers] más reciente (es que el parche solo soporta kernels versión 3.7 en adelante):

sudo apt-get update
sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

Reiniciar el PC e iniciar con el kernel 3.8.x (actualmente 3.8.0-33), que es el que se acaba de instalar.

Todavía no conectar la tableta.

*** Antes de seguir con este "tutorial" hay que tener compilado e instalado el paquete xf86-input-wacom-xxx el cual se encuentra aquí: http://sourceforge.net/projects/linuxwacom/files/xf86-input-wacom/ ***

Ahora crear una carpeta donde se hará este proceso, le pondré el nombre "wacom" ( qué original! ):

mkdir wacom; cd wacom

Se descarga y descomprime paquete que contiene el módulo del kernel "wacom":

wget http://sourceforge.net/projects/linuxwacom/files/xf86-input-wacom/input-wacom/input-wacom-0.19.1.tar.bz2

tar xjf input-wacom-0.19.1.tar.bz2

cd input-wacom-0.19.1/

Ahora a descargar los parches y aplicarlos:

wget http://sourceforge.net/p/linuxwacom/mailman/attachment/CANRwn3Q5s_6jM3n7CBwuPfzmLJs5W89rPdkXYfN2kBRYL%3DkueA%40mail.gmail.com/1/ \
 -O patch1.patch

wget http://sourceforge.net/p/linuxwacom/mailman/attachment/CANRwn3Q5s_6jM3n7CBwuPfzmLJs5W89rPdkXYfN2kBRYL%3DkueA%40mail.gmail.com/2/ \
 -O patch2.patch

patch -p1 < patch1.patch

patch -p1 < patch2.patch

Compilar el módulo (en realidad son dos):

./configure

Cargar los módulos:

sudo insmod 3.7/wacom_w8001.ko
sudo insmod 3.7/wacom.ko

Ahora sí conectar la tableta y probar.

Si ha funcionado, solo queda copiar los módulos a /lib/modules para que el kernel los cargue automáticamente al conectar la tableta:

sudo cp 3.7/wacom_w8001.ko \
/lib/modules/`uname -r`/kernel/drivers/input/touchscreen/

sudo cp 3.7/wacom.ko \
/lib/modules/`uname -r`/kernel/drivers/input/tablet/

sudo depmod -a
+1
+1
-1

-- GC --

Imagen de MrTulias
+1
0
-1

¡¡¡Funciona!!!

Gracias por darme los pasos del parcheado, no me aclaraba, entre el inglés y mi novatez :p

Saludos

+1
0
-1

"To do is to be" (Nietzsche)
"To be is to do" (Kant)
"Do be do be do" (Sinatra)

Imagen de edusolimar
+1
0
-1

A mi tambien me ha funcionado. Y las instrucciones deben estar muy bien puestas, porque a pesar de lo manazas que soy me ha funcionado a la primera...

Gracias a los que han sabido preguntar lo necesario y a los que han sabido resolverlo. ;-)

+1
0
-1