我使用的是 Ubuntu 13.04。我的笔记本电脑是 Acer Aspire one 722-c58rr,我的以太网卡在内核 3.8.x 下每次只能工作几秒钟,但是内核 3.5.x 及以下版本可以正常工作。
在内核 3.8.x 上,它在启动后大约一分钟内工作正常,然后断开网络连接。当 ping 某个地址时,它显示:network address is unreachable
,但它可以 ping 自己的地址。该地址是静态配置的。
之前一切都运行正常。我去度假了,使用了 WiFi 和 3G 连接,所以我没有注意到问题的发生。回到家,插入以太网。它工作了一分钟然后停止了。重新启动换向器解决了问题。尝试连接到不同的换向器,同样的问题。拔下并插入电缆可以解决问题一分钟。eth
在网络管理器中断开连接并再次重新连接,结果相同。WiFi 没有这样的问题。尝试在另一台计算机上使用另一条可以正常工作的电缆,同样的问题。尝试使用较低的内核版本启动,同样的问题一直发生,直到我升级到内核系列的 3.5 版本。
内核 3.5.x 上一切都运行良好,但我不想错过新内核的功能。
执行命令,在3.8内核系列启动时,得到以下结果:
lspci | grep -i eth: 06:00.0 以太网控制器:Qualcomm Atheros AR8152 v2.0 快速以太网(rev c1) 消息发送| grep eth1: [ 89.548291] atl1c 0000:06:00.0: atl1c: eth1 NIC 链接已启动
我该如何修复此问题,同时保留新的内核版本?
答案1
恐怕你遇到了特定以太网卡的内核错误(错误报告这里和这里)。我建议您在这些帖子中发表您的反馈。
删除并重新添加模块似乎atl1c
可以暂时解决问题:
sudo rmmod atl1c
sudo modprobe atl1c
另一个更持久的解决方案是重新编译compact-wireless
模块可以在 kernel.org 上找到像这样:
sudo rmmod atl1c
sudo apt-get update
sudo apt-get install build-essential wget
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
tar-xjf compat-wireless-2.6.tar.bz2
cd compat-wireless*
scripts/driver-select atl1c
make
sudo make install
sudo modprobe atl1c
如果不起作用请尝试重新启动。
答案2
据我所知,最好的解决方案是将内核更新到最新版本,因为修复已包含在 3.11 及更高版本的内核中。
我没有发布如何手动更新内核,因为只需通过谷歌搜索“在 ubuntu 中更新 Linux 内核”或类似内容就可以很容易地找到教程。