买了个thinkpad本用来学习linux系统,本来本本预装了ubuntu11.10的系统,觉得可以省事。可是居然不能上网,打电话咨询客服也不能解决,不得不说联想这么大一个公司连这点问题都没有人可以解决真是可笑至极。没有办法,只好自己解决这个问题。
本人其实linux基本不懂,所以只能依靠google来想办法。但是有一点可以确定的是肯定是网卡驱动的问题,因为本本完全找不到网络连接。查询网络接口 :ifconfig 可以看到有eth0的存在,因此,首先查询笔记本的网卡型号。使用命令:lspci | grep -i net 得到以太网卡是realtek RTL8111/8168B,无线网卡是Broadcom 4365。
下载realtek 8168的驱动http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2
然后按以下步骤进行,因为机器中使用的r8169模块,可以在/lib/modules/`uname -r`/kernel/drivers/net/看到
因此需要先卸载掉r8169模块
sudo su
1 删除r8169 模块,这个是系统自动加载的驱动
代码:
rmmod r8169
mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko ~/r8169.ko.backup (这儿的'uname -r' 换成你运行的内核版本代号)
mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko ~/r8169.ko.backup (这儿的'uname -r' 换成你运行的内核版本代号)
2 解压官方驱动软件包
3 进入解压目录之后编译并安装驱动模块
代码:
make clean modules
make install
make install
4 将模块添加到内核中
代码:
depmod -a
insmod ./src/r8168.ko
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' 换成你运行的内核版本代号)
mkinitramfs -o /boot/initrd.img-`uname -r` `uname -r` (这儿的'uname -r' 换成你运行的内核版本代号)
6 在开机启动模块中添加r8168模块。
代码:
echo "r8168" >> /etc/modules
7 重启
希望对这个型号的网卡上网问题有所帮助。
成功后重启之后网络连接信息大致如图:
其中驱动应该是r8168,而不是r8169.
使用lspci -v可以看到 kernel modules :r8168