Forum Linux.général Pb de carte Realtek PCI Express Gigabit Ethernet controller

Posté par .
Étiquettes : aucune
-1
28
août
2011

Bonjour,

Je viens de finir de monter un PC avec une CM Asrock 970 Extreme4 avec controleur réseau intégré.
Tout fonctionne bien sauf que ... je me suis aperçu un peu tard qu'il y avait un pb avec ce contrôleur, à cause d'un driver erronné (8169 au lieu de 8168).
Différents post parlent de ça.
J'ai donc téléchargé le driver qui va bien, et je l'ai compilé / installé avec succès.
Et dans le fichier blacklist, j'ai :

blacklist r8169
blacklist 8139cp

Après un redémarrage, le controleur n'est toujours pas actif.
Voici quelques infos :

lspci | grep -i eth
04:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

La première ligne se rapporte à une ancienne carte que j'ai installée et qui fonctionne correctement, et grâce à laquelle je peux demander de l'aide wink

$ lsmod | grep 81
r8168 185453 0 
8139too 23208 0 

lsmod montre que c'est bien le module adhoc qui est chargé.

Et nm-tool indique que eth0 est unavailable :

$ nm-tool
NetworkManager Tool
State: connected
- Device: eth1 [Auto eth1] ----------------------------------------------------
 Type: Wired
 Driver: 8139too
 State: connected
 Default: yes
 HW Address: 00:08:A1:71:72:ED
 Capabilities:
 Carrier Detect: yes
 Speed: 100 Mb/s
 Wired Properties
 Carrier: on
 IPv4 Settings:
 Address: 192.168.0.11
 Prefix: 24 (255.255.255.0)
 Gateway: 192.168.0.254
 DNS: 212.27.40.240
 DNS: 212.27.40.241
- Device: eth0 -----------------------------------------------------------------
 Type: Wired
 Driver: r8168
 State: unavailable
 Default: no
 HW Address: 00:25:22:DE:4E:26
 Capabilities:
 Carrier Detect: yes
 Speed: 100 Mb/s
 Wired Properties
 Carrier: off

Arrivé là... je ne sais plus trop quoi faire pour que ça tombe en marche... Et donc votre aide sera la bienvenue.
Merci d'avance, et bon week-end.

