Driver ethernet realtek RTL8111/8168B

Debian Wheezy 64 bits kernel 3.2.0-4-amd64
Carte mère : Gygabyte GA-Z68XP-UD3
Interface réseau : 08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

Bonjour à tous,

Mon réseau filaire apparaît comme “non géré” sous Debian. :think:
Je me souviens avoir compilé le driver constructeur, puisque celui par défaut ne fonctionnait pas.

En bootant un liveCD de Linux Mint Olivia, je remarque que mon interface réseau est pleinement prise en charge. :038
Je voudrais donc connaître (et installer) ce fabuleux driver sur ma Debian.

Merci de votre aide

Sous Mint :

$ lsmod Module Size Used by dm_crypt 22321 0 coretemp 13131 0 kvm_intel 126842 0 kvm 376505 1 kvm_intel snd_usb_audio 114886 1 snd_usbmidi_lib 24210 1 snd_usb_audio snd_hda_codec_hdmi 36185 6 snd_hda_codec_realtek 63791 1 snd_hda_intel 38307 3 parport_pc 27504 0 libkmod: ERROR ../libkmod/libkmod-module.c:1802 kmod_module_get_holders: could not open '/sys/module/snd_hda_codec/holders': No such file or directory snd_hda_codec 117580 3 snd_hwdep 13272 2 snd_usb_audio,snd_hda_codec snd_pcm 80890 4 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel snd_page_alloc 14230 2 snd_pcm,snd_hda_intel snd_seq_midi 13132 0 ppdev 12817 0 snd_seq_midi_event 14475 1 snd_seq_midi aesni_intel 18156 0 snd_rawmidi 25114 2 snd_usbmidi_lib,snd_seq_midi aes_i586 16995 1 aesni_intel xts 12749 1 aesni_intel lrw 13057 1 aesni_intel gf128mul 14503 2 lrw,xts ablk_helper 13357 1 aesni_intel cryptd 15613 1 ablk_helper snd_seq 51280 2 snd_seq_midi_event,snd_seq_midi lp 13299 0 parport 40753 3 lp,ppdev,parport_pc pwc 72744 0 snd_seq_device 14137 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 24411 2 snd_pcm,snd_seq videobuf2_vmalloc 12920 1 pwc videobuf2_memops 13042 1 videobuf2_vmalloc videobuf2_core 39161 1 pwc joydev 17097 0 videodev 95806 2 pwc,videobuf2_core dm_multipath 22402 0 gpio_ich 13236 0 snd 56485 20 snd_hda_codec_realtek,snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device soundcore 12600 1 snd serio_raw 13031 0 bnep 17669 2 rfcomm 37420 0 mac_hid 13037 0 mei 36197 0 bluetooth 202069 10 bnep,rfcomm shpchp 32129 0 microcode 18286 0 lpc_ich 16925 0 scsi_dh 14427 1 dm_multipath binfmt_misc 17260 1 squashfs 35834 1 overlayfs 27279 1 nls_iso8859_1 12617 2 dm_raid45 75357 0 xor 26062 1 dm_raid45 dm_mirror 21621 0 dm_region_hash 16012 1 dm_mirror dm_log 18137 3 dm_region_hash,dm_mirror,dm_raid45 usb_storage 47684 2 pata_acpi 12886 0 hid_logitech 22081 0 ff_memless 12877 1 hid_logitech hid_generic 12484 0 usbhid 41805 1 hid_logitech hid 82666 3 hid_generic,hid_logitech,usbhid nouveau 834513 1 radeon 870822 3 firewire_ohci 35292 0 i915 535507 1 firewire_core 61718 1 firewire_ohci mxm_wmi 12893 1 nouveau crc_itu_t 12627 1 firewire_core wmi 18590 2 mxm_wmi,nouveau ttm 71289 2 radeon,nouveau r8169 61531 0 video 18894 2 i915,nouveau i2c_algo_bit 13197 3 i915,radeon,nouveau drm_kms_helper 47545 3 i915,radeon,nouveau ahci 25507 2 libahci 26108 1 ahci pata_jmicron 12662 1 drm 228750 9 ttm,i915,drm_kms_helper,radeon,nouveau

Tu veux dire dans l’applet de NetworkManager, non ?
Si l’interface réseau filaire apparaît, c’est qu’elle est gérée (plus ou moins bien) par le noyau. Sinon, elle n’apparaîtrait pas du tout. A vérifier avec [mono]/sbin/ifconfig -a[/mono].

