Questão Por que minha porta Ethernet às vezes não funciona?


Eu notei que minha porta Ethernet funciona bem uma vez, mas depois que ela é desconectada e eu conecto a uma rede sem fio e eu tento conectar a porta Ethernet de volta, não funciona até que eu reinicie. Por que é isso?!

Além disso, as luzes acendem, mas é como se o Ubuntu não o visse. Existe uma maneira de reiniciar a porta Ethernet programaticamente através do Terminal? Eu também tentei apagar e ler Auto Ethernet através das Preferências de Rede.

Eu tenho um Lenovo ThinkPad L512 com Ubuntu 10.04

== UPDATE ==

Eu fiz o primeiro passo que o Maco disse para fazer e aqui está o que eu recebi:

oscargodson@ubuntu:~$ sudo service network-manager stop
[sudo] password for oscargodson: 
network-manager stop/waiting
oscargodson@ubuntu:~$ sudo ifconfig eth0 up
SIOCSIFFLAGS: Cannot allocate memory
oscargodson@ubuntu:~$ sudo dhclient eth0
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

SIOCSIFFLAGS: Cannot allocate memory
SIOCSIFFLAGS: Cannot allocate memory
Listening on LPF/eth0/60:eb:69:02:50:f0
Sending on   LPF/eth0/60:eb:69:02:50:f0
Sending on   Socket/fallback
receive_packet failed on eth0: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
send_packet: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
send_packet: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
send_packet: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 11
send_packet: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17
send_packet: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17
send_packet: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
send_packet: Network is down
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Eu tentei tudo o que Maco sugeriu e, finalmente, descobri que minha memória não é baixa, embora eu continue recebendo um SIOCIFFLAGS: Não é possível alocar erro de memória. Eu tenho mais de 1GB de RAM livre enquanto falamos.

Eu encontrei esta página: http://www.linuxquestions.org/questions/linux-newbie-8/weird-ethernet-problem-838220/

E fez o que a pessoa disse que era:

lspci| grep -i ethernet
dmesg | grep -i ethernet

E isso me deu alguma saída e o último comando me deu:

r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

Eu tentei o material do Maco novamente e não recebi mais o erro, no entanto, a Ethernet ainda não se conecta, embora agora não me dê o erro de alocação de memória.


2
2017-10-11 20:44


origem


a dmesg | grep -i ethernet era apenas outra maneira de fazer o que eu parecia em 70-persistent-net.rules - ambos os comandos lspci & dmesg eram bastante exploratórios - maco
Alguma outra ideia? :( - Oscar Godson
Parece que eu comecei a trabalhar e novamente, se eu fizer os comandos acima, em seguida, sudo serviço network-manager stop, em seguida, sudo ifconfig, em seguida, sudo dhclient, então sudo service network-manager start. Como posso fazer isso no começo? - Oscar Godson


Respostas:


Soa como bug. Vamos cavar.

Primeiro, pare o Network Manager: sudo service network-manager stop

Em seguida, conecte o cabo e abra a interface sudo ifconfig eth0 up e diga para pedir um novo contrato de aluguel de dhcp sudo dhclient eth0  (Eu estou supondo que é eth0, se não usar o nome certo)

Funcionou? Se assim for, arquive um bug no Network Manager: ubuntu-bug -p network-manager

Caso contrário, tente recarregar o driver de rede. Isso deve simular uma reinicialização para a porta ethernet. Para descobrir o seu driver, procure em /etc/udev/rules.d/70-persistent-net.rules Você verá alguns bits como:

# PCI device 0x10ec:0x8136 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:f1:4c:01:94:3e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Encontrando o que combina com o nome da sua interface, veja o que há nos parênteses, onde o meu diz r8169. Esse é o nome do seu módulo.

sudo modprobe -r r8169 && sudo modprobe r8169

(substituindo r8169 pelo nome do seu módulo) Tente a etapa do dhclient novamente. Se isso funcionou, suspeito que seja um bug do kernel. ubuntu-bug -p linux


3
2017-10-11 21:22



Eu fiz a primeira coisa que você me fez fazer, e eu peguei o acima (editei meu post original). O segundo eu não tenho um diretório / udev / em / usr /? Por que isso? - Oscar Godson
Porque eu estraguei tudo, desculpe! Eu quis dizer / etc / udev ... - maco
Maco, estou recebendo o mesmo resultado. Depois de fazer isso (o meu também é r8169) eu corri sudo ifconfig eth0 up e disse o mesmo que antes "não pode alocar memória" então eu fiz sudo dhclient eth0 e me deu a saída que eu colei acima. Não tenho certeza se isso ajuda, mas desde que isso só acontece quando eu vou para casa, eu suspeito que isso só acontece quando eu: usar ethernet, desligue, use wifi, desconecte wifi, em seguida, conecte ethernet. Muito obrigado! Eu realmente quero que isso funcione. É um PITA para reiniciar todas as manhãs :) - Oscar Godson
qual é a saída de free -m ? Você está realmente sem memória? - maco
Hmm, parece que podemos ter encontrado algo: free -m output: pastebin.com/syX9jUx0 (acho que é porque é 666?: P, mas a primeira vez que eu corri isso eu tenho apenas 32 livres!) Aqui estão todos os meus processos em execução também: pastebin.com/DRVeMyht -- Alguma ideia? - Oscar Godson


Estou com o mesmo problema. Os trabalhos sem fio no roteador fornecido pela inicialização são ligados antecipadamente. Se não for, então eu tenho que passar pelo processo de criação de uma rede novamente. A conexão com fio se recusa a funcionar com o ifconfig: SIOCSIFFLAGS: Não é possível alocar memória Chegando. N.B. Isso está usando o BrowserLinux (baseado no Puppy Linux)


0
2017-11-06 00:52