J-L

  • # tests à faire

    Posté par . Évalué à 1.

    lshw pour verifier quel module est chargé sur les cartes reseaux.

    sinon quel etait le probleme qui te force à installer un autre module ?

    en effet, parfois un seul module gere plusieurs modeles de cartes, et comme tu commences par dire que tout fonctionne, il ne faut pas considerer que c'est un probleme d'avoir le module 8169 alors que la carte est 8168.

  • # initrd ?

    Posté par (site web personnel) . Évalué à 0.

    J'ai ce driver, j'ai pas réussi a le faire fonctionner avec le kernel 3.0 mais avec les 2.6.x ça fonctionne nikel.

    Si tu a une Debian ou Ubuntu il faut reconstruire le initrd sinon ça ne fonctionne pas.

    ce lien est m'a été trés utile : Installation of r8168 network driver

    • [^] # Re: initrd ?

      Posté par . Évalué à 1.

      pour reconstruire le initrd, sous debian et ubuntu, c'est facile

      update-initramfs -u -k all

      dans le tuto ils parlent d'ajouter le r8168 dans le fichier module pour qu'il se charge au boot AVANT le reste,
      ca peut etre une astuce, meme si je ne vois pas l'interet pour une carte reseau qui est activée bien apres le boot.

      • [^] # Re: initrd ?

        Posté par (site web personnel) . Évalué à -2.

        Oui, j'ai pas bien compris le pourquoi non plus, j'ai Debian Squeeze, ceci fonctionne après avoir compilé le driver :

        depmod -a
        echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf
        echo "r8168" >> /etc/initramfs-tools/modules
        update-initramfs -v -u -k `uname -r`
        
        
        • [^] # Re: initrd ?

          Posté par . Évalué à 2.

          peut-etre parce que le r8169 est chargé dans l'initd (initramfs en fait)

          et que le fait d'ajouter le r8168 dedans fait qu'il va se charger avant.

          ca doit marcher aussi en blacklistant le r8169 dans le initrd.

        • [^] # Re: initrd ?

          Posté par . Évalué à 0.

          Bonsoir,

          Merci à tous.

          J'ai tenté l'opération indiquée ci-dessus.
          Mais ça ne fonctionne toujours pas.

          Voici ce que donne lshw :
          >

          *-network
          description: Ethernet interface
          product: RTL8111/8168B PCI Express Gigabit Ethernet controller
          vendor: Realtek Semiconductor Co., Ltd.
          physical id: 0
          bus info: pci@.&checktime(0000,07,00,':').0
          logical name: eth0
          version: 06
          serial: 00:25:22:de:4e:26
          size: 100Mbit/s
          capacity: 1Gbit/s
          width: 64 bits
          clock: 33MHz
          capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
          configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.025.00-NAPI duplex=half latency=0 link=no multicast=yes port=twisted pair speed=100Mbit/s
          resources: irq:72 ioport:b000(size=256) memory:d0004000-d0004fff memory:d0000000-d0003fff

          Je pense que le module est chargé... mais...

          Il faudrait peut-être que je tente un essai avec une autre distrib n'utilisant pas la même version du kernel.

          Merci de votre aide.

          J-L

          • [^] # Re: initrd ?

            Posté par . Évalué à 2.

            configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.025.00-NAPI duplex=half latency=0 link=no multicast=yes port=twisted pair speed=100Mbit/s
            resources: irq:72 ioport:b000(size=256) memory:d0004000-d0004fff memory:d0000000-d0003fff

            Je pense que le module est chargé... mais...

            Oui

            Il faudrait peut-être que je tente un essai avec une autre distrib n'utilisant pas la même version du kernel.

            avec une autre distrib, meme kernel ou pas
            car parfois les distribs patchent (ou pas) le kernel pour faire fonctionner d'autres trucs à coté.

            • [^] # Re: initrd ?

              Posté par . Évalué à 1.

              Bon, pas mieux avec d'autres distrib.

              J'ai repris les étapes une à une, et j'en suis toujours au même point...

              > sudo lshw -c network
               *-network 
               description: Ethernet interface
               product: RTL-8139/8139C/8139C+
               vendor: Realtek Semiconductor Co., Ltd.
               physical id: 5
               bus info: pci@.&checktime(0000,04,05,':').0
               logical name: eth1
               version: 10
               serial: 00:08:a1:71:72:ed
               size: 100Mbit/s
               capacity: 100Mbit/s
               width: 32 bits
               clock: 33MHz
               capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
               configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=full ip=192.168.0.11 latency=32 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=100Mbit/s
               resources: irq:20 ioport:d000(size=256) memory:fe700000-fe7000ff
               *-network
               description: Ethernet interface
               product: RTL8111/8168B PCI Express Gigabit Ethernet controller
               vendor: Realtek Semiconductor Co., Ltd.
               physical id: 0
               bus info: pci@.&checktime(0000,07,00,':').0
               logical name: eth0
               version: 06
               serial: 00:25:22:de:4e:26
               size: 100Mbit/s
               capacity: 1Gbit/s
               width: 64 bits
               clock: 33MHz
               capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
               configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.022.00-NAPI duplex=half latency=0 link=no multicast=yes port=twisted pair speed=100Mbit/s
               resources: irq:72 ioport:b000(size=256) memory:d0004000-d0004fff memory:d0000000-d0003fff
              > lsmod | grep 81
              8139too 23208 0 
              8139cp 22496 0 
              r8168 160830 0 
              > dmesg |grep eth0
              [ 2.378172] eth0: Identified chip type is 'RTL8168F/8111F'.
              [ 11.738515] r8168: eth0: link down
              [ 11.738764] ADDRCONF(NETDEV_UP): eth0: link is not ready
              
              

              C'est cette info (confortée par une recherche sur internet) qui m'a fait penser que c'est le module r8168 qu'il faut charger.

              Je crois que je vais laisser comme ça pour ce soir... merci encore de votre aide.

              J-L

              • [^] # Re: initrd ?

                Posté par . Évalué à 3.

                dmesg |grep eth0
                [ 2.378172] eth0: Identified chip type is 'RTL8168F/8111F'.
                [ 11.738515] r8168: eth0: link down
                [ 11.738764] ADDRCONF(NETDEV_UP): eth0: link is not ready

                la carte est chargée, mais le cable n'est pas branché ou la negotiation ne se fait pas bien.

                recemment j'ai eu un probleme de ce genre quand j'ai voulu brancher une machine equipé Gigabit en remplacement d'une machine 100Mbps.

                au final c'etait le cable entre la machine et le mur qui etait pourri.
                c'etait suffisant pour le 100Mbps, mais pas bon pour le 1Gbps, du coup le lien ne faisait que monter/descendre...

                j'ai changé le cable, et ca roule

                • [^] # Re: initrd ?

                  Posté par . Évalué à 0.

                  J'ai trouvé un autre cable chez moi... pas mieux. Rien ne se passe.

                  Je crois que je vais laisser tomber ce problème et utiliser ma vieille carte réseau en attendant mieux, voire un test avec une VM Win$ :(

                  Merci de votre aide, et bonne journée... gaffe aux orages !

                  J-L

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.