Summary:
OS: centos 7
Hardware: Nvidia nforce 网卡(集成于主板)
Task: 安装网卡驱动
Detail:
我的网卡是集成在主板上的,而且好像已经停产了,上次装win8的时候,就找不到对应的驱动,放弃了。所以用的还是win7。
这次,装了双系统,win7+centos7。安装centos7的时候,有遇到设置网络的选项,但显示“无可用网络设备”,猜测要么是网线没插好(装完刚切回win7的时候网络有不好过,所以才这样怀疑),要么是没有网卡驱动(毕竟上次也遇到过这种问题),所以只要先跳过这个步骤,直接装了系统。
装完之后开始搜是为什么没有网络,但是一开始用的关键字不对,直接中文百度了,发现很多人是在安装的时候没有进行设置,打开网络连接。所以他们的系统里有些关于以太网卡配置的文件,只是网络没有打开。而我一开始竟然在纠结为何我没有这些文件...(也涉及到一部分版本问题,比如一开始我搜索的时候关键字只有centos,但其实7和之前的版本还是有区别的).
后来重新思考,觉得我应该就是因为没有驱动,所以识别不到网络。于是开始搜索centos 7 nvidia nforce ethernet driver这些关键词。发现有个人和我情况差不多[1],也是装了centos 7 后网络没有被识别,也是nvidia的网卡。有个人给了解决方案,大致是说,nforce没有内置在centos 7 中的驱动,也有人在centos的社区里提issue上去了,估计之后的版本会有;现在呢,可以自己装kmod驱动,可以到elrepo去下rpm格式的驱动安装文件。回答中,还有人提供了确认找的驱动就是你需要的驱动的方法[2]。
也看了别人在Linux系统中装驱动的方法,算是作为参考。
下面记录下整个过程吧。
-
1. 查看设备信息,确定自己网卡型号
lspci -nn | grep -i net
这里lspci是列出pci总线上连接的所有设备,以这个作为输入,通过管道进行过滤,grep获取网卡信息
这里是我的网卡信息:
00:07.0 Bridge [0680]: NVIDIA Corporation MCP61 Ethernet [10de:03ef] (rev a2)
-
2. 下载驱动文件
根据其中的
10de:03ef可以到这个链接([2] http://elrepo.org/tiki/DeviceIDs)去check应该下什么驱动模块,恩,就是写着forcedeth的这个。之后进行下载(http://elrepo.org/tiki/Download).
于是又根据我的系统内核版本,我到这个链接(http://elrepo.org/linux/elrepo/el7/x86_64/RPMS/kmod-forcedeth-0.64-1.el7.elrepo.x86_64.rpm)下载了驱动文件kmod-forcedeth-0.64-1.el7.elrepo.x86_64.rpm,拷贝到这个电脑上。
如何查看内核版本?
uname -r 3.10.0-123.el7.x86_64
-
3. 安装rpm文件
su rpm -ivh kmod-forcedeth-0.64-1.el7.elrepo.x86_64.rpm安装好后会显示软件包已经安装。
-
4. 启动服务
lsmod | grep forcedeth这里我用grep看forcedeth
结果输出为空
激活驱动
modprobe forcedeth这时候就可以看到forcedeth了
lsmod | grep forcedeth forcedeth 71574 0
-
其他
其实之前在nvidia官网找过驱动,这里提供了linux版本的forcedeth.c文件[3],但是我不知道这个怎么去编译。
另外也看到了个类似的装网卡驱动的教程(经历记录)[5],这个人的主板是Gigabit的Z77-DS3H,网卡是
Atheros Communications Inc. AR8161 Gigabit Ethernet系统是Centos 6.4。涉及到编译,也放这里提供参考。
[1] http://grokbase.com/t/centos/centos/147dqyjd3j/nvidia-ethernet-port-not-detected-centos-7
[2] http://elrepo.org/tiki/DeviceIDs
[3] http://www.nvidia.cn/object/linux_nforce_1.21_cn.html
[4] http://elrepo.org/tiki/Download
[5] http://www.centoscn.com/image-text/config/2013/0816/1269.html