Garfier 2011-03-17
有些时候你可能想知道某个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}'
或
# find /sys/bus/pci/drivers/ | grep $(lspci | grep Ethernet | head -1 | awk '{print $1}') | awk -F/ '{print $6}'
完 :-)