Search code examples
drivernic

How is the NIC driver reported by lshw related to the modules reported by lsmod?


I am upgrading my internet plan to 300 Mbps and wondering if my configuration can make use of it. Perhaps I need to upgrade my NIC. So loking into the NIC spec I noticed that there is a fairly recent driver release and want to know if I'm using it. So:

   lshw -class network
   description: Ethernet interface
   product: 82579V Gigabit Network Connection
   vendor: Intel Corporation
   <....>
   configuration: .... driver=e1000e driverversion=3.2.6-k 

That's the up-to-date driver, but then I run lsmod and to my very limited understanding of lsmod output this driver is not in use. I'm missing something right? Would someone explain please?

    lsmod | grep e1000
    e1000e                249856  0
    ptp                    20480  1 e1000e

Thanks.


Solution

  • Zero means this module is not used by some other module. For example, ptp is used somehow by e1000e (some symbols from this module are needed by e1000e).

    You may check the driver being used by the NIC if you know the interface name (eg. eno1):

    cat /sys/class/net/eno1/device/uevent
    

    The output:

    DRIVER=e1000e
    PCI_CLASS=20000
    PCI_ID=8086:1503
    PCI_SUBSYS_ID=1043:849C
    ...