Comment arrêter la perte de ma connexion réseau Ethernet?

16

Ma connexion réseau basée sur Ethernet ne reste pas constante. J'exécute un ping contre la passerelle et cela:

  • Travaillez une minute
  • Geler, expirer ou donner des temps de réponse de plusieurs secondes
  • Répéter

S'il est bloqué et que je désactive / active la mise en réseau via l'applet du gestionnaire de réseau, tout fonctionnera à nouveau correctement pendant une minute. Après 280 paquets transmis, j'obtiens une perte de paquets de 41%. J'ai essayé un câble et une connexion différents à la passerelle, mais cela n'a eu aucun effet. La distance jusqu'à la passerelle est d'environ 3 pieds.

Semble fonctionner correctement si je passe à Windows, mais Ubuntu est mon système d'exploitation principal et je ne peux même pas l'utiliser pour le moment car je dépend du réseau.

Ma configuration ...

  • Système d'exploitation: Ubuntu 11.04, Windows 7 à double démarrage
  • Mobo: Gigabyte Z68X-UD4-B3
  • Processeur: Intel Core i7 2600K

Éditer

Une petite clarification ... Network Manager me montre toujours comme connecté, mais je ne parviens pas à atteindre la passerelle ou quoi que ce soit au-delà. À aucun moment, NM ne suggère que la connexion est perdue et appeler ifconfig montre que j'ai toujours une adresse IP.

J'ai essayé de me connecter à une autre passerelle avec un câble différent et le même problème se pose.

Comme demandé:

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

dmesg | tail -f
[   14.024709] EXT4-fs (sda5): re-mounted. Opts: errors=remount-ro,commit=0
[   14.026443] EXT4-fs (sda7): re-mounted. Opts: commit=0
[   14.176101] hda-intel: IRQ timing workaround is activated for card #2. Suggest a bigger bdl_pos_adj.
[   23.917731] eth0: no IPv6 routers present
[  726.109697] r8169 0000:07:00.0: eth0: link up
[  733.169494] r8169 0000:07:00.0: eth0: link up
[  753.930119] r8169 0000:07:00.0: eth0: link up
[  880.787332] r8169 0000:07:00.0: eth0: link up
[ 1159.161283] r8169 0000:07:00.0: eth0: link up
[ 1406.623550] r8169 0000:07:00.0: eth0: link up

Éditer

@ roland-taylor: Le réseau est toujours disponible sous Windows. Les pings ne dépassent pas le délai d'attente, les applications ne se plaignent pas de l'absence de disponibilité du réseau, les gros téléchargements ne sont pas interrompus ou ralentis.

Sean Hill
la source
2
Il est théoriquement possible que le problème soit lié à la passerelle. Avez-vous essayé d'utiliser une autre passerelle?
Robin Green
2
Je ne pense pas que la carte mère ou le CPU présentent beaucoup d'intérêt ici. lspci | grep -i ethpourrait être plus informatif, et quel module est chargé, dhcp est en cours d'exécution, que signifie dmesg | tail -fde se connecter à abandonner la connexion.
utilisateur inconnu
Vous dites que cela "semble bien fonctionner sous Windows" mais en êtes-vous vraiment sûr?
RolandiXor

Réponses:

13

Téléchargez le pilote officiel realtek.

http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=5&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2

Supprimez ensuite le module r8169 du noyau Linux.

# rmmod r8169

<Quick install with proper kernel settings>
Unpack the tarball :
# tar vjxf r8168-8.aaa.bb.tar.bz2
Change to the directory:
# cd r8168-8.aaa.bb
If you are running the target kernel, then you should be able to do :
# ./autorun.sh (as root or with sudo)
You can check whether the driver is loaded by using following commands.
# lsmod | grep r8168
# ifconfig -a
If there is a device name, ethX, shown on the monitor, the linux
driver is loaded. Then, you can use the following command to activate
the ethX.
# ifconfig ethX up

Enfin, mettez le pilote r8169 sur liste noire, ajoutez ce qui suit à /etc/modprobe.d/blacklist.conf:

#blacklist r8169 driver
blacklist r8169

Je l'ai trouvé sur http://www.rvdavid.net/how-to-get-gigabit-speeds-from-rtl81118168b-pci-express-gigabit-ethernet-controller-on-ubuntu-linux/ et cela fonctionne. Maintenant, tout va bien avec la vitesse nette.

mec
la source
Cela a parfaitement fonctionné! Ma connexion réseau est maintenant stable et j'ai pu continuer la migration de mon ancien bureau vers celui-ci. Je voterais pour vous mais apparemment j'ai besoin de plus de réputation ... Je comprendrais mais cela semble étrange étant donné que c'était ma question.
Sean Hill
Merci pour cette aide, je ne peux pas accéder à Internet après le redémarrage. Il semble y avoir des problèmes potentiels avec la mise sur liste noire du module. Theres plus d'informations dans les commentaires sur ce post.
Drew
pour accéder à Internet après le redémarrage, j'ai suivi certaines étapes à partir d'ici ubuntuforums.org/showthread.php?t=723569 , sauf la compilation à partir de la source
mec
J'ai mis à jour vers gnome3 et j'ai perdu ce remplacement de module, il semble que vous devez suivre ces étapes pour chaque mise à jour du noyau. Je ne sais pas ce que fait initramfs, mais je ne l'avais pas fait avant la mise à jour. Je l'ai exécuté tout à l'heure et il a mis à jour les ramfs de démarrage pour le noyau actuel, peut-être qu'il mettra également à jour pour les nouveaux / croisés
Drew
Utilisez-vous cela? Avez-vous remarqué ces problèmes? Il y a des conseils ici sur l'automatisation de la mise à niveau vers de nouveaux noyaux avec DKMS djlab.com/2010/10/fixing-rtl8111-8168b-driver-debian-ubuntu
Drew
8

