[HOWTO?] installation du driver aiptek pour linux

Installation et utilisation des tablettes graphiques sous Linux.
tarlack
Messages : 80
Inscription : 02 déc. 2005, 22:48
Localisation : Toulouse

Message par tarlack »

(Erreur : Ubuntu n'est pas Debian et respectivement Debian n'est pas Ubuntu.)


arf oups desole, mais bon vu que y a marque debian un peu partout et que les paquets debian marchent (contrairement aux rpm ou il faut les convertir avec alien avant), je m'etais dit que ca devait etre lie...

les fichiers oui, mais leur nom et emplacement ils evitent en general non ? enfin pour avoir une certaine stabilite, j'espere qu'ils changent pas les emplacements a chaque version de maintenance sinon les developpeurs sont mal quand meme :lol:
AMD 2500+ / 1.5Go DDR-RAM / ATI radeon 9700 Pro - Ubuntu 6.04 alpha / Gimp 2.2.8 / Blender 2.41 version povray / megapov 1.2.1
KiBi
Messages : 901
Inscription : 27 déc. 2004, 00:57
Localisation : Brest, Dijon
Contact :

Message par KiBi »

Là il s'agit d'une version du noyau différente, et Linux bouge beaucoup, donc c'est normal. Pour les paquets « qui marchent » d'une distribution à l'autre, c'est totalement aléatoire et non garanti, il y a des dépendances par rapport à d'autres paquets, avec parfois certaines contraintes sur les versions, etc.
olivs
Administrateur
Administrateur
Messages : 2090
Inscription : 28 avr. 2004, 08:23
Localisation : Toulouse
Contact :

Message par olivs »

tarlack a écrit :j'ai aussi cherche "usb_input.h mandrake", et je suis tombe sur un commit (c'est pas agreable a lire je vous le dis :D)
move <linux/usb_input.h> to <linux/usb/input.h> and remove some redundant includes.

ou encore
deplace <linux/usb_input.h> vers <linux/usb/input.h> et enleve quelques inclusions cycliques


ce que tu peux faire, c'est voir si ce fichier usb/input.h existe et editer aiptek.c pour qu'il inclue ce fichier plutot que usb_input.h (faire un lien de input.h vers usb_input.h ne marcherait pas car ils ne vont pas dans les memes dossiers et donc les chemins qu'eux meme contiennent seraient faux). donc en gros dans ce fichier, remplacer

#include <usb_input.h>
par
#include <usb/input.h>

avec un peu de bol ca pourrait marcher


j'ai un include/linux/input.h dans /usr/src/linux/

j'essaie de bidouiller aiptek.c et je vous tiens au courant.

Edit: hummm, tarlack, je suis largué... Dans la version du aiptek.c que j'ai, j'ai les lignes suivantes:

Code : Tout sélectionner

#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/usb.h>
#include <linux/usb_input.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/version.h>
#include <asm/uaccess.h>
#include <asm/unaligned.h>


bref, l'include du usb_input.h pointe bien vers le répertoire linux des include que j'ai...

je suis donc toujours coincé...
olivs
Administrateur
Administrateur
Messages : 2090
Inscription : 28 avr. 2004, 08:23
Localisation : Toulouse
Contact :

Message par olivs »

OK, Kibi a creusé le problème sur xchat hier soir. Il semblerait que les sources du noyau fourni par Mandriva soit pas mal adaptées/modifiées/customisées. Du coup, usb_input.h est tout bonnement absent des sources!

Le fichier aiptek.c doit être modifié pour permettre la compilation du module. La ligne d'include contenant le usb_input.h, en particulier, doit être mis en remarque, ce qui donne, pour le bloc des includes:

Code : Tout sélectionner

#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/usb.h>
/*#include <linux/usb_input.h>*/
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/version.h>
#include <asm/uaccess.h>
#include <asm/unaligned.h>


la commande make fonctionne donc bien, malgré les avertissements relatifs à Module.symvers:

Code : Tout sélectionner

make -C /lib/modules/2.6.12-24mdk/build SUBDIRS=/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6 \
        EXTRA_VERSION= modules
make[1]: Entering directory `/usr/src/linux-2.6.12-24mdk'

  WARNING: Symbol version dump /usr/src/linux-2.6.12-24mdk/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.o
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c:124:2: warning: #warning "locally supplied (untested) input_allocate_device"
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c: In function 'input_allocate_device':
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c:127: warning: implicit declaration of function 'kzalloc'
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c:127: warning: return makes pointer from integer without a cast
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c: At top level:
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c:1295: warning: initialization from incompatible pointer type
(...)
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c: In function 'aiptek_probe':
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c:2470: warning: assignment makes pointer from integer without a cast
/home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.c:2582: warning: implicit declaration of function 'usb_to_input_id'
  Building modules, stage 2.
  MODPOST
  CC      /home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.mod.o
  LD [M]  /home/olivier/aiptektablet/trunk/linux_kernel_drivers/2.6/aiptek.ko
make[1]: Leaving directory `/usr/src/linux-2.6.12-24mdk'


la commande make install ne pose pas non plus de problème.

Kibi me corrigera pour la suite, mais l'étape suivante a été d'installer le paquetage de développement de x11:

Code : Tout sélectionner

urpmi libxorg-x11-devel

en acceptant les dépendances à satisfaire, bien évidemment.

Ensuite, on va dans trunk/xserver_input_driver, mais que doit on y faire? Qu'est-ce qu'un Imake, quelle différence par rapport à un Make?
KiBi
Messages : 901
Inscription : 27 déc. 2004, 00:57
Localisation : Brest, Dijon
Contact :

Message par KiBi »

A priori c'est un outil « maison » de chez X, mais je n'ai pas encore été vérifier.
Répondre