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

Posté par .
Tags : aucun
-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 (page perso) . É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 (page perso) . É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@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@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@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 à ceux qui les ont postés. Nous n'en sommes pas responsables.