Carte Wifi TP-Link TL-WN422G driver ?

Il doit falloir installer les en-têtes du noyau 2.6.30.
linux-headers-2.6.30-bpo.2-amd64
et ses dépendances linux-headers-2.6.30-bpo.2-common et linux-kbuild-2.6.30.

Pour info, la procédure pour recompiler le noyau 2.6.26 :

Installer/mettre à jour les paquets :

  • linux-source-2.6.26
  • linux-headers-2.6.26-2-amd64
  • kernel-package
  • gcc
  • make

Décompresser les sources du noyau

cd /usr/src tar xjf linux-source-2.6.26.tar.bz2
Editer /usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw/zd_rf.c
Dans le corps de la fonction int zd_rf_init_hw(), juste avant la ligne :

insérer la ligne :

Pour tester en compilant juste le module pour le noyau 2.6.26-2-amd64 :

[code]cd /usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw/

compiler le module

make -C /lib/modules/2.6.26-2-amd64/build M=$(pwd)

decharger le module actuel

modprobe -r zd1211rw

charger le nouveau module

insmod ./zd1211rw.ko[/code]
Si ça marche, tu peux remplacer le module originel /lib/modules/2.6.26-2-amd64/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko par le nouveau module. Mais ce n’est pas très propre, et le fichier sera écrasé en cas de mise à jour de ce noyau. Une solution plus propre consiste à compiler un noyau sous forme d’un paquet .deb.

Le paquet linux-image-2.6.26-2a-amd64 créé est déposé dans /usr/src/ et peut être installé avec dpkg -i.
La version du noyau de ce paquet est 2.6.26-2a-amd64 pour se différencier du noyau 2.6.26-2-amd64 de Debian.

re, je te remerci pour ton aide :wink:

quand je tape insmod ./zd1211rw.ko

ws031347:/usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw# insmod ./zd1211rw.ko insmod: error inserting './zd1211rw.ko': -1 Unknown symbol in module
toutes les etapes avant ça sont bien déroulé

Flûte, je n’avais pas testé ce point. Le déchargement de l’ancien module a aussi déchargé les modules dont il dépend, il faut donc les recharger, ce que insmod ne fait pas automatiquement contrairement à modprobe. La liste des dépendances d’un module est indiquée par “modinfo <nomdufichier.ko>” ou "modinfo " dans la ligne “depends”. Il faut charger les modules correspondants avec "modprobe ".

Note : avant de recompiler le noyau entier, il vaut mieux nettoyer l’arbre des sources avec

dans le répertoire des sources du module, ou bien avec

dans le répertoire de base des sources du noyau.

bonjour
PascalHambourg coment vas tu?

voila ceque ça donne modprobe ieee80211softmac

ws031347:/usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw# modprobe ieee80211softmac FATAL: Module ieee80211softmac not found. ws031347:/usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw# dir Kconfig zd_chip.c zd_ieee80211.c zd_mac.h zd_rf.c zd_rf_rf2959.c zd_usb.h Makefile zd_chip.h zd_ieee80211.h zd_rf_al2230.c zd_rf.c~ zd_rf_uw2453.c modules.order zd_def.h zd_mac.c zd_rf_al7230b.c zd_rf.h zd_usb.c ws031347:/usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw#

Le make -C /lib/modules/2.6.26-2-amd64/build M=$(pwd) clean , ça donne ça :

ws031347:/usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw# make -C /lib/modules/2.6.26-2-amd64/build M=$(pwd) clean make: entrant dans le répertoire « /usr/src/linux-headers-2.6.26-2-amd64 » CLEAN /usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw/.tmp_versions CLEAN /usr/src/linux-source-2.6.26/drivers/net/wireless/zd1211rw/Module.symvers make: quittant le répertoire « /usr/src/linux-headers-2.6.26-2-amd64 »

Désolé, comme je n’avais pas d’installation de lenny sous la main j’ai fait sous etch avec le noyau 2.6.18 et j’ai transposé. Apparemment il y a des différences avec le noyau 2.6.26 de lenny. Comme je l’ai dit, modinfo t’indiquera les modules dont le pilote zd1211rw dépend. Il suffit ensuite de les charger un par un avec modprobe puis de charger zd1211rw.ko avec insmod.

“make […] clean” efface le résultat de la compilation, c’est à faire seulement avant de compiler une nouvelle version.