[RESOLU]probleme driver carte réseau intel@82573L

Merci Mr Boisson!

Bon, tout d’abord voila le message qu’on me retourne lorsque je charge ton e1000 compilé en faisant “insmod /tmp/e1000/e1000.ko”:

e1000: disagrees about version symbol struct_module
insmod: error inserting /tmp/e1000/e1000.ko: -1 invalid format

Donc il semble que tu aies raison et que ce n’est pas la bonne compilation.
Seulement pour le vérifier avec la commande strings, on me retourne une erreur dont j’ai particulièrement honte :blush: :
On me dit “unexpected token “|”” lorsque je tape "$ strings <e1000.ko> | grep gcc. (seulement sous debian, le “|” apparraît sous la forme d’une barre verticale séparée en 2 au milieu… comment avoir la | normale sous debian please?

Je n’ai donc pas la version de gcc, mais a priori, ce n’est pas la bonne!

Le nouveau driver ne marche pas plus.
Effectivement lorsque je supprimais et insérait le module e1000 avant, je ne faisait que remettre le même… honte sur moi, c’est pour ca que je croyais que ca marchait, héhé!

Sinon, comme tu le dis, on m’a conseillé de récupérer les headers de mon noyau, mais cela va être une chose difficile, car je ne sais plus où j’ai eu mon iso…à force de toutes les essayer, je me suis légèrement emmêlé les pinceaux!

Encore merci! :smiley:

Attention, quand on écrit ça veut dire /cheminverslefichier/fichier. En l’occurrence, ici ce serait

$ strings /lib/modules/2.6.18-6-686/kernel/drivers/net/8139too.ko | grep gcc

par exemple.

Bien,

Alors je ne sais pas ce qui ne vas pas avec la commande strings, mais je n’arrive pas à m’en servir… En effet, j’ai essayé ceci:
"$ strings /lib/modules/2.6.12.6-686/kernel/drivers/e1000/e1000.ko |grep gcc" mais je suppose que c’est ma barre qui ne vas pas (celle coupée en deux avant grep). Peut - être est ce mon charset qui n’est pas le bon (fr-latin9), bref… Mais sinon en effectuant un dpkg-l je vois que le package gcc-3.3 est installé avec mon noyau. Cela suffit-il pour savoir si mon noyau a bien été compilé avec? Si ce n’est pas le cas, alors quel intérêt de fournir un compilateur différent de celui avec lequel a été compilé le noyau de cette version?

Dans tous les cas, je patauge sérieusement sur cette carte, alors que j’utilise le même noyau pour d’autres serveurs (mais avec différentes cartes réseau intel utilisant pourtant le même driver…).
Par ailleurs j’aurais quand même essayé bon nombres de noyaux différents sur celui la, aucun n’a pu me charger le pilote pour le controlleur ethernet.
Blague à part, le support de supermicro (vendeur de la carte mère me dit d’essayer red hat ou suse entreprise, c’est mal me connaître, eux ils se foulent pas trop sur la question!!!)

Tu peux le faire sur d’autres modules et procéder différemment:

$ strings /lib/modules/2.6.12.6-686/kernel/net/ipv4/netfilter/ip_conntrack.ko > /tmp/module

$ grep gcc /tmp/module

Bien,

la commande strings me retourne “cannot execute binary files” lorsque je la tape comme ceci:

$strings /lib/modules/2.6.12.6-686/kernel/drivers/net/e1000/e1000.ko > /tmp/module (ou pour n’importe quel autre module d’ailleurs)

ou me retourne “-bash: $ : unknown command” lorsque je la tape comme cela (avec un espace entre $ et strings):

$ strings /lib/modules/2.6.12.6-686/kernel/drivers/net/e1000/e1000.ko > /tmp/module

Malgré tout, je commence aussi à me demander si il ne manque pas les sources de mon noyau, car lors du make install avec les drivers d’Intel, on me retourne le message "error: Linux kernel source not found"
En bref, j’ai scruté le makefile, pour voir où il le prend. (en l’occurence dans /usr/src/linux-xxxx).
Seulement effectivement je n’ai aucun fichier ou dossier dans mon /usr/src.

Puis -je rajouter mes sources moi même ou bien faut il les renseigner via une commande annexe? Les installer à partir du CD?

