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

Sur le site de fran.be , on trouve un kernel 2.6.12 compatible avec sarge (je crois) : boisson.homeip.net/sarge/linux-2.6.12/
Peut-être est-ce à essayer ?

Bon, je t’ai recompilé e1000-7.3.15 pour un noyau 2.6.12 sous gcc-3.3, tu le trouveras sous

http://boisson.homeip.net/sarge/e1000-gcc3.3.ko

Renommes le en e1000.ko et fais un insmod de ce module sous ton noyau 2.6.12-1-686 (qui est ton noyau si j’ai bien compris) et donnes les messages d’erreur.

Hey!

Merci à vous pour ces infos!

Je viens donc d’essayer le nouveau driver e1000 compilé par fran.b.
J’ai donc au préalable été dans le répertoire /lib/modules/2.6.12.6-686/kernel/drivers/net/e1000, puis j’ai effectué un rmmod e1000.ko pour enlever celui déjà présent.

En effectuant un “lsmod” derrière, on voit bien que celui-ci n’est plus chargé.
Je me suis ensuite rendu dans le dossier temporaire (/tmp/e1000) dans lequel j’ai copié et renommé le driver e1000-gcc3.3.ko en e1000.ko en effectuant “cp e1000-gcc3.3.ko /tmp/e100/e1000.ko”.

De la, j’ai effectué un “insmod lib/modules/2.6.12.6-686/kernel/drivers/net/e1000/e1000.ko”

On me retourne le message suivant:

Intel® PRO/1000 Network driver - version6.0.54-k2
Copyright © 1999-2004 Intel Corporation

Le driver se re-charge donc bien, mais malgré ma conf du fichier interfaces (citée ci dessus dans les premiers posts), et le redémarrage du réseau, rien n’y fait…

Y at’il une manipulation que j’ai omise? ou que j’ai mal faite :question:

Mystère…mais je sens qu’on approche du but!

Si quelqu’un peut d’avantage éclaircir cette zone d’ombre, je lui en serait reconnaissant :wink:

gcc est le compilateur C, j’ai pris ici la version 3.3 qui est la version de la sarge. La commande modinfo permet de savoir avec quel compilateur ton noyau est compilé, ou encore bêtement strings:

[quote]$ strings /lib/modules/2.6.14.3/kernel/drivers/net/e1000/e1000.ko | grep gcc
vermagic=2.6.14.3 686 gcc-2.95[/quote]

Ok, merci pour ces infos, j’ai donc bien vérifié si c’est ton driver compilé que j’ai installé en exécutabt modinfo,
et j’obtiens vermagic=2.6.12.6-686 SMP preempr 686 gcc-3.3, idem pour le noyau.

Je suppose donc que c’est bien le bon driver, et le bon compilateur, et que, par conséquent, il doit être compatible avec le noyau.

Cependant, toujours pas d’interface eth0 alors que le module se charge bien avec l’OS au boot, même en exécutant ifup eth0…
Je ne sais plus quoi faire, mais un message d’erreur au démarrage me titille: " hw-random can’t be loaded : RNG not detected"

D’apres mon humble connaissance, il s’agit d’un générateur de nombre pour le matériel qui ne se charge pas… Un rapport avec la carte mère ou la carte réseau?? Any Idea?? No se…

Peut - être que la source de mon problème est ici, je ne veux pas changer de noyau, il existe forcément un noyau compatible pour un pentium D 3ghz accompagné d’une carte 3ware 8006-2 et d’un controlleur ethernet intel@82573V…ou alors que je sois transformé sur le champ en windobe! :open_mouth:

Ah oui! sinon lorsque j’effectue un ifconfig -a , j’obtiens quand même un interface que je n’avais pas avant : sit0 Lienh encap:IPV6 dans IPV4.
Est-ce une sorte de “bridge”, encapsulation d’IPV6 en IPV4, qu’en fait-on?

J’ai essayé d’assigner une adresse à sit0 et effectuer des ping derrière, mais à part sepinger elle même, cette interface, n’est pas configurable comme eth0… Kézako?

Bon…coment dire… sur ce sujet je tourne en rond malgré nos efforts communs!!

Ca me ferait mal davoir à installer une autre carte réseau juste parce que cette '(-"‘é&"’-è!!! de carte intel@82573L et son controlleur intel@82573V ne sont pas reconnus, malgré le fait que j’ai le bon driver e1000…

Même la compilation de fran.b n’a pas réussi, je n’ai pas eu de suites la dessus… mais je n’abandonne pas si facilement le sujet!!!

Je me permet donc de remettre ce post en haut du forum, non pas par harcèlement, mais plutôt en désespoir de cause :frowning:
Avis aux amateurs!! :wink:

[quote=“fullmetalucard”]/lib/modules/2.6.12.6-686/kernel/drivers/net/e1000, puis j’ai effectué un rmmod e1000.ko pour enlever celui déjà présent.
[/quote]
Ouf, un peu violent, un

mv e1000.ko e11000.ko.old

aurait suffit.
[/quote]
En effectuant un “lsmod” derrière, on voit bien que celui-ci n’est plus chargé.
Je me suis ensuite rendu dans le dossier temporaire (/tmp/e1000) dans lequel j’ai copié et renommé le driver e1000-gcc3.3.ko en e1000.ko en effectuant “cp e1000-gcc3.3.ko /tmp/e100/e1000.ko”.

De la, j’ai effectué un “insmod lib/modules/2.6.12.6-686/kernel/drivers/net/e1000/e1000.ko”
[/quote]

Humm, à vue de nez, tu n’as pas chargé le bon module, tu aurais du faire

insmod /tmp/e100/e1000.ko

Par contre, ça signifie que ton noyau porte le nom de 2.6.12.6-686
Le module que j’ai fait ne devrait pas marcher, il devrait gueuler au chargement.
[/quote]
On me retourne le message suivant:

Intel® PRO/1000 Network driver - version6.0.54-k2
Copyright © 1999-2004 Intel Corporation

Le driver se re-charge donc bien, mais malgré ma conf du fichier interfaces (citée ci dessus dans les premiers posts), et le redémarrage du réseau, rien n’y fait…
[/quote]
En fait tu devrais faire pendant le chargement sur une autre console un

tail -qf /var/log/syslog

Tu verras mieux ce qu’il se passe.

Peux tu me donner le résultat de
$ strings | grep gcc
pour être sur de la version de gcc?

Tu peux essayer ce module http://boisson.homeip.net/sarge/e1000-2.6.12-6-686-gcc-3.3.ko qui correspond mieux à ton noyau. Attention, j’ai du me débrouiller avec ce que j’ai car je n’ai pas les headers exact du noyau. A priori, si la version de gcc est la bonne, ça devrait marcher.

Essaye par un

rmmod e1000.ko

insmod e1000-2.6.12-6-686-gcc-3.3.ko

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: