PDA

Afficher la version complète : [Réglé] Compilation d'un driver



Pierre60
25/03/2007, 20h51
Bonjour !

Je tourne en rond depuis un moment...

J'ai une carte WiFi sur ma machine C'est une Belkin F5D6001 V.3 avec une puce ealtek RTL8180.
Il y a un pilote sur sourceforge.net et je voudrais quand même bien m'en servir en priorité, sans recourir à ndiswrapper et un pilote Windows.

Donc MAKE et toute cette sorte de choses.

Les sources du kernel 2.6.18.2-34, gcc sont installées.

Dans le pilote, il y a bien un Makefile.

Et ça donne ce qui suit (en rouge, c'est ce que j'ai tapé)

maison1:/usr/src/linux # cd /usr/src/linux
maison1:/usr/src/linux # make mrproper
CLEAN /usr/src/linux-2.6.18.2-34
CLEAN arch/i386/kernel
CLEAN init
CLEAN kernel
CLEAN usr
CLEAN .tmp_versions
CLEAN scripts/basic
CLEAN scripts/genksyms
CLEAN scripts/kconfig
CLEAN scripts/mod
CLEAN scripts
CLEAN include/config
CLEAN .config .config.old include/asm .version include/linux/autoconf.h include/linux/version.h include/linux/utsrelease.h
maison1:/usr/src/linux # make cloneconfig

...Plein de choses, et ça se termine par :
*
* Library routines
*
CRC-CCITT functions (CRC_CCITT) [M/y/?] m
CRC16 functions (CRC16) [M/y/?] m
CRC32 functions (CRC32) [Y/?] y
CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (LIBCRC32C) [M/y/?] m
#
# configuration written to .config
#
maison1:/usr/src/linux # make modules_prepare
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-i386
CC arch/i386/kernel/asm-offsets.s
GEN include/asm-i386/asm-offsets.h
HOSTCC scripts/genksyms/genksyms.o
SHIPPED scripts/genksyms/lex.c
SHIPPED scripts/genksyms/parse.h
SHIPPED scripts/genksyms/keywords.c
HOSTCC scripts/genksyms/lex.o
SHIPPED scripts/genksyms/parse.c
HOSTCC scripts/genksyms/parse.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
HOSTCC scripts/bin2c

maison1:/usr/src/linux # cd /home/pierre/sources/rtl8180-0.21

maison1:/home/pierre/sources/rtl8180-0.21 # make
make -C /lib/modules/2.6.18.2-34-default/build SUBDIRS=/home/pierre/sources/rtl8180-0.21 MODVERDIR=/home/pierre/sources/rtl8180-0.21 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/i386/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/i386/default modules
/usr/src/linux-2.6.18.2-34/scripts/Makefile.build:17: /home/pierre/sources/rtl8180-0.21/Makefile: No such file or directory
make[4]: *** No rule to make target `/home/pierre/sources/rtl8180-0.21/Makefile'. Stop.
make[3]: *** [_module_/home/pierre/sources/rtl8180-0.21] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/i386/default'
make: *** [2.6] Error 2

Je donne ma langue au chat. Où est passé Makefile ?
Qu'est-ce que j'ai fait de travers ?
Je voudrais bien :
- régler le problème (merci !)
- comprendre (encore mieux !)

Amitiés à tous.

Carnaby
25/03/2007, 23h31
Ca semble être un bug lié au vielle version (tu à la 0.21 c'est bien ça?) du driver avec les kernel récent.
http://sourceforge.net/forum/forum.php?thr...forum_id=390417 (http://sourceforge.net/forum/forum.php?thread_id=1523902&forum_id=390417)

Je te conseillerai de tenter avec une version CVS du drivers, l'adresse est cvs.sourceforge.net:/cvsroot/rtl8180-sa2400

thveillon
26/03/2007, 20h17
avant le "make", un ./configure aurait sans doute été bienvenue...