web-dev-qa-db-fra.com

Comment puis-je empêcher ma connexion réseau Ethernet de tomber?

Ma connexion réseau Ethernet ne reste pas constante. Je lance un ping contre la passerelle et il va:

  • Travailler 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 pendant une minute. Après 280 paquets transmis, la perte de paquets est de 41%. J'ai essayé un autre câble et une connexion à la passerelle, mais cela n'a eu aucun effet. La distance à la passerelle est à peu près 3 pieds.

Cela 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 maintenant, car je dépend du réseau.

Ma configuration ...

  • OS: Ubuntu 11.04, double amorçage Windows 7
  • Mobo: Gigabyte Z68X-UD4-B3
  • CPU: Intel Core i7 2600K

Éditer

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

J'ai essayé de me connecter à une autre passerelle avec un autre câble 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 téléchargements volumineux ne sont ni interrompus ni ralentis.

16
Sean Hill

Téléchargez le pilote officiel de 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 en liste noire et ajoutez ce qui suit dans /etc/modprobe.d/blacklist.conf:

#blacklist r8169 driver
blacklist r8169

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

13
dude

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

Noyau 3.x

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

DKMS

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

Lister l'ancien module si vous ne l'avez pas 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 par inadvertance 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

Puis courez,

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
8
Drew

J'ai eu un problème similaire et j'ai trouvé une solution.

voir https://bugs.launchpad.net/ubuntu/+source/linux/+bug/889527

2
qwertz

cela 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 le NIC à l’arrêt de Windows afin de désactiver Wake-On-Lan, et ce NIC restera désactivé jusqu’à la prochaine activation de Windows. Le pilote r8169 du noyau ne sait pas comment activer le NIC à 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 opérationnel. 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 amorçage avec Windows existe également dans les noyaux 2.6.19.5 et 2.6.20.8; il est donc prudent de supposer qu'il concernera tous les noyaux 2.6 jusqu'à ce que les développeurs du noyau mettent à jour les pilotes de RTL8168 vers la version qui le permettra. activer le NIC de l'état désactivé

0
dude

et encore une chose - pour faire des changements avec le pilote constant et empêcher le redémarrage de la r8169 après le redémarrage, j’ai utilisé ceci:

http://ubuntuforums.org/showthread.php?t=723569

0
dude

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
0
sccplg