How to Find the Device Driver Used for a Device in Linux?

The device drivers are the software packages having no user interface that manage and control the system hardware devices. The external and internal devices require the drivers because they build up the connection between the device and the operating system. If the driver of a specific device is not installed, it can not work properly.

Keeping this in view, this article lists all possible ways to find the device drivers used for a device in Linux:

  • Method 1: Using “modinfo” Command
  • Method 2: Using “lsusb” Command (For USB Device)

Method 1: Using “modinfo” Command

The “modinfo” command displays the Linux kernel modules/drivers information. It returns the list of all the modules/drivers in the terminal without passing any argument.

To get the particular device driver information, specify the device name with it as follows:

$ modinfo e1000

The “e1000” device driver detail has been displayed in the output.

Method 2: Using “lsusb” Command(For USB Device)

The “lsusb” command is the built-in command line tool that lists down the USB device information connected to the system. It also provides the driver details that are installed for it. Let’s see how this command displays the USB device drivers.

Execute the “lsusb” command followed by the “-t(tree format)” flag to get the “usb” device drivers:

$ lsusb -t

The above command has displayed the “usb” device busses and drivers in the terminal.


In Linux, to find the specific device drivers use the “modinfo” command with the particular device name. Apart from other hardware devices, the user can use the “lsusb” command only to get the USB device driver details.

This article has covered all possible ways to find the device driver used for a device in Linux.