je dispose de huit interfaces réseau gigabit sur un serveur, sur deux carte distinctes (mais de fabrique identique) bien reconnues par le kernel. La première carte réseau fonctionne parfaitement. la seconde me pose des problemes sur cetains ports qui sont ( en apparence aléatoirement choisi pour ne plus fonctionner correctement ).
Historiquement j’ai utilisé un broadcom qui ne fonctionnait pas correctement, je l’ai désactivé au bios puis remplacé par la même carte que la première.
initialement UDEV à gardé la config de la broadcom et ajouter à la suite les nouveau ports (eth9,10,11,12), j’ai du éditer le fichier 70-persitent-net.rules, afin de supprimer les lignes en trop, et de renommer les interfaces de la nouvelle carte en eth4,5,6,7.
depuis lors, certains interface fonctionnent mal sur la seconde carte. puis se mettent a fonctionné, jusqu’a ce que je me rende compte qu’un autre interface en est victime… je ne comprend pas du tout d’ou ca viens.
Les routes sont bon…
L’ifconfig ne révèle pas d’interface fantôme, et montre bien l’interface comme étant UP… mais:
eth5 Link encap:Ethernet HWaddr 00:1b:21:41:ff:a5
inet adr:172.16.1.1 Bcast:172.16.1.255 Masque:255.255.255.0
adr inet6: fe80::21b:21ff:fe41:ffa5/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 B) TX bytes:1098 (1.0 KiB)
Mémoire:de3e0000-de400000
pas de dialogue du tout. impossible de pinguer un noeud externe, et ne répond pas de l’extérieur, par contre il réagit très bien au ping interne de l’interface en elle même.
Je ne connais pas la signification de cet attribut dev_id. Faut dire qu’udev n’est pas ma spécialité, je l’évite autant que possible… Se pourrait-il que les interfaces eth0 à eth3 de la première carte aient été configurées avec une version antérieure d’udev qui n’utilisait pas cet attribut, d’où les différences ? En comparant avec une de mes machines, je vois que ma ligne pour eth0, qui a dû être créée lors de l’installation de la version précédente Etch, contient encore moins de paramètres. Si je la commente, udev la recrée avec les mêmes paramètres que tes interfaces eth4-eth7.
Pour réinitialiser le fichier de règles udev, il suffit de le supprimer, et udev le reconstruira au prochain démarrage. Mais attention, les noms des interfaces pourront être différents de ce qu’il étaient auparavant, en fonction de l’ordre de détection.
Cependant je doute qu’udev soit en cause dans le problème décrit. Sauf erreur, son rôle se borne à détecter les périphériques présents, charger les pilotes correspondants et nommer les interfaces, ce qu’il semble faire correctement.
Qu’entends-tu exactement par “numéro de device” ?
Concernant l’absence de réception, je n’ai pas d’idée mais je pense à quelques vérifications.
A quel moment une interface donnée se met à mal fonctionner ou à refonctionner ? Au démarrage ou n’importe quand ?
Quel est l’état du port du switch en face de l’interface qui fonctionne mal ? Des deux côtés du câble, les voyants “liaison” sont-ils allumés, les voyants “activité” clignotent-ils en cas d’émission et réception (même si l’interface dit ne rien recevoir) ?
Quand l’interface fonctionne mal, les paquets censés être émis sont-ils bien reçus par le(s) destinataires ? (tester avec un broadcast ARP, vérifier avec tcpdump ou wireshark)
Y a-t-il des messages suspects dans les logs du noyau (dmesg) concernant ces interfaces ?
Quel est le type de contrôleur ethernet et le pilote ?
J’observe qu’ifconfig ne mentionne pas de numéro d’interruption, est-ce normal (comparer avec les autres interfaces) ?
Par numero de device, j’entend l’identification du device qui pourrait allez à la place du “0x0” ({dev_id}).
J’ai supprimé le ATTR{dev_id]=“0x0” de toute les interfaces… et rebooté, tout fonctionne bien quand même.
sauf mon petit interface eth5…
J’ai essayé de supprimer le fichier de règle UDEV pour le net uniquement… et au demarrage suivant le fichier n’a pas été recréé, et donc plus d’interface réseaux disponibles… heureusement que j’en avait une copie de sauvegarde.
aucune idée, la dernière foi c’était les eth1, puis2, puis apres moulte et moultes essais sans succès, le week end passe, et hop ca marche…non comment. hier hop eth5 marche plus.
le switch fonctionne bien je ping les noeuds du même réseau entre eux, le port précis est actif, mais en affichage continue, pas de scintillement donc pas d’activité(quelque soit l’endroit ou je le branche sur le switch). la carte elle même signale qu’un lien est actif en gigabit… mais pas de scintillement.
l’interface ne fonctionne toujours pas du tout, c’est stabilisé au moins.
j’ai un seveur 2003, avec un dhcp sur ce même réseau, les clients renouvelle leurs bail et s’y connectent parfaitement bien.
Le pilote est inclus au noyaux, et semble avoir été configuré à l"installation du systeme (pour la première carte). il utilise le module noyau “IGB”.
en effet je n’ai pas relevé certains détails, mais il se trouve qu’il y a bien un souci. les zone de mémoire ne se chevauchent pas, donc c’est pas ca. Je ne vois pas s’afficher l’interruption sur aucun des interfaces.
(interface non raccordé au réseau physiqpuement)
eth3 Link encap:Ethernet HWaddr 00:xx:xx:xx:f1:xx
inet adr:10.0.x.x Bcast:10.0.x.x Masque:255.255.255.248 UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Mémoire:defe0000-df000000
l’adresse ipv6 de l’interace eth5 est vide, comment faire pour en générer une vu qu’apparement toute les autres qui fonctionnent en on une ?
Est ce que le fait que l’interface ne détecte pas le lien veux dire que le ports de la carte est HS ? (voir dmesg plus haut : link not ready… mé si!!! mé si!!!..)
bon… bha g trouvé, c’était pas évident d’éplucher tout ca mais bon l’erreur était vraiment bénigne:
en fait il fallait trouver les MAC de chaque interface dans ifconfig, et mettre en comparaison avec le contnenu de UDEV. une piste aussi se trouve dans le renommage des interfaces dans dmesg.
dans mon cas l’interface eth5 était monté dans udev sur l’adresse mac de l’interface eth7 et vice versa.
J’ai déplugué le câble sur eth5 et pluguer sur eth7 pour contrôler mon pronostique.
puis réinitialiser l’interface (ifdown/ifup)
pis tester avec des ping de contrôle… de l’intérieur et de l’extérieur… ca marche…
en même temps … quelle tristesse…
CONCLUSION:
Lorsque vous remplacez une carte défectueuse, contôlez vos fichiers udev au niveau des adresses mac / interfaces après installation d’une nouvelle carte. les ports ne sont pas forcément installés dans le bon ordre dans le fichier udev à la détection.