一、首先观察内核取得网卡信息
[root@master001 ~]# dmesg | grep -in eth
1267:tg3 0000:01:00.0: eth0: Tigon3 [partno(BCM95720) rev 5720000] (PCI Express) MAC address xxxxxxxxxx
1268:tg3 0000:01:00.0: eth0: attached PHY is 5720C (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[1])
1269:tg3 0000:01:00.0: eth0: RXcsums[0] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
1270:tg3 0000:01:00.0: eth0: dma_rwctrl[00000001] dma_mask[64-bit]
1276:tg3 0000:01:00.1: eth1: Tigon3 [partno(BCM95720) rev 5720000] (PCI Express) MAC addressxxxxxxxxxx
1277:tg3 0000:01:00.1: eth1: attached PHY is 5720C (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[1])
1278:tg3 0000:01:00.1: eth1: RXcsums[0] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
1279:tg3 0000:01:00.1: eth1: dma_rwctrl[00000001] dma_mask[64-bit]
1285:tg3 0000:02:00.0: eth2: Tigon3 [partno(BCM95720) rev 5720000] (PCI Express) MAC address xxxxxxxxxx
1286:tg3 0000:02:00.0: eth2: attached PHY is 5720C (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[1])
1287:tg3 0000:02:00.0: eth2: RXcsums[0] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
1288:tg3 0000:02:00.0: eth2: dma_rwctrl[00000001] dma_mask[64-bit]
1294:tg3 0000:02:00.1: eth3: Tigon3 [partno(BCM95720) rev 5720000] (PCI Express) MAC address xxxxxxxxxx
从上面地1267行及1268行 ,我们可以查看这部主机四张网卡同时使用模块为tg3.此外这个网卡速度可达到1000Mbps。
除了使用dmesg来查询内核检测硬件产生的信息外,我们也可以通过lspci来查询相关的设备芯片。如下所示:
[root@master001 ~]# lspci | grep -i ethernet
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
二、观察网卡的模块
从上面的dmesg的输出信息中,我们知道这部主机的模块是tg3,那么内核是否已经将其顺利完成加载呢?可以利用lsmod去查看。
此外,这个模块相关信息又是如何?可以使用modinfo来查看。
[root@master001 ~]# lsmod | grep tg3
tg3 145071
确实已经加入到内核。
[root@master001 ~]# modinfo tg3
filename: /lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/tg3.ko
firmware: tigon/tg3_tso5.bin
firmware: tigon/tg3_tso.bin
firmware: tigon/tg3.bin
version: 3.122
license: GPL
description: Broadcom Tigon3 ethernet driver
author: David S. Miller (davem@redhat.com) and Jeff Garzik (jgarzik@pobox.com)
srcversion: 278309F3DAB88B371B74BBE
....................................................
一下省略
看了上面的输出信息,重点在于文件名(filename)的部分!这一长串的文件名目录,就是我们驱动程序放置的目录。需要注意的是2.6.32-279.el6.x86_64是内核的版本。
因此不同内核是哦那个的版本驱动是不一样的。所以我们一直强调更改内核后,自己编译的硬件驱动需要自己重新编译。
那么如何知道自己的网卡驱动号呢????
很简单,不管有没有网卡都可以使用ifconfig eth0 来查询网卡卡号。如果你照着上面的信息来做,发现网卡已经有驱动了。恭喜你,可以设置网络了。
如果没有扑捉到网卡????如上面错误提示,Bringing up interface em2: Device eth1 does not seem to be present, delaying...
如果开机的时候能够正确获取这个模块的话,那么网卡就是没问题的。
如果内核还是捕捉不到网卡,那就需要自己处理一下模块的关系才行。怎么处理??很简单,在/etc/modprobe.d/下建立一个名为ether.conf
的文件,内容将模块与卡号代号链接在一起即可了如下处理。
[root@master001 ~]# vim /etc/modprobe.d/ether.conf
alias eth0 th3
alias eth1 tg3
[root@master001 ~]# sync;reboot
为了测试一下刚刚的配置是否生效,通常重启一下系统。在开机完成之后观察启动网卡。并观察一下模块的加载情况,如果一切顺利,那就太完美了。