Apparemment certaines variantes de ces cartes Realtek ethernet gigabit ne sont pas très bien gérées par le pilote r8169 du noyau ; certaines ont besoin de firmwares spécifiques inclus dans le paquet non libre firmware-realtek. Parfois il faut installer et utiliser le pilote r8168 fourni par Realtek à la place de celui du noyau.

En général, une interface est “non gérée” par NetworkManager parce qu’elle figure quelque part dans le fichier /etc/network/interfaces, et par défaut NetworkManager en déduit que l’interface est gérée par ifupdown et n’y touche pas.

Oui, c’est NetworkManager qui m’affiche “non géré”.

Elle est bien gérée par ifupdown.
Oui, je configure via /etc/network/interfaces.
MAIS je dois restaurer un backup si j’ai le malheur de brancher un dongle WIFI (problèmes de résolution DNS - pas réussi à résoudre).

Bref, config très instable actuellement. Donc, comment passer le flambeau à NetworkManager ? (J’utilise le driver realtek proprio compilé, mais j’ai pas installé de paquet “firmware-realtek”)

Sous Debian :

$ lsmod Module Size Used by vmnet 42928 13 parport_pc 22364 0 ppdev 12763 0 lp 17149 0 parport 31858 3 lp,ppdev,parport_pc fuse 61972 3 vsock 42822 0 vmci 64995 1 vsock vmmon 65400 0 binfmt_misc 12957 1 nfsd 216167 2 nfs 308353 0 nfs_acl 12511 2 nfs,nfsd auth_rpcgss 37143 2 nfs,nfsd fscache 36739 1 nfs lockd 67306 2 nfs,nfsd sunrpc 173730 6 lockd,auth_rpcgss,nfs_acl,nfs,nfsd ip6t_LOG 12609 4 xt_hl 12449 6 ip6t_rt 12499 3 nf_conntrack_ipv6 13316 7 nf_defrag_ipv6 12832 1 nf_conntrack_ipv6 ipt_REJECT 12502 1 ipt_LOG 12605 5 xt_multiport 12548 8 xt_limit 12638 12 xt_tcpudp 12570 39 xt_addrtype 12557 4 xt_state 12503 14 ip6table_filter 12540 1 ip6_tables 22175 3 ip6table_filter,ip6t_rt,ip6t_LOG nf_conntrack_netbios_ns 12445 0 nf_conntrack_broadcast 12365 1 nf_conntrack_netbios_ns nf_nat_ftp 12460 0 nf_nat 18242 1 nf_nat_ftp nf_conntrack_ipv4 14078 9 nf_nat nf_defrag_ipv4 12483 1 nf_conntrack_ipv4 nf_conntrack_ftp 12605 1 nf_nat_ftp nf_conntrack 52720 8 nf_conntrack_ftp,nf_conntrack_ipv4,nf_nat,nf_nat_ftp,nf_conntrack_broadcast,nf_conntrack_netbios_ns,xt_state,nf_conntrack_ipv6 iptable_filter 12536 1 ip_tables 22042 1 iptable_filter x_tables 19118 14 ip_tables,iptable_filter,ip6_tables,ip6table_filter,xt_state,xt_addrtype,xt_tcpudp,xt_limit,xt_multiport,ipt_LOG,ipt_REJECT,ip6t_rt,xt_hl,ip6t_LOG loop 22641 0 snd_hda_codec_hdmi 30824 6 snd_hda_codec_realtek 188851 1 nvidia 11264793 0 snd_usb_audio 89083 1 snd_usbmidi_lib 23369 1 snd_usb_audio snd_seq_midi 12848 0 snd_seq_midi_event 13316 1 snd_seq_midi snd_rawmidi 23060 2 snd_seq_midi,snd_usbmidi_lib i915 378495 1 fglrx 2634136 118 video 17683 1 i915 drm_kms_helper 31370 1 i915 drm 183952 2 drm_kms_helper,i915 i2c_algo_bit 12841 1 i915 coretemp 12898 0 crc32c_intel 12747 0 ghash_clmulni_intel 13130 0 pwc 72821 0 videobuf2_vmalloc 12524 1 pwc aesni_intel 50667 0 videobuf2_memops 12562 1 videobuf2_vmalloc videobuf2_core 25974 1 pwc aes_x86_64 16843 1 aesni_intel videodev 70889 1 pwc aes_generic 33026 2 aes_x86_64,aesni_intel cryptd 14517 2 aesni_intel,ghash_clmulni_intel snd_hda_intel 26259 3 v4l2_compat_ioctl32 16655 1 videodev media 18148 1 videodev snd_hda_codec 78031 3 snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi mxm_wmi 12515 0 snd_hwdep 13186 2 snd_hda_codec,snd_usb_audio iTCO_wdt 17081 0 snd_pcm 68083 4 snd_hda_codec,snd_hda_intel,snd_usb_audio,snd_hda_codec_hdmi iTCO_vendor_support 12704 1 iTCO_wdt i2c_i801 16870 0 pcspkr 12579 0 snd_page_alloc 13003 2 snd_pcm,snd_hda_intel snd_seq 45126 2 snd_seq_midi_event,snd_seq_midi joydev 17266 0 evdev 17562 19 snd_seq_device 13176 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 22917 2 snd_seq,snd_pcm snd 52893 20 snd_timer,snd_seq_device,snd_seq,snd_pcm,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_rawmidi,snd_usbmidi_lib,snd_usb_audio,snd_hda_codec_realtek,snd_hda_codec_hdmi shpchp 31293 0 soundcore 13065 1 snd i2c_core 23876 7 i2c_i801,videodev,i2c_algo_bit,drm,drm_kms_helper,i915,nvidia acpi_cpufreq 12935 0 wmi 13243 1 mxm_wmi mperf 12453 1 acpi_cpufreq processor 28149 1 acpi_cpufreq button 12937 2 fglrx,i915 thermal_sys 18040 2 processor,video ext4 350763 4 crc16 12343 1 ext4 jbd2 62115 1 ext4 mbcache 13114 1 ext4 dm_mod 63645 0 sr_mod 21899 0 cdrom 35401 1 sr_mod sg 25874 0 ata_generic 12479 0 hid_logitech 17472 0 ff_memless 12708 1 hid_logitech usbhid 36418 1 hid_logitech hid 81372 2 usbhid,hid_logitech sd_mod 36136 8 crc_t10dif 12348 1 sd_mod ohci_hcd 26563 0 xhci_hcd 73450 0 pata_jmicron 12472 0 ahci 24997 6 firewire_ohci 35772 0 libahci 22941 1 ahci firewire_core 48449 1 firewire_ohci crc_itu_t 12347 1 firewire_core libata 140630 4 libahci,ahci,pata_jmicron,ata_generic r8168 248409 0 r8169 47008 0 ehci_hcd 40249 0 scsi_mod 162269 4 libata,sd_mod,sg,sr_mod usbcore 128741 9 ehci_hcd,xhci_hcd,ohci_hcd,usbhid,pwc,snd_usbmidi_lib,snd_usb_audio mii 12675 1 r8169 usb_common 12354 1 usbcore

