# 2 carte réseau sur le même PC [résolu]

## daark

salut 

kelk'un sait comment configurer gentoo pour avoir 2 carte réseau sur le même PC?

car kan j'ai mis ma deuxième carte réseau la première n'a plus été reconnu et maintenant j'arrive plus à configurer ni l'une ni l'autre!!

merciLast edited by daark on Thu Jul 17, 2003 11:15 am; edited 1 time in total

----------

## ganjo

cest chelou

un ifconfig -a donne quoi ?

----------

## ben

Pour avoir plusieurs carte réseau sur le meme PC, il faut avoir tous les modules nécessaire, par ex 2x3COM = 3c59x, 1x3COM + 1xrealtek = 3c59x + rt8138too.

Il faut ensuite éditer /etc/conf.d/net pour tenir compte de toutes les cartes, et il faut copier /etc/init.d/net.eth0 ds /etc/init.d/net.eth1. Ensuite rc-update add net.eth1 deafult.

Maintenant, si cela ne fonctionne pas, il faudrait monter le résultat de dmesg, essayer modprobe 3c59x (si c'est une 3COM) et montrer les message d'erreur.

Certaine configuration se partage mal les interruptions de façon automatique, Peut-être que les forcer dans le BIOS est une bonne idée. Dans pas mal de cas, APIC pose des proble de ce genre, alors soit boot apic=off ou eliminier APIC dans le BIOS. APIC pour qqch comme Automatic Programmable Interrups Configuration, et non ACPI successeur de APM

Ben

----------

## Crany

Nous avons reussi a reconfigurer la premiere carte reseau.

En revenche, je suis interresse pour savoir comment faire fonctionner 2 cartes reseaux sur le meme PC. Plus precisement, je desire faire de mon ordi une passerelle entre 2 reseaux.

Comment charger les modules dont tu m'as parle: j'ai po tout compris...

----------

## ben

Pour faire fonctionner 2 NIC sur un PC, il faut suivvre ce que j'ai dit plus haut: c-à-dire être sur que le kernel supporte les-dites  cartes réseaux. Ensuite si ce support est modulaire, il faut charger les modules avec modprobe nomdumodulecorrespondantalacartereseau

une fois que ces modules sont chargés sans erreurs, il sera temps de donner une adresse à chacune des cartes.

Comme dit, il serait interessant de connaitre le résultat de ifconfig -a

Ensuite pour faire une passerelle de ce PC, il s'agit peut-être de configurer le kernel pour iptables, mais à ce moment du récit, c'est une autre histoire.

Ben

----------

## Crany

voila pour le ifconfig -a

```

eth0      Lien encap:Ethernet  HWaddr 00:04:61:48:1D:18  

          inet adr:192.168.16.126  Bcast:192.168.16.255  Masque:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:4713 errors:0 dropped:0 overruns:0 frame:0

          TX packets:3552 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:100 

          RX bytes:4560024 (4.3 Mb)  TX bytes:333898 (326.0 Kb)

          Interruption:11 

lo        Lien encap:Boucle locale  

          inet adr:127.0.0.1  Masque:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:4 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:0 

          RX bytes:200 (200.0 b)  TX bytes:200 (200.0 b)

```

Pour ce qui est du module a charger, c'est la que le bas blesse: elles sont cachees a quel endroit ces bestiolees???

----------

## Dom

A condition que tu aies bien sélectionnés les modules correspondant à tes cartes réseaux durant la configuration du noyau, ils doivent se trouver dans /lib/modules/nom_du_noyau/kernel/drivers/net/. Les modules ont un nom qui finissent par .o. Lorsque tu fais modprobe il suffit que tu spécifies le nom du module sans le ".o".

Par exemple, pour ma carte réseau (une Realtek), je dois faire "modproble 8139too".

----------

## Crany

mon 8139too.o se trouve dans /usr/src/linux/drivers/net et pas la ou tu m'as dit.

Et le modprobe ne marche po   :Confused: 

----------

## Dom

Je pense que c'est parce que tu n'as pas installé les modules lors de la compilation du noyau (make modules_install). Normalement les modules se trouvent dans /lib/modules/.

Est-ce que tu connais les modèles de tes cartes ? Je t'ai juste donné un exemple avec le 8139too, ils existe plein d'autres modules.

----------

## ben

Alors sois tu n'ae pas fait make modules_install lors de la compilation du noyau, sois il faut faire un depmod -ae

En passant que donne un lsmod ?

et modprobe 8139too ?

Est-ce que les 2 cartes sont des realteks, ou de quell marques sont-elles

Que donne cat /proc/pci

Ben

----------

## Crany

bon ben je teste avec une autre carte reseau

Je suis reparti dans la compil du noyau   :Confused: 

Merci de votre aide

----------

## Crany

J'ai recompile mon noyau (avec les modules qui vont bien):

J'ai une carte nforce-net : marche tres bien !!!   :Smile: 

J'ai une carte intel gigabit : marche pas bien !!!   :Sad: 

dans /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net  :

nvnet.o : le module de la premiere

dummy.o : un truc que je sais pas ce que c'est

voila !

----------

## Dom

Je suppose que la carte Gigabit a également besoin d'un module que tu n'as probablement pas compilé (je ne sais pas si elle est supportée d'ailleurs).

----------

## Crany

J'ai bien choisi le module de ma carte gigabit dans la config du noyau  que j'ai ensuite recompile.

Il s'agit du module :

Intel(R) PRO/1000 Gigabit Ethernet support

et je n'ai toujours pas le modules dans:

 /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net

----------

## Dom

Ce module s'appelle e1000.o. Essaye de faire un modprobe e1000, normalement ça devrait fonctionner (le module a peut-être été installé ailleurs).

----------

## Crany

J'ai trouve le module dont tu m'as parle dans :

/usr/src/linux/drivers/net/e1000

je fais un modprobe e1000 dans ce repertoire et ....

modprobe: Can't locate module e1000.o

Alors que le e1000.o est bien present !!!

C'etait la blague

----------

## Dom

Là je sais pas trop, essaye de faire depmod -ae comme le proposait ben (je sais pas si ça va changer quelque chose, mais tu ne risques rien). Sinon essaie de spécifier le chemin complet du module dans la commande modprobe :

```
modprobe /usr/src/linux/drivers/net/e1000/e1000.o
```

----------

## Crany

Apres le depmod -ae, il se passe de nouvelles choses

Je fais ensuite le fameux modprobe et voila:

/lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o: couldn't find the kernel version the module was compiled for

/lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o: insmod /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o failed

/lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o: insmod e1000 failed

voila voila !

----------

## Dom

J'ai dit une connerie : ton module e1000 était dans /usr/src/linux alors qu'il doit être dans /lib/modules. Après le modprobe, les erreurs montrent que le module était supposé se trouver dans /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/. Est-ce que c'est le cas (d'après ce que tu as dit tout à l'heure il n'y est pas) ?

Sinon faudrait peut-être voir du côté de la commande modules-update (ou update-modules).

----------

## Crany

Je viens de faire le modules-update et voila :

```

depmod: *** Unresolved symbols in /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o

depmod: *** Unresolved symbols in /lib/modules/2.4.20-gentoo-r5/misc/svgalib_helper.o

```

----------

## yoyo

Après avoir sélectionner le module e1000.o dans ton make menuconfig, tu as bien fait "make modules" avant "make modules_install" ???

Normalement, ton module doit se trouver dans /lib/modules/....

Donc, soit il n'a pas été compilé, soit il n'y a pas été mis.

Tu utilises bien le noyau "2.4.20-gentoo-r5" comme noyau courant ??

----------

## Dom

Ben apparemment c'est bon, il y a bien un fichier /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o car modules-update dit qu'il contient des symboles "non résolus". Le module doit donc être correctement installé.

Par contre, il doit y avoir un problème de dépendances qui empèchent ce module de se charger. Est-ce que tu pourrais faire :

```
insmod /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o
```

et poster les messages d'erreurs stp (à moins que le fichier n'existe pas, et dans ce cas je ne comprend plus rien  :Shocked:  ).

