为什么我的以太网端口有时不工作?

为什么我的以太网端口有时不工作?

我注意到我的以太网端口曾经工作正常,但断开连接后,我连接到无线网络,然后尝试重新插入以太网端口,它直到我重新启动后才工作。这是为什么?!

此外,灯亮了,但 Ubuntu 好像看不到它。有没有办法通过终端以编程方式重新启动以太网端口?我还尝试通过网络偏好设置删除并重新添加自动以太网。

我有一台联想 ThinkPad L512,装有 Ubuntu 10.04

==更新==

我按照 Maco 所说的第一步做了,结果如下:

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.

我尝试了 Maco 建议的所有方法,最终发现我的内存并不低,尽管我一直收到 SIOCIFFLAGS:无法分配内存错误。目前我有超过 1GB 的可用 RAM。

我找到了这个页面: http://www.linuxquestions.org/questions/linux-newbie-8/weird-ethernet-problem-838220/

并按照那里的人说的做:

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

它给了我一些输出,最后一个命令给了我:

r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

然后我再次尝试了 Maco 的东西,不再出现错误,但是,以太网仍然无法连接,尽管现在它没有给我内存分配错误。

答案1

听起来像是 bug。让我们深入研究一下。

首先,停止网络管理器:sudo service network-manager stop

然后,插入电缆并打开接口sudo ifconfig eth0 up并告诉它请求新的 dhcp 租约sudo dhclient eth0 (我猜它是 eth0,如果不是,请使用正确的名称)

有用吗?如果有用,请在网络管理器上提交错误: ubuntu-bug -p network-manager

如果没有,请尝试重新加载网络驱动程序。这应该模拟重新启动以太网端口。要找到您的驱动程序,请查看 /etc/udev/rules.d/70-persistent-net.rules 您会看到一些类似以下内容的信息:

# 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"

找到与你的接口名称匹配的那个,看看括号里的内容,我的是 r8169。这就是你的模块的名称。

sudo modprobe -r r8169 && sudo modprobe r8169

(用你的模块名称替换 r8169)再次尝试 dhclient 步骤。如果成功,我怀疑这是一个内核错误。 ubuntu-bug -p linux

答案2

我遇到了同样的问题。只要路由器事先打开,无线就可以在启动时工作。如果不行,那么我必须重新设置网络。有线连接完全无法工作,ifconfig:SIOCSIFFLAGS:无法分配内存。NB 这是使用 BrowserLinux(基于 Puppy Linux)

相关内容