linux系统如何安装网卡驱动
很多初学者都觉得能够在自己的笔记本上安装linux系统是一件很酷的事情,结果两个小时安装好linux系统,却发现缺少各种驱动, 为了让各位少走一些弯路,我在这里把linux如何安装有线网卡驱动的方法整理了下,方便大家学习。
场景:联想笔记本电脑安装的centos系统,安装完成后发现缺少网卡驱动
1. 检查是否安装网卡驱动
执行命令:lspci | grep -i eth
终端显示的结果为:02:00.0 Ethernet controller: Qualcomm Atheros AR8161 Gigabit Ethernet (rev 08)
接着再执行一下命令:ifconfg
终端显示的连接中没有eth0的相关信息,只有一个lo 和virbr0
很明显,网卡驱动没有装好。我是这样来解决的.。
注意:我电脑是联想Y400 网卡是上面的Atheros AR8161这个,网卡驱动下载链接 http://pan.baidu.com/s/1gd3hNvd
下载后解压得到: alx-linux-v2.0.0.6 目录
2. 检查自己的系统环境
gcc
kernel-headers 和 kernel-devel 是否已经安装,我安装系统时候就安装了开发组件和桌面,所以这里没必要再安装。
如果没有安装开发组件,可以进行如下操作(用yum前需要提前配好yum源)
yum install gcc
yum install kernel-headers
yum install kernel-devel
3. 编译:
进入 alx-linux-v2.0.6的目录
执行make
此时在src文件件夹中产生了一个alx.ko文件
4. 配置文件的修改:
mkdir /lib/modules/2.6.32-358.6.2.el6.x86_64/kernel/net/wired //创建文件夹wired
在vi /lib/modules/2.6.32-358.6.2.el6.x86_64/modules.networking 文件里添加 alx.ko
执行命令:vi /etc/sysconfig/modules/alx.modules
在alx.modules中添加如下脚本内容:
#!/bin/sh
if [ ! -c /dev/input/alx.ko ] then
exec /sbin/modprobe alx >/dev/null 2>&1
fi
5.最后执行其他命令:
首先执行命令:depmod -a
接着执行命令:modprobe alx
此时用ifconfig 就可以找到eth0 了
6.如果还是找不到
执行ifconfig -a //这样就可以发现eth0了(eth0是第一个,如果你有其他网卡,就会有eth1,2,3...)
ifconfig eth0 up //启动eth0
好了。到此为止,网卡驱动已经安装好了,接下来开始配置网络文件,开始愉快的玩耍吧!
不过我还是要强烈呼吁初学者,不要安装双系统,不要在笔记本安装linux系统。用windows+虚拟机的模式来学习是最快的学习方式。
一、查看网卡型号和机器位数
1、查看网卡型号
linux系统下通过以下命令,可以查看当前的网卡驱动信息;
[box color="white" icon="none"]
[root@localhost zhangy]# lspci |grep -i eth
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
[/box]
2、查看机器位数
驱动程序是要区分系统是32位系统还是64位系统的, 所以通过以下linux命令,就可以知道操作系统的位数了;
[box color="white" icon="none"]
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-308.13.1.el5PAE #1 SMP Tue Aug 21 17:50:26 EDT 2012 i686 i686 i386 GNU/Linux
[/box]
下载前先看一下你的网卡驱动,如果是最新的就不用在重新装了。
[box color="white" icon="none"]
[root@localhost zhangy]# ethtool -i eth0
driver: r8169
version: 2.3LK-1-NAPI
firmware-version:
bus-info: 0000:03:00.0
[/box]
RTL8111/8168B就是网卡的型号,这样你可以网卡的型号来找一下网卡驱动的官方网站,然后下载最新的网卡驱动,驱动分64位和32位的,i386,i686是32位的机器,x86_64表示是64位的机器,不要选错驱动了。
二、下载驱动,并安装
1、解压
[box color="white" icon="none"]
[root@localhost download]# tar jxvf r8168-8.032.00.tar.bz2
[/box]
2、安装
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# make &&make install
[/box]
如果报以下错误
make -C /lib/modules/2.6.18-308.8.2.el5PAE/build SUBDIRS=/home/zhangy/r8168-8.032.00/src INSTALL_MOD_DIR=kernel/drivers/net modules_install
make: *** /lib/modules/2.6.18-308.8.2.el5PAE/build: 没有那个文件或目录。 停止。
make: *** [install] 错误 2
说明你kernel源码没有安装。安装kernel源码
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# yum install kernel-xen kernel-xen-devel kernel \
>kernel-PAE kernel-PAE-devel kernel-devel kernel-headers
[/box]
安装完以后,一定要重启机器。不然下面操作就过不去了,会报FATAL: Module r8168 not found.
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# depmod -a
[root@localhost r8168-8.032.00]# modprobe r8168
[/box]
编辑配置文件/etc/modprobe.cof,如果以前没有添加alias eth0 r8168,如果已经有了修改一下成alias eth0 r8168。
查一下驱动是不是加载了,如果有以下内容说明驱动安装成功了。
[box color="white" icon="none"]
[root@localhost r8168-8.032.00]# lsmod |grep r8168
r8168 231132 0
[/box]
必须重新启动一下机器,用ethtool查看驱动才会改变,不然还是老样子。下面是新的驱动。
[box color="white" icon="none"]
[root@localhost ~]# ethtool -i eth0
driver: r8168
version: 8.032.00-NAPI
firmware-version:
bus-info: 0000:02:00.0
[/box]
1、先通过命令sudolshw-cnetwork查看网卡设备名称是否能看到。。2、通过命令lspci|grepnet查看网卡型号。
3、通过命令lspci-k查看网卡驱动。
4、卸载原有驱动,通过命令modinfo查看网卡驱动所在的路径,通过命令rm删除驱动文件,通过命令rmmod卸载驱动,通过命令lsmod查看显示已经加载到内核中的模块的状态信息。
5、安装正确的驱动,下载的是r8125-9点009点02点tar点bz2版本,将r8125-9点009点02点ta点bz2解压到usrsrcsudotarxvfr8125至9点009点02点tarbz2至usrrc,进入usrsrc下,执行安装文件cdusrsrcsudoshautorun.sh到此步骤,安装新驱动就结束了。
6、再使用命令lspcik查看网卡驱动,看到Kerneldriverinuse显示的是r8125,Kernelmodules显示的也是r8125。
7、再通过命令sudolshw至cnetwork查看网卡设备名称,logicalname正常显示。
8、如果还不能上网,则继续参考Linux操作系统知识2至Ubantu重启后网卡丢失进行操作即可。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)