Ne mets pas de $, c’est strings /lib/modules/2.6.12.6-686/kernel/drivers/net/e1000/e1000.ko > /tmp/module (

bon,

C’est tout simplement que je n’avais pas le paquet binutils d’installé…
Maintenant c’est chose faite. Le driver e1000 de base fournit avec mon noyau (2.6.12.6-686) est bien compilé avec gcc-3.3.

Maintenant lorsque je retente d’insérer les drivers que tu m’avais compilé, après avoir au préalable retiré celui fourni à l’install debian, on me retourne “-1 invalid module format”… Bizzare

Donc à priori, cela ne viendrait pas de la, la piste des sources non renseignées est -elle plausible? Comment y palier et faire en sorte de les renseigner au système?

Hum, il faudrait trouver les headers correspondant à ton noyau mais je ne trouve nulle part le paquet linux-headers pour le 2.6.12-6. L’as tu?

Oki!!

Je viens de les trouver je crois!!
ici => www-verimag.imag.fr/~kowalski/de … e/netinst/

Il y a les headers et les sources.

Qu’en faire maintenant? recompiler le tout?

tu telecharges le paquet headers (un .deb) puis tu l’installes (dpkg -i …deb), puis tu recommences la manip pour lequel tu en avais besoin (g pas tout suivi pour le reste).

Désolé, il faudra attendre le 9 Janvier pour que je puisses recompiler. Là ça se passe assez mal; une panne de courant a mis les switchs dans un état second et je ne peux pas atteindre une partie du réseau et par ailleurs, je ne suis pas sur que ton noyau soit celui correspondant à ces headers: Que donne chez toi

$ uname -a

as tu le support SMP activé? Si ça n’est pas le cas, ça n’est pas les bons headers.

Salut!

Voici le résultat de mon uname -a:

"Linux ns2 2.6.12.6-686 #1 SMP i686"
J’ai bien le SMP d’activé, ne t’inquiète pas, je peux le vérifier avec

cat /proc/cpuinfo qui me donne mes deux proc et ma mémoir de deux gigas est bien reconnue quand je fais # top

En fait je viens de télécharger et d’installer les sources, en me tapant les 1000 et 1 questions!!

Je vais maintenant voir comment réagi mon noyau et si des fois par un heureux hasard, mon driver e1000 est enfin reconnu!

Désolé pour tes switchs… merci EDF :wink:

[quote=“fullmetalucard”]Salut!

Voici le résultat de mon uname -a:

"Linux ns2 2.6.12.6-686 #1 SMP i686"
J’ai bien le SMP d’activé, ne t’inquiète pas, je peux le vérifier avec

cat /proc/cpuinfo qui me donne mes deux proc et ma mémoir de deux gigas est bien reconnue quand je fais # top

En fait je viens de télécharger et d’installer les sources, en me tapant les 1000 et 1 questions!!

Je vais maintenant voir comment réagi mon noyau et si des fois par un heureux hasard, mon driver e1000 est enfin reconnu!

Désolé pour tes switchs… merci EDF :wink:[/quote]

Si c’est le cas, tu peux compiler le module toi même au cas où il y a un pbm:

dpkg -i kernel-headers-2.6.12.6-686_1_i386.deb

Tu vérifies que gcc -v renvoit version gcc 3.3.5 (Debian 1:3.3.5-8)
tu charges http://ovh.dl.sourceforge.net/sourceforge/e1000/e1000-7.3.20.tar.gz

Puis tu fais
$ tar xzf e1000-7.3.20.tar.gz
$ cd e1000-7.3.20/src
$ make

Comme tu tournes sur le noyau 2.6.12.6-686, ça devrait bien se passer. Tu trouveras dans le répertoire le module e1000.ko

Tu l’essaye en faisant

rmmod e1000

insmod e1000.ko

[quote=“fran.b”]

Si c’est le cas, tu peux compiler le module toi même au cas où il y a un pbm:

dpkg -i kernel-headers-2.6.12.6-686_1_i386.deb

Tu vérifies que gcc -v renvoit version gcc 3.3.5 (Debian 1:3.3.5-8)
tu charges http://ovh.dl.sourceforge.net/sourceforge/e1000/e1000-7.3.20.tar.gz

Puis tu fais
$ tar xzf e1000-7.3.20.tar.gz
$ cd e1000-7.3.20/src
$ make

Comme tu tournes sur le noyau 2.6.12.6-686, ça devrait bien se passer. Tu trouveras dans le répertoire le module e1000.ko

Tu l’essaye en faisant

rmmod e1000

insmod e1000.ko[/quote]

Sniff…; Bon et bien j’ai donc installé mes headers, vérifié mon gcc (qui est bien gcc3.3.5), pris le nouveau driver, dépékagé le tout, et…ERREUR lors du make.
On me dit qu’un fichier manque dans les headers, à savoir (/usr/src/kernel-headers-2.6.12.6-686/scripts/gcc-version.sh). De la, il ne peut pas poursuivre la compilation. J’enrage! Pourtant les headers fournis sur ce site sont bien ceux de mon net-installer pour kernel 2.6.12.6-686.

Si ca continue, mon fournisseur de carte mère va se voir retourner la sienne (il faut savoir que ce n’était pas le modèle voulu à la base, faute de stocks…) Ironie du sort, tous les autres serveurs marchent :smiley:
Merci quand même pour tout!!

Mouais, c’est la même erreur que chez moi, bouge pas, je regarde, ça commence à me courir cette histoire… Deux petites minutes, le temps d’installer un debootstrap sur une machine dispo

Bon, groumf , j’y suis arrivé, il a fallu installé les sources et recompilé le noyau, les headers sont mal foutus, en fait il lui faut la totale… Voilà ton module, tant qu’à faire autant faire dans l’apothéose, je t’ai mis la version 7.3.20 plutôt que la 7.3.15 :slightly_smiling:
http://boisson.homeip.net/sarge/e1000-2.6.12.6-686-gcc3.3.ko

OUF!!

Meeerrciiii!!!
Tu es un dieu! Merci 1000 fois, tu me sauves la mise.
Juste pour info, comment as-tu fait? je serais curieux de pouvoir me débrouiller sur de tels problèmes à l’avenir!

En tous cas, merci pour ta détermination, 10 jours de combat acharné avec ce noyau, bon sang, ca fait du bien quand ca marche!

A bientôt! :wink:

un petit résolu ???

Assez simplement mais brutalement: debootstrap sarge, une installation de tes sources et une compilation du noyau (en fait j’ai lancé la compilation et ai continué pendant qu’il se compilait). Récupération du e1000-7.3.20.tgz, desarchivage et adaptation du Makefile pour qu’il croit qu’il tourne sur un noyau 2.6.12-6 SMP 686 (très pénible à faire ça). On lance la compile, on récupère avec joie le e1000.ko obtenu et on le met sur le site :slightly_smiling:. Voilà. Bonnes fêtes :slightly_smiling:

Oki, merci pour lres infos.

Ma carte est donc maintenant bien reconnue, seul problème, apreès avoir configuré mon eth0 dans le fichier interfaces, je peux pinger le réseau local, mais pas internet…

J’ai vérifié la conf par rapport à mes autres serveurs, elle est la même (à part l’IP bien sûr ), même netmask, gateway, network, etc…

mon premier serveur répond lorsque je fais un ping sur debian.org et pas celui qui possède le driver e1000 compilé.

En général, pour un problème de ce genre, on va bien entendu vérifier, si la passerelle est la bonne ici, j’ai la même pour les 2 serveurs : 192.168.0.1.
L’un voit le net et l’autre pas! J’ai vérifié les prises, les cables, je n’ai pas de pare feu logiciel d’installé ni sur l’un ni sur l’autre.

Voici ma config d’eth0 sur le serveur avec e1000 compilé:

The loopback network interface

auto lo
iface lo inet loopback

#the primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.6
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
#dns options are implemented by the resolvconf package,if installed
dns-nameservers 192.168.0.2
dns-search mondomaine

Voici ma config d’eth0 sur le serveur avec e1000 “normal”

The loopback network interface

auto lo
iface lo inet loopback

#the primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
#dns options are implemented by the resolvconf package,if installed
dns-nameservers 192.168.0.2
dns-search mondomaine

Arf, moi qui me croyait tiré d’affaire! :unamused: