Bonjour,
j'ai un petit problème avec le driver de ma carte ethernet.
J'utilise la dernière version 2.6.0 beta9 patchée par Andrew Morton (akpm): 2.6.0_beta9-mm3 (http://kernel.org/pub/linux/kernel [...] test9-mm3/).
J'utilise Gentoo Linux.
J'ai une carte mère Asus P4c800E Deluxe dotée d'un controleur Gigabit ethernet utilisant le chipset Intel 82547EI et j'essaye de compiler le driver gérant cette carte. Ce driver a pour nom "e1000".
Une version se trouve dans le kernel sus-nommé mais elle ne prend pas en charge ce chipset. Donc j'ai compilé le nouveau driver e1000, version 5.2.20, qu'on peut trouver ici:
http://sourceforge.aleron.net/sourceforge/e1000
... et il se trouve qu'il ne compile pas ! Voila ce qu'il donne comme cochonneries:
>>> emerge (1 of 1) net-misc/e1000-5.2.20 to /
>>> md5 src_uri ;-) e1000-5.2.20.tar.gz
>>> Unpacking source...
>>> Unpacking e1000-5.2.20.tar.gz to /var/tmp/portage/e1000-5.2.20/work
>>> Source unpacked.
rm -rf e1000.o e1000_main.o e1000_hw.o e1000_param.o e1000_ethtool.o kcompat.o e1000.7.gz
gcc -march=pentium3 -O3 -pipe -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall -I/usr/src/linux/include -I. -c -o e1000_main.o e1000_main.c
In file included from /usr/src/linux/include/asm/processor.h:18,
from /usr/src/linux/include/asm/thread_info.h:13,
from /usr/src/linux/include/linux/thread_info.h:21,
from /usr/src/linux/include/linux/spinlock.h:12,
from /usr/src/linux/include/linux/capability.h:45,
from /usr/src/linux/include/linux/sched.h:7,
from /usr/src/linux/include/linux/module.h:10,
from e1000.h:37,
from e1000_main.c:29:
/usr/src/linux/include/asm/system.h: In function `__set_64bit_var':
/usr/src/linux/include/asm/system.h:193: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/src/linux/include/asm/system.h:193: warning: dereferencing type-punned pointer will break strict-aliasing rules
In file included from /usr/src/linux/include/linux/irq.h:20,
from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/linux/interrupt.h:11,
from /usr/src/linux/include/linux/netdevice.h:497,
from e1000.h:46,
from e1000_main.c:29:
/usr/src/linux/include/asm/irq.h:16:25: irq_vectors.h: No such file or directory
In file included from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/linux/interrupt.h:11,
from /usr/src/linux/include/linux/netdevice.h:497,
from e1000.h:46,
from e1000_main.c:29:
/usr/src/linux/include/linux/irq.h: At top level:
/usr/src/linux/include/linux/irq.h:70: error: `NR_IRQS' undeclared here (not in a function)
In file included from /usr/src/linux/include/linux/irq.h:72,
from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/linux/interrupt.h:11,
from /usr/src/linux/include/linux/netdevice.h:497,
from e1000.h:46,
from e1000_main.c:29:
/usr/src/linux/include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared here (not in a function)
/usr/src/linux/include/asm/hw_irq.h:31: error: `NR_IRQS' undeclared here (not in a function)
make: *** [e1000_main.o] Error 1
Certains parmi vous ont sans doute le même controleur ethernet et il marche. Donc si vous avez eu la même erreure et/ou si vous avez une idée de patch ou une idée de kernel qui supporte le sata, le P4 et qui permette de compiler ce driver, faîtes le moi savoir !
Merci d'avance,
Sébastien.