Sous ubuntu 10.10 mon clavier n'est pas reconnu, j'ai seulement le mode souris qui fonctionne, c'est-à-dire les deux boutons (clique droit et clique gauche) et le petit pad en haut à droite.

Mini clavier sans fil Twintech

Pour que le clavier aussi fonctionne il m'a fallu appliquer un patch au noyau linux ou plutôt au module dont se sert le noyau pour faire fonctionner le clavier.

Pour ce faire j'ai utilisé la solution trouvée sur un forum ubuntu ici, encore merci à asmoore82 pour cette solution relativement facile à mettre en oeuvre.

Le principe est le suivant :

  • on met en place les sources du noyau linux
  • on en extrait les sources qui servent à gérer les modules qui permettent au noyau de gérer les claviers sans fils
  • on corrige 3 fichiers en ajoutant des lignes dedans
  • on compile les modules
  • on les met en place
  • on les décharge et les recharge
  • on corrige le fichier initramfs

Pour faire tout cela il suffit d'ouvrir un terminal puis de taper les commandes suivantes :

(on récupère les sources du noyau)

sudo apt-get install linux-source

(on demande la version que l'on utilise pour éventuellement adapter la prochaine commande)

uname -r

la commande chez moi renvoie 2.6.35-24-generic-pae c'est à dire que je travail avec la version 2.6.35

(on extrait les sources des modules des périphériques sans fils)

tar jxvf /usr/src/linux-source-2.6.35.tar.bz2 linux-source-2.6.35/drivers/hid

(maintenant on se deplace au bon endroit)

cd linux-source-2.6.35/drivers/hid

(Maintenant il nous faut modifier 3 fichiers à savoir hid-core.c puis hid-ids.h et enfin hid-ortek.c)

gedit hid-core.c

(on trouve la ligne)

{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },

(on ajoute juste avant)

{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },

(on modifie maintenant hid-ids.h)

gedit hid-ids.h

(on trouve la ligne)

  1. define USB_DEVICE_ID_ORTEK_WKB2000 0x2000

(on ajoute juste avant)

  1. define USB_DEVICE_ID_ORTEK_PKB1700 0x1700

(on modifie maintenant hid-ortek.c)

gedit hid-ortek.c

(on trouve la ligne)

{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },

(on ajoute juste avant)

{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },

Nos fichiers sont maintenant correctement corrigé, il nous reste à compiler le tout avec la commande

make -C /usr/src/linux-headers-$(uname -r) M=$(pwd) modules

Maintenant nous mettons en place les fichiers binaires

sudo cp -v hid.ko hid-ortek.ko /lib/modules/$(uname -r)/kernel/drivers/hid/

sudo cp -v usbhid/usbhid.ko /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/

Nous pouvons à ce stade décharger les anciens modules et recharger les nouveaux

sudo rmmod usbhid hid; sudo depmod -a; sudo modprobe usbhid

A partir de cet instant le clavier doit maintenant fonctionner.

Il reste à mettre à jour le fichier initramfs qui est une sorte d'image du noyau permettant un chargement plus rapide lors du démarrage de la machine en tapant :

sudo update-initramfs -u

Et voilà vous voici avec un clavier qui devrait être fonctionnel. Par contre à chaque mise à jour du noyau si le clavier ne fonctionne plus il faudra alors recommencer la manipe et cela jusqu'à ce que cette modification soit apportée définitivement dans les sources du noyau pas les développeurs.