Linux下如何确定网卡所使用的驱动程序

有些时候你可能想知道某个Linux系统的网卡正在使用什么驱动程序,下面简单介绍下如何解决这个问题。

1. 无论是集成网卡还是独立的网卡,都必须通过某种方式连接到PCI总线上,这样的话,必定有有一个代号,这个代号可以通过下面的命令获得:

# lspci | grep Ethernet 
02:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)

最前面的 “02:00.0” 就是设备在PCI总线上的代号,该代号在整个系统中是唯一的。

2. 得到网卡的PCI代号之后,我们就可以在sysfs中查找它的驱动了,命令如下:

# cd /sys/bus/pci/drivers 
# find | grep '02:00.0' 
./e1000e/0000:02:00.0

3. 通过上面的命令,我们可以发现,设备在“e1000e”文件夹下,也就是说,网卡的驱动就是e1000e。

4. 小结下,在Linux系统上,找出网卡正在使用的驱动的命令如下:

# code=$(lspci | grep Ethernet | head -1 | awk '{print $1}') 
# find /sys/bus/pci/drivers/ | grep $code | awk -F/ '{print $6}'

相关推荐