Como faço para parar a conexão de rede ethernet?

16

Minha conexão de rede baseada em ethernet não fica ativa consistentemente. Eu estou correndo um ping contra o gateway e vai:

  • Trabalhe por um minuto
  • Congele, limite o tempo ou forneça tempos de resposta em vários segundos
  • Repetir

Se ele estiver travado e eu desabilitar / habilitar a rede por meio do miniaplicativo do gerenciador de rede, tudo funcionará bem por um minuto. Depois de 280 pacotes transmitidos estou recebendo 41% de perda de pacotes. Eu tentei um cabo diferente e conexão com o gateway, mas isso não teve efeito. A distância até o gateway é de apenas 3 pés.

Parece funcionar bem se eu mudar para o Windows, mas o Ubuntu é meu sistema operacional principal e nem posso usá-lo agora, pois dependo da rede.

Minha configuração ...

  • SO: Ubuntu 11.04, dual-boot do Windows 7
  • Mobo: Gigabyte Z68X-UD4-B3
  • CPU: Intel Core i7 2600K

Editar

Um pouco de esclarecimento ... O Network Manager ainda está me mostrando conectado, mas não consigo acessar o gateway nem nada além. Em nenhum momento o NM sugere que a conexão foi perdida e chamar ifconfig mostra que ainda tenho um endereço IP.

Eu tentei conectar-me a um gateway diferente com um cabo diferente e o mesmo problema surge.

Conforme solicitado:

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

Editar

@ roland-taylor: A rede está sempre disponível no Windows. Os pings não têm tempo limite, os aplicativos não reclamam de nenhuma disponibilidade de rede, os downloads grandes não são interrompidos ou diminuídos.

    
por Sean Hill 04.06.2011 / 19:52

6 respostas

13

Faça o download do driver oficial do realtek.

Em seguida, remova o módulo r8169 do kernel do 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

Por fim, na lista negra do driver r8169, inclua o seguinte em /etc/modprobe.d/blacklist.conf:

#blacklist r8169 driver
blacklist r8169

Encontrei em link e funciona. Agora está tudo bem com a velocidade da rede.

    
por dude 26.06.2011 / 11:51
8

Só assim eu posso encontrar isso da próxima vez que meu SSD explodir. Aqui estão as instruções para remover o r8169 quebrado e inserir o r8168 no Ubuntu com o Kernel 3.x do Linux.

Kernel 3.x

  • Download r8168
  • Aplique este patch se ainda estiver marcado como não resolvido.
  • STOP : Se você planeja usar o DKMS, pule para a seção DKMS agora.
  • Execute sudo ./autogen.sh , ele compilará o módulo, removerá o antigo (lista negra se você quiser) e instalará r8168.ko em / lib / modules / 'uname -r' / drivers / net /.

DKMS

O DKMS irá construir e instalar o módulo em novas instalações do kernel. Você também precisará colocar o antigo módulo na lista negra.

Encloqueie o módulo antigo, se ainda não o fez.

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

Instale o DKMS e o gcc.

sudo apt-get install dkms gcc

Copie os arquivos de origem do módulo para um local persistente, para que você não os remova acidentalmente mais tarde.

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

Em seguida, execute

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
    
por Drew 11.10.2011 / 17:42
2

Eu tive um problema semelhante e encontrei uma solução.

veja link

    
por qwertz 12.11.2011 / 21:32
0

que pode ser útil

você pode experimentar os problemas com o driver r8169 se você inicializar o Windows em alguns sistemas. Por padrão, o Windows desabilita a NIC no momento do desligamento do Windows para desabilitar o Wake-On-Lan e esta NIC permanecerá desabilitada até a próxima vez que o Windows a ligar. O driver r8169 no kernel não sabe como ativar a NIC nesse estado desativado; portanto, o dispositivo não responderá, mesmo se o driver carregar e relatar que o dispositivo está ativo. Para contornar esse problema, basta ativar o recurso "Wake-on-lan após o desligamento". Você pode definir essas opções através do gerenciador de dispositivos do Windows.

Edit: Problema com dual-boot com Windows também existe no kernel 2.6.19.5 e 2.6.20.8, então é seguro assumir que ele irá preocupar todos os kernels 2.6 até que os desenvolvedores do kernel atualizem os drivers para RTL8168 para a versão que será capaz de ligar a NIC do estado desativado

    
por dude 26.06.2011 / 10:39
0

e mais uma coisa - para fazer alterações com o driver constante e evitar iniciar o r8169 novamente após a reinicialização, eu usei isso:

link

    
por dude 26.06.2011 / 13:01
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
    
por sccplg 16.10.2011 / 16:23