前天给新买的台式机装了ubuntu10.04,刚用没多久就发现网络时不时地掉线,刚开始以为是坑爹的校园网的问题,但是切回到windows下网络又是出奇地稳定,心里不禁犯了嘀咕,别是驱动神马的出了问题吧。第二天掉线的情况愈演愈烈,基本上一分钟不到就要掉一次,能连上全是靠RP。本人是ubuntu新手,完全不知道要怎么解决,后来上网各种查,结果一开始查到的是这篇文章:《Ubuntu上网掉线问题》http://hi.baidu.com/kimspirit/item/f00da734f233feff2784f491,文章里说要修改pppoe的配置文件(/etc/ppp/options),把文件里的这么两条:
lcp-echo-failure 4
lcp-echo-interval 30
改成:
lcp-echo-failure 40
lcp-echo-interval 200
我照着原样修改了之后还是不行,于是没办法,看来真的是驱动的问题了。我的网卡是:
zhaojian@ubuntu:~$ lspci | grep Ethernet 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
于是继续在网上搜,终于皇天不负有心人,又让我找到一篇文章:《Ubuntu自带的r8169网卡驱动不管用》http://www.zhanggang.net/y2012/40285.html,发现这位仁兄不仅遇到的问题跟我一样,连网卡的型号都相同,真是缘分呐!在这篇文章中的解决方法参照的是另一篇文章:《我的集成网卡RTL8111/8168B终于搞定,在ubuntu 8.04下开工了》http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=187659&sid=610ddc986fe087fa76cf2977284aeafe,我照着试了一遍,果然完全解决了问题,解决的步骤基本如下:
首先得下载好这个型号网卡的官方驱动:网卡RTL8111/8168 官方驱动链接页
而且进行时确保以root用户权限(最好先sudo su)。
1 删除r8169 模块,这个是系统自动加载的驱动
rmmod r8169 mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko ~/r8169.ko.backup (这儿的'uname -r' 换成你运行的内核版本代号)
2 解压官方驱动软件包
3 进入解压目录之后编译并安装驱动模块
make clean modules make install
4 将模块添加到内核中
depmod -a insmod ./src/r8168.ko
5 删除原来的initrd.img并生成那个initrd.img-你使用的内核版本号 文件,保存更改免得重启的时候出现我那种状况
mv /initrd.img ~/initrd.img.backup mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r` (这儿的'uname -r' 换成你运行的内核版本代号)
6 在开机启动模块中添加r8168模块。
echo "r8168" >> /etc/modules
7 重启
希望对这个型号的网卡上网问题有所帮助。
成功后重启之后网络连接信息大致如图:
其中驱动应该是r8168,而不是r8169.
完成上述步骤之后就可以正常上网啦,真是内牛满面阿,在此要特别感谢一下写下上面几篇文章的仁兄。同时为了能让更多像我一样因为上不了网欲哭无泪的人更方便地找到解决问题的方法,我把解决方案转载到自己的博客,如果有什么版权问题欢迎以上的各位作者联系我^_^,希望能帮助到更多像我一样的新手小白啦~嗯嗯,就是这样~