Juste pour que je puisse trouver cela la prochaine fois que mon SSD explose. Voici les instructions pour retirer le r8169 cassé et insérer le r8168 sur Ubuntu avec Linux Kernel 3.x.

Kernel 3.x

  • Télécharger r8168
  • Appliquez ce patch s'il est toujours marqué comme non résolu.
  • STOP : si vous prévoyez d'utiliser DKMS, passez à la section DKMS maintenant.
  • Exécutez sudo ./autogen.sh, il construira le module, supprimera l'ancien (mettez-le sur liste noire si vous le souhaitez) et installez r8168.ko dans / lib / modules / 'uname -r' / drivers / net /.

DKMS

DKMS construira et installera le module lors des nouvelles installations du noyau. Vous devrez également mettre sur liste noire l'ancien module.

Mettez l'ancien module sur liste noire si ce n'est déjà fait.

echo 'rmmod r8169' | sudo tee /etc/modprobe.d/blacklist.conf

Installez DKMS et gcc.

sudo apt-get install dkms gcc

Copiez les fichiers source du module dans un emplacement persistant afin de ne pas les supprimer accidentellement par la suite.

sudo cp -R r8168-8.025.00 /usr/src

echo 'PACKAGE_NAME=r8168
PACKAGE_VERSION=8.025.00
MAKE[0]="make"
BUILT_MODULE_NAME[0]=r8168
BUILT_MODULE_LOCATION[0]="src/"
DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
AUTOINSTALL="YES"' | sudo tee /usr/src/r8168-8.025.00/dkms.conf

Ensuite, exécutez,

dkms add -m r8168 -v 8.025.00
dkms build -m r8168 -v 8.025.00
dkms install -m r8168 -v 8.019.00
sudo update-initramfs -u
A dessiné
la source
1
+1 grand message. il est possible que la update-initramfscommande vous manque
bbaja42
J'ai utilisé cela plusieurs fois et je n'ai jamais vu de différence, vous êtes sûr que cela est nécessaire pour un module réseau? En fait, je vais juste l'inclure pour être sûr. J'ai écrit le guide en parcourant le processus pour m'assurer que tout fonctionne. J'ai peut-être déjà exécuté cela pendant que le module était construit / installé / peu importe.
attiré
Aujourd'hui, j'ai échangé des routeurs après lesquels le RTL8111E sur un GA-Z68X-UD3H-B3 (exécutant Kubuntu 11.10 64 bits) a cessé de fonctionner: même si une connexion réseau pouvait être établie, aucun paquet n'était transféré ( pingle routeur a échoué avec "Destination Host" Inaccessible "). Après avoir make modulesinséré le module, cela a de nouveau fonctionné. Après avoir rmmodintégré le nouveau module et chargé l'ancien, le réseau a de nouveau fonctionné. Cela est également vrai après un redémarrage. Je ne sais pas ce qui a aidé à faire fonctionner à nouveau cette carte réseau (nouveau module rmmod / insmod vs rmmod / insmod), mais j'espère que cela sera utile à quelqu'un.
Lekensteyn
0

qui peut être utile

vous pouvez rencontrer des problèmes avec le pilote r8169 si vous double-amorcez Windows sur certains systèmes. Windows par défaut désactive la carte réseau au moment de l'arrêt de Windows afin de désactiver Wake-On-Lan, et cette carte réseau restera désactivée jusqu'à la prochaine fois que Windows l'allume. Le pilote r8169 du noyau ne sait pas comment activer la carte réseau à partir de cet état désactivé; par conséquent, le périphérique ne répondra pas, même si le pilote se charge et signale que le périphérique est en marche. Pour contourner ce problème, activez simplement la fonctionnalité «Wake-on-lan après l'arrêt». Vous pouvez définir ces options via le gestionnaire de périphériques de Windows.

Edit: Un problème de double démarrage avec Windows existe également dans les noyaux 2.6.19.5 et 2.6.20.8, il est donc sûr de supposer qu'il concernera tous les noyaux 2.6 jusqu'à ce que les développeurs du noyau mettent à jour les pilotes pour RTL8168 vers la version qui sera en mesure pour activer la carte réseau à partir de l'état désactivé

mec
la source
0

Errata corrige:

echo 'blacklist r8169' | sudo tee /etc/modprobe.d/blacklist-r8169.conf
dkms add -m r8168 -v 8.025.00
dkms build -m r8168 -v 8.025.00
dkms install -m r8168 -v 8.025.00
sudo update-initramfs -u
sccplg
la source
Pourriez-vous s'il vous plaît ajouter une explication de ce que font ces commandes?