[quote=“TheJeje20”]Elle est bien gérée par ifupdown.
Oui, je configure via /etc/network/interfaces.[/quote]
Configurée comment ?
Elle fonctionne ? Dans ce cas il n’y a pas de problème de pilote. Je remarque que sous Mint c’était le module r8169 inclus en standard dans le noyau qui était utilisé. Sous Debian les deux sont chargés, mais impossible de dire lequel est utilisé sans plus d’informations (logs du noyau, lspci -k, udevadm info…).

Pas tout compris, désolé. Si la connexion wifi écrase les DNS dans /etc/resolv.conf et ne les restaure pas, tu as peut-être besoin du paquet resolvconf ; regarde s’il est installé.

En supprimant/commentant tout ce qui concerne l’interface ethernet dans /etc/network/interfaces. Il y a aussi une option de NetworkManager pour le forcer à gérer une interface listée dans /etc/network/interfaces, cf. le wiki Debian mais cela signifie que les deux gestionnaires de réseau se marchent sur les pieds.

[quote]Configurée comment ?
Elle fonctionne ? Dans ce cas il n’y a pas de problème de pilote.[/quote]

# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.x.x netmask 255.255.255.0 network 192.168.x.x broadcast 192.168.x.x gateway 192.168.x.x # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.x.x 8.8.8.8
Ca fonctionne nickel, mais j’ai pas confiance (exemple du dongle WIFI branché en USB). Je préfère que NetworkManager le gère.