----------

## yoyo

Je suis d'accord avec toi Dom. Le module à l'air d'être présent dans le répertoire /lib/modules.

Cependant,

 *Crany wrote:*   

> /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o: couldn't find the kernel version the module was compiled for

 

me fait penser que soit il n'a pas été compilé pour le noyau courant (doù ma question sur le "2.4.20-gentoo-r5"), soit il a mal été compilé (je dirai au pif qu'il manque un "make dep && make clean" avant le "make modules modules_install", d'où le "Unresolved symbols").

----------

## ganjo

pour le couldn't find the kernel version the module was compiled for 

tu peux toujours essayer de compiler sans Loadable Module Support/Set version information

de plus cette option a tendance a etre chiante

----------

## ben

D-accord avec Yoyo,.

Si cela ne suffit pas, il faudra alors compiler le kernel avec l'option controle de la version des modules (assez au debut) desactivee. Comme e1000 est assez nouveau, cela peut venir de la

Ben

----------

## Crany

alors, me revoila !

le resultat de la commande donne:

```

root@mithrandir --> insmod /lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o

/lib/modules/2.4.20-gentoo-r5/kernel/drivers/net/e1000.o: couldn't find the kernel version the module was compiled for

```

Pour ce qui est de la compi, j'ai bien tape:

```

make dep && make clean bzImage modules modules_install

```

Normalement, ca devrait passer...

----------

## Crany

 *ben wrote:*   

> Si cela ne suffit pas, il faudra alors compiler le kernel avec l'option controle de la version des modules (assez au debut) desactivee. Comme e1000 est assez nouveau, cela peut venir de la
> 
> 

 

Si je te suis bien, je n'ai qu'a essayer de recompiler le noyau avec ton option desactivee et y'a des chances que ca marche?

----------

## ganjo

ces possible, ca voudrai dire que le prob provient dun makefile foireux

LE fait de desactiver cet option permet de ne pas verifier le numero de version du kernel qui a ete utilisé pour la compilation du module, bref ca te permet de placer des modules compiler pour dautres kernel directement sur ton systeme, cest tres pratique

----------

## Crany

aquelle faut-il que je desactive?

```

 [*] Enable loadable module support

 [*]   Set version information on all module symbols 

 [*]   Kernel module loader 

```

----------

## ganjo

la seconde "set version ..."

----------

## ben

oui, il me semble.

l'option en question est celle que Ganjo à décrit plus clairement que moi. En plus ma petite fille ma exploser galeon entre temps. Arrgh ces petit schtroumpfs  :Wink: 

Maintenant, si cela peut aider, tu peut nettoyer tes sources avec:

cp /usr/src/linux/.config /root

make mrproper

cp /root/.config /usr/src/linux/

make oldconfig

make dep && make clean && make bzImage modules modules_install

D'un autre coté, tu peux aussi essayé de compiler e1000 en dur (Y à la place de M)

A+

Ben

----------

## ben

oups, répondu trop tard

Désolé

----------

## Crany

Ca y'est !!! Ca marche !!!

Merci beaucoup les gens !

J'ai maintenant 2 cartes reseaux   :Very Happy: 

----------

## Dom

<mode relou>

Une fois que tu as eu la solution, ça serait bien si tu rajoutais "[résolu]" à la fin du titre du thread (en éditant ton premier message) stp. Ca facilite beaucoup la lecture du forum.

Et tant que j'y suis, puisque je suis super chiant, est-ce que tu pourrais jeter un coup d'oeil à ce thread qui définit une nouvelle façon de formuler les sujets, pour plus de clarté : Utilisation du Forum : Suggestions pour exprimer le sujet

En gros, l'idéal serait de formuler comme ça :

[Catégorie] objet [résolu]

Merci ! 

</mode relou>

----------

## Crany

<mode rebelle>

C'est pas de moi le post original   :Razz: 

Et j'ai deja lu le post; j'essaie d'ailleurs de l'appliquer.

</mode rebelle>

----------

## Dom

Désolé   :Embarassed: 

Je m'adressais donc au créateur du thread (je ne sais pas s'il a eu la réponse qu'il attendait)   :Wink: 

----------

## Crany

Ben en fait, c'est la reponse qu'il attendait vu qu'il avait poste le thread pour moi en me voyant dans la galere la plus totale.

Des qu'il revient, je lui dit de mettre le resolu   :Wink: 

----------

