Précédent   Forum des professionnels en informatique > Systèmes > Linux > Matériel
Matériel Vos questions relatives à la configuration optimale et au support matériel
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/08/2006, 20h13   #1
Rédacteur/Modérateur
 
Avatar de Michaël
 
Michaël Todorovic
Ingénieur systèmes et réseaux
Inscription : juillet 2003
Messages : 3 493
Détails du profil
Informations personnelles :
Nom : Michaël Todorovic
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2003
Messages : 3 493
Points : 5 899
Points : 5 899
Par défaut Installation d'un driver : suppression des fichiers source

bonjour,
j'ai une carte wifi pci dont je ne connais pas le nom. je sais juste qu'elle est basée sur un chipset realtek rtl8180l. cette carte fonctionne correctement avec ndiswrapper. cependant, il existe des drivers prévus pour linux donc je ne vois pas pourquoi j'ai ndiswrapper.
bref, il existe un driver natif sur le site de realtek et un autre driver non officiel. j'ai récupéré les deux. j'ai tout d'abord essayé le driver de chez realtek. je décompresse et lis la doc qui me dit de taper make. je fais ce qu'on me dit, je tape make en root (pour éviter les problèmes de droits dans /usr/src/linux).
au départ, voici le contenu du répertoire
Code :
1
2
8180_26_private.ko  r8180_if.h        r8180_pci_init.h  readme26.txt   wlandown
Makefile            r8180_pci_init.c  r8180_type.h      rls_note_1220  wlanup
je lance make et là, message d'erreur. je m'attendais à avoir un manque de headers ou autres. voici le message
Citation:
make -C /lib/modules/2.6.17.7/build SUBDIRS=/tmp/rtl-wifi/rtl8180_1.5_release26 MODVERDIR=/tmp/rtl-wifi/rtl8180_1.5_release26 modules
make[1]: entrant dans le répertoire « /usr/src/linux-2.6.17.7 »
scripts/Makefile.build:17: /tmp/rtl-wifi/rtl8180_1.5_release26/Makefile: Aucun fichier ou répertoire de ce type
make[2]: *** Pas de règle pour fabriquer la cible « /tmp/rtl-wifi/rtl8180_1.5_release26/Makefile ». Arrêt.
make[1]: *** [_module_/tmp/rtl-wifi/rtl8180_1.5_release26] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-2.6.17.7 »
make: *** [modules] Erreur 2
lancer make a supprimé tous les fichiers j'ai regardé le contenu du makefile et il n'y a aucun rm (sauf pour makeclean mais ça vire juste les .o)
j'ai alors essayé l'autre driver (non officiel) et même chose, ça supprime tous les fichiers et ça me sort le même message

j'ai un noyau 2.6.17.7 vanilla compilé par moi-même. est-ce que quelqu'un aurait eu le même problème de suppression de fichiers même avec un autre driver ?
Michaël est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 21h48   #2
Rédacteur/Modérateur
 
Avatar de Michaël
 
Michaël Todorovic
Ingénieur systèmes et réseaux
Inscription : juillet 2003
Messages : 3 493
Détails du profil
Informations personnelles :
Nom : Michaël Todorovic
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2003
Messages : 3 493
Points : 5 899
Points : 5 899
après moultes essais et bidouilles, j'y suis arrivé avec le driver non officiel. ce driver doit être téléchargé par cvs pour fonctionner avec les noyaux >= 2.6.12

il faut éditer le makefile
Code :
 $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) MODVERDIR=$(PWD) modules
devient
Code :
 $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
il faut également patcher le fichier r8180_core.c
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 -MODULE_PARM(ifname,"s"); 
 +/*MODULE_PARM(ifname,"s");*/ 
 +module_param(ifname, charp, 0400); 
  MODULE_PARM_DESC(devname," Net interface name, wlan%d=default"); 
 
 -MODULE_PARM(hwseqnum,"i"); 
 +/*MODULE_PARM(hwseqnum,"i"); */ 
 +module_param(hwseqnum, int, 0400); 
  MODULE_PARM_DESC(hwseqnum," Try to use hardware 802.11 header sequence numbers. Zero=default"); 
 
 -MODULE_PARM(hwwep,"i"); 
 +/*MODULE_PARM(hwwep,"i");*/ 
 +module_param(hwwep, int, 0400); 
  MODULE_PARM_DESC(hwwep," Try to use hardware WEP support. Still broken and not available on all cards"); 
 
 -MODULE_PARM(channels,"i"); 
 +/*MODULE_PARM(channels,"i");*/ 
 +module_param(channels, int, 0400); 
  MODULE_PARM_DESC(channels," Channel bitmask for specific locales. NYI");
ensuite
Code :
1
2
3
4
make
make install
depmod -a #il ne le fait pas tout seul et c'est très utile.
modprobe r8180
si lors du modprobe, vous avez un message
Citation:
Invalid module format
allez voir dans /var/log/kern.log pour voir la raison. pour ma part, c'était parce que le compilateur par défaut était gcc-4.1 alors que mon noyau a été compilé avec gcc-3.4. il suffit de changer le lien symbolique /usr/bin/gcc pour le faire pointer vers /usr/bin/gcc-version. ensuite, nettoyez le répertoire pour une nouvelle reconstruction (make clean), supprimez
Code :
1
2
3
4
5
rm -rf /lib/modules/version_de_votre_noyau/kernel/drivers/net/wireless/alg
rm -f /lib/modules/version_de_votre_noyau/kernel/drivers/net/wireless/ieee80211-r8180.ko
rm -f /lib/modules/version_de_votre_noyau/kernel/drivers/net/wireless/ieee80211_crypt-r8180.ko
rm -f /lib/modules/version_de_votre_noyau/kernel/drivers/net/wireless/r8180.ko
depmod -a #pour prendre en compte la suppression
puis relancez une compilation.

ça a marché pour moi avec un noyau 2.6.17.7, gcc 3.4, debian etch x86
goodbye ndiswrapper
Michaël est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h18.


 
 
 
 
Partenaires

Hébergement Web