$ lspci -k 08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) Subsystem: Giga-byte Technology GA-EP45-DS5/GA-EG45M-DS2H Motherboard Kernel driver in use: r8169
Merci, je ne connaissais pas cette commande ^^.
r8169 ??? je croyais utiliser le driver constructeur ! Peut-être que ça résoudrait le problème de l’utiliser…

Juste un petit aparté sur le problème du dongle :
Le brancher, se connecter au WIFI, le retirer, se rendre compte qu’on n’a plus de résolution DNS sur eth0.
Le problème est vraiment hyper-atypique. J’ai passé au crible TOUS les fichiers système qui concernaient les DNS, trafiqué resolv.conf, installé resolvconf, etc.
Rien d’anormal, et pourtant, j’avais internet QUE lorsque je demandais le DHCP sur eth0 via /etc/network/interfaces. (???) Or, j’ai besoin de mon IP statique.
Bref, quitte à passer plusieurs heures, j’ai préféré restaurer un backup (ca m’est arrivé 2 fois, la 2e pour vérifier que c’était bien ça).

Alors supprime ou commente la définition d’eth0 dans /etc/network/interfaces.

J’en doute. Mais si tu y tiens, il faut blacklister le module r8169 du noyau avec modprobe. Créer un fichier /etc/modprobe.d/blacklist-r8169.conf contenant [mono]blacklist r8169[/mono] (de mémoire, à vérifier) et un petit commentaire explicatif qui ne fait jamais de mal.

Seulement la résolution DNS ? Donc la connectivité IP avec le réseau local et l’extérieur demeurait ? Que donnait une requête DNS explicite avec [mono]host[/mono], [mono]dig[/mono] ou [mono]nslookup[/mono] sur chacun des serveurs définis ?

Ok, je fais un backup de ma partition / et je te donne des nouvelles dès que possible :

  1. commenter
  2. si ça marche pas, restaurer le backup et blacklist r8169

Oui, seulement la résolution DNS.
-Réseau local ok
-Adresse IP externe ok
-Requête DNS avec ping google.com : n’arrive pas à trouver google.com.
-Pas essayé nslookup.

Dommage. Tu avais essayé d’arrêter et redémarrer l’interface avec [mono]ifup[/mono]/[mono]ifdown[/mono] ?

Oui, le problème persistait.
En revanche, si je les utilisais après avoir modifié le fichier interfaces pour adopter DHCP, ça fonctionnait (jusque là, rien d’anormal x) ).

Tu penses que nslookup aurait révélé un truc ?

Il aurait permis de tester l’accès direct aux serveurs DNS, sans passer par le resolver local.

Victoire !
Commenter eth0 dans /etc/network/interfaces donne la main à NetworkManager.
Passer par NetworkManager résout mon problème de dongle WIFI. Je peux maintenant le brancher comme bon me semble sans avoir à restaurer un backup après. :041

Par curiosité, j’ai testé le driver du fabricant.
Il n’apporte rien de plus, donc je suis repassé au driver “non-free” (Dommage qu’il soit pas libre :frowning: ).

Comme tu as l’air intrigué par le problème du dongle WIFI (maintenant contourné chez moi), je me suis remis en situation pour toi :

Normal :

[code]~$ nslookup

debian-fr.org
Server: 192.168.x.254
Address: 192.168.x.254#53

Non-authoritative answer:
Name: debian-fr.org
Address: 91.121.50.62[/code]
Après avoir débranché le dongle :

[code]~$ nslookup

debian-fr.org
;; connection timed out; no servers could be reached[/code]

A noter aussi :
Problème du dongle persistant au redémarrage du PC (et de ifdown/ifup)

A noter aussi :
-problème du dongle
-interfaces réglé pour DHCP,
-ifdown+ifup
-interfaces pour IP statique
-ifdown+ifup
-résolution DNS fonctionnelle pour environ 1/2 heure.

A noter aussi :
-problème du dongle
-commenter eth0 pour gestion par NetworkManager
-redémarrer PC (internet ok)
-décommenter eth0 pour gestion par interfaces
-redémarrer PC
-Résolution DNS ok

Ca a tout l’air d’un conflit entre NetworkManager et interfaces via un fichier modifié. Mais je n’ai pas trouvé lequel.

Le reste du fil de discussion est consacré à assouvir ta soif de connaissance sur ce problème (et la mienne au passage). Donc n’hésite pas à me demander de faire des manips :smiley:.
Par contre, il se peut que je ne puisse pas répondre aussi rapidement : je mets l’accent sur mon boulot.