Come posso interrompere la connessione alla mia rete ethernet?


16

La mia connessione di rete basata su Ethernet non rimane costantemente attiva. Sto eseguendo un ping contro il gateway e sarà:

  • Lavora per un minuto
  • Congelare, timeout o fornire tempi di risposta di più secondi
  • Ripetere

Se è bloccato e disabilito / abilito il collegamento in rete tramite l'applet del gestore di rete, tutto funzionerà nuovamente per un minuto. Dopo 280 pacchetti trasmessi sto ottenendo una perdita di pacchetti del 41%. Ho provato un cavo e una connessione diversi al gateway ma questo non ha avuto alcun effetto. La distanza dal gateway è di circa 3 piedi.

Sembra funzionare bene se passo a Windows, ma Ubuntu è il mio sistema operativo principale e non posso nemmeno usarlo in questo momento in quanto dipendo dalla rete.

La mia configurazione ...

  • Sistema operativo: Ubuntu 11.04, doppio avvio di Windows 7
  • Mobo: Gigabyte Z68X-UD4-B3
  • CPU: Intel Core i7 2600K

modificare

Un piccolo chiarimento ... Network Manager mi mostra ancora come connesso, ma non riesco a raggiungere il gateway o altro. NM non suggerisce in alcun caso che la connessione venga persa e la chiamata a ifconfig mostra che ho ancora un indirizzo IP.

Ho provato a collegarmi a un gateway diverso con un cavo diverso e si presenta lo stesso problema.

Come richiesto:

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

modificare

@ roland-taylor: la rete è sempre disponibile in Windows. I ping non scadono, le applicazioni non lamentano alcuna disponibilità di rete, i download di grandi dimensioni non vengono interrotti o rallentati.


2
È teoricamente possibile che il problema riguardi il gateway. Hai provato a utilizzare un gateway diverso?
Robin Green

2
Non penso che la scheda madre o la CPU siano di grande interesse qui. lspci | grep -i ethpotrebbe essere più informativo, e quale modulo è caricato, è in esecuzione dhcp, cosa dmesg | tail -fdice dalla connessione alla caduta della connessione.
utente sconosciuto

Dici che "sembra funzionare bene in Windows" ma ne sei davvero sicuro?
RolandiXor

Risposte:


13

Scarica il driver ufficiale realtek.

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

Quindi rimuovere il modulo r8169 dal kernel di 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

Infine, inserire nella blacklist il driver r8169 aggiungere quanto segue a /etc/modprobe.d/blacklist.conf:

#blacklist r8169 driver
blacklist r8169

L'ho trovato su http://www.rvdavid.net/how-to-get-gigabit-speeds-from-rtl81118168b-pci-express-gigabit-ethernet-controller-on-ubuntu-linux/ e funziona. Ora va tutto bene con la velocità della rete.


Questo ha funzionato perfettamente! La mia connessione di rete è ora stabile e sono stato in grado di continuare la migrazione dal mio vecchio desktop a questo. Vorrei votarti, ma a quanto pare ho bisogno di più reputazione ... Capirei ma sembra strano considerando che era la mia domanda.
Sean Hill,

Grazie, mi ha aiutato, non riesco ad accedere a Internet dopo il riavvio. Sembra che ci siano potenziali problemi con la lista nera del modulo. Ci sono maggiori informazioni nei commenti su questo post.
Estratto il

per accedere a Internet dopo il riavvio ho seguito alcuni passaggi da qui ubuntuforums.org/showthread.php?t=723569 , tranne la compilazione dalla fonte
amico

Ho aggiornato a gnome3 e ho perso questo override del modulo, sembra che tu debba seguire questi passaggi per ogni aggiornamento del kernel. Non sono sicuro di cosa faccia initramfs, ma non l'avevo fatto prima dell'aggiornamento. L'ho eseguito proprio ora e ha aggiornato i ramfs di avvio per il kernel corrente, forse si aggiornerà anche per quelli nuovi / incrocio
Drew

Lo stai usando? Notate questi problemi? Qui ci sono suggerimenti sull'automazione dell'aggiornamento a nuovi kernel con DKMS djlab.com/2010/10/fixing-rtl8111-8168b-driver-debian-ubuntu
Drew

8

Solo così posso trovarlo la prossima volta che il mio SSD esplode. Ecco le istruzioni per rimuovere r8169 rotto e inserire r8168 su Ubuntu con Linux Kernel 3.x.

Kernel 3.x

  • Scarica r8168
  • Applicare questa patch se è ancora contrassegnata come non risolta.
  • STOP : se prevedi di utilizzare DKMS, passa subito alla sezione DKMS.
  • Esegui sudo ./autogen.sh, costruirà il modulo, rimuoverà quello vecchio (se lo desideri, inseriscilo nella blacklist) e installerà r8168.ko su / lib / modules / 'uname -r' / drivers / net /.

DKMS

DKMS costruirà e installerà il modulo su nuove installazioni del kernel. Dovrai anche inserire nella lista nera il vecchio modulo.

Aggiungi alla lista nera il vecchio modulo se non l'hai già fatto.

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

Installa DKMS e gcc.

sudo apt-get install dkms gcc

Copia i file sorgente del modulo in una posizione persistente, in modo da non rimuoverli accidentalmente in seguito.

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

Quindi corri,

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

1
+1 ottimo post. è possibile che ti manchi il update-initramfscomando
bbaja42,

L'ho usato molte volte e non ho mai visto differenze, sei sicuro che sia necessario per un modulo di rete? In realtà, lo includerò solo per sicurezza. Ho scritto la guida mentre attraversavo il processo per assicurarmi che tutto funzionasse. Potrei averlo già eseguito mentre il modulo era compilato / installato / comunque.
Ha

Oggi ho scambiato i router dopo i quali RTL8111E su GA-Z68X-UD3H-B3 (con Kubuntu 11.10 a 64 bit) ha smesso di funzionare: anche se è stato possibile stabilire una connessione di rete, nessun pacchetto è stato trasferito ( pingal router non è riuscito con "Destination Host Irraggiungibile"). Dopo aver make modulesinserito il modulo, ha funzionato di nuovo. Dopo aver rmmodinserito il nuovo modulo e aver caricato quello vecchio, la rete ha funzionato di nuovo. Questo vale anche dopo un riavvio. Non sono sicuro di cosa abbia contribuito a far funzionare di nuovo questa scheda NIC (rmmod / insmod vs rmmod / insmod nuovo modulo), ma spero sia utile a qualcuno.
Lekensteyn,


0

che può essere utile

è possibile che si verifichino problemi con il driver r8169 se si avvia Windows con doppio avvio su alcuni sistemi. Windows per impostazione predefinita disabilita la scheda NIC al momento dell'arresto di Windows per disabilitare Wake-On-Lan e questa scheda NIC rimarrà disabilitata fino alla successiva accensione di Windows. Il driver r8169 nel kernel non sa come attivare la scheda NIC da questo stato disabilitato; pertanto, il dispositivo non risponderà, anche se il driver carica e segnala che il dispositivo è attivo. Per aggirare questo problema, è sufficiente abilitare la funzione "Wake-on-lan dopo l'arresto". È possibile impostare queste opzioni tramite Gestione dispositivi di Windows.

Modifica: il problema del dual-boot con Windows esiste anche nel kernel 2.6.19.5 e 2.6.20.8, quindi è lecito ritenere che riguarderà tutti i kernel 2.6 fino a quando gli sviluppatori del kernel aggiornano i driver per RTL8168 alla versione che sarà in grado per attivare la scheda NIC dallo stato disabilitato



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

Potresti aggiungere una spiegazione di cosa stanno facendo questi comandi?
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.