Skip to content
Printers & ScannersAdvanced

How to Install Missing Device Drivers in Ubuntu: Complete Troubleshooting Guide

Most hardware drivers in Ubuntu are included in the Linux kernel and are installed automatically with the operating system. Unlike Windows, Ubuntu usually do...

BI
Bison Technical Team Enterprise IT specialists
Updated 09 Sep 2026 14 min read 0 total views

Most hardware drivers in Ubuntu are included in the Linux kernel and are installed automatically with the operating system. Unlike Windows, Ubuntu usually does not require a separate driver installer for every device.

However, additional installation may be required for certain NVIDIA graphics cards, Broadcom or Realtek wireless adapters, printers, scanners and specialized hardware. A device can also stop working because firmware is missing, a kernel module failed to load, Secure Boot blocked a third-party module or the hardware is too new for the installed kernel.

Advertisement

This guide explains how to identify the affected hardware, find the correct Ubuntu-supported driver and install it safely.

Quick Answer

On Ubuntu Desktop, first try the graphical driver manager:

  1. Open the application menu.
  2. Search for Software & Updates.
  3. Open the Additional Drivers tab.
  4. Wait while Ubuntu searches for compatible drivers.
  5. Select the entry marked recommended.
  6. Click Apply Changes.
  7. Restart Ubuntu.

You can also detect and install recommended proprietary drivers from Terminal:

sudo apt update
sudo ubuntu-drivers devices
sudo ubuntu-drivers install
sudo reboot

The ubuntu-drivers utility is primarily useful for hardware such as NVIDIA graphics adapters. It will not necessarily list every device because most standard drivers are already part of the Linux kernel.

Understand How Ubuntu Drivers Work

Ubuntu hardware support normally consists of three components:

Component Purpose
Linux kernel module Controls communication between Ubuntu and the hardware
Firmware Code loaded into devices such as Wi-Fi, Bluetooth and graphics adapters
User-space package Provides supporting libraries, configuration tools or utilities

Therefore, a device that is not working does not always mean its driver is absent. The actual problem might be missing firmware, a disabled device, an incompatible kernel, Secure Boot, incorrect configuration or a physical hardware fault.

Step 1: Update Ubuntu Before Installing Drivers

Open Terminal with Ctrl + Alt + T, and run:

sudo apt update
sudo apt upgrade

Restart the computer if a kernel or important system package was updated:

sudo reboot

This is important because Ubuntu updates can include newer kernel drivers, firmware and hardware-specific fixes.

To check your Ubuntu version and current kernel, run:

lsb_release -a
uname -r

Step 2: Identify the Missing or Problematic Device

Do not download a driver until you know the exact hardware model and its vendor and device IDs.

Check PCI devices

PCI devices include graphics cards, Ethernet controllers, internal Wi-Fi adapters, audio controllers and storage controllers.

lspci

For a more useful view showing the active kernel driver:

lspci -k

To examine network controllers:

lspci -nnk | grep -A3 -i network

To examine graphics controllers:

lspci -nnk | grep -A3 -E "VGA|3D|Display"

Look for:

  • Kernel driver in use
  • Kernel modules
  • The hardware ID inside square brackets, such as [10ec:c821]

If a device appears but no Kernel driver in use is displayed, its driver may not be loaded.

Check USB devices

For USB Wi-Fi adapters, Bluetooth devices, webcams, scanners and other USB hardware, run:

lsusb

A USB entry normally contains a vendor and product ID, such as:

0bda:c811

That ID is often more reliable than the marketing name when searching for compatibility information.

Display detailed hardware information

Install lshw if it is not already available:

sudo apt install lshw

Check network hardware:

sudo lshw -C network

Check display hardware:

sudo lshw -C display

An entry marked UNCLAIMED commonly means that Ubuntu detected the hardware but did not attach a working kernel driver to it.

Step 3: Check Ubuntu’s Additional Drivers Tool

The safest method for supported proprietary drivers is Ubuntu’s built-in Additional Drivers utility.

  1. Connect the computer to the internet.
  2. Open Software & Updates.
  3. Select Additional Drivers.
  4. Allow Ubuntu to scan the system.
  5. Select the recommended driver.
  6. Choose Apply Changes.
  7. Restart the computer.

Ubuntu may display both open-source and proprietary choices. Unless you have a specific technical requirement, select the option Ubuntu marks as recommended.

Canonical’s current documentation continues to recommend the Additional Drivers tool for supported proprietary NVIDIA drivers on Ubuntu Desktop. Ubuntu driver documentation

Step 4: Detect Drivers from Terminal

Install the driver-detection utility if the command is unavailable:

sudo apt update
sudo apt install ubuntu-drivers-common

List compatible drivers:

ubuntu-drivers devices

Install the recommended driver automatically:

sudo ubuntu-drivers install

Restart Ubuntu:

sudo reboot

After restarting, run the detection command again and confirm that the recommended package is installed.

Installing NVIDIA Graphics Drivers

For NVIDIA graphics cards, use Ubuntu’s repositories instead of downloading an installer from an unofficial website.

Detect the available driver:

ubuntu-drivers devices

Install Ubuntu’s recommended version:

sudo ubuntu-drivers install
sudo reboot

After restarting, verify the driver:

nvidia-smi

You can also check which graphics driver the kernel is using:

lspci -nnk | grep -A3 -E "VGA|3D|Display"

Why you should avoid an NVIDIA .run installer

Installing an NVIDIA .run file manually can place driver files outside Ubuntu’s normal package-management system. This may cause the driver to fail after a kernel update and make future upgrades or removal more difficult.

Use a manual vendor installer only when Ubuntu’s packages cannot support a documented specialist requirement and you understand how to maintain the installation.

AMD and Intel Graphics Drivers

For most AMD and Intel graphics adapters, the kernel driver and Mesa graphics libraries are included with Ubuntu. Normally, you should update Ubuntu instead of searching for a separate proprietary driver:

sudo apt update
sudo apt upgrade
sudo reboot

Verify the active graphics driver:

lspci -nnk | grep -A3 -E "VGA|3D|Display"

Common kernel drivers include:

  • i915 or newer Intel graphics modules for Intel GPUs
  • amdgpu for supported AMD GPUs
  • nouveau or an NVIDIA proprietary module for NVIDIA GPUs

Do not install an unrelated third-party graphics package merely because no option appears under Additional Drivers. The absence of an entry may mean Ubuntu is already using the correct built-in open-source driver.

Installing Missing Wi-Fi or Ethernet Drivers

First identify the network adapter:

lspci -nnk | grep -A3 -i network

For a USB network adapter:

lsusb

Check the network interfaces detected by Ubuntu:

ip link

Check whether Wi-Fi is blocked:

rfkill list

If it is software-blocked, unblock it:

sudo rfkill unblock wifi

Update or reinstall Linux firmware

Many wireless adapters use firmware supplied by the linux-firmware package:

sudo apt update
sudo apt install --reinstall linux-firmware
sudo reboot

Reinstalling linux-firmware is reasonable when logs specifically indicate missing firmware or when the package may be damaged. It will not create support for hardware that the installed Ubuntu kernel does not recognize.

If the computer has no internet connection

Use one of these temporary connection methods:

  • Connect an Ethernet cable.
  • Use USB tethering from a mobile phone.
  • Use a temporarily supported USB Wi-Fi adapter.
  • Download the exact Ubuntu packages and dependencies on another system.

USB tethering is often the easiest approach because many Android phones appear as a standard USB network interface without requiring an additional driver.

Check for Missing Firmware Messages

Search the current boot’s kernel messages:

sudo journalctl -k -b | grep -i firmware

You can also check recent kernel messages:

sudo dmesg | grep -iE "firmware|failed|error"

Messages such as the following can indicate a firmware problem:

Direct firmware load failed
firmware: failed to load

Record the exact missing filename before searching for a solution. Do not download individual firmware files from unknown forums or file-sharing websites.

Check Whether a Kernel Module Is Loaded

List currently loaded modules:

lsmod

Search for a particular module:

lsmod | grep module_name

Display information about it:

modinfo module_name

Load a known module temporarily:

sudo modprobe module_name

Replace module_name with the exact verified module name. Do not guess module names or force-load drivers intended for different hardware.

If modprobe reports that the module cannot be found, the installed kernel may not contain it, the required package may be absent or the driver may need to be built separately.

Secure Boot and Third-Party Drivers

Secure Boot verifies boot components and kernel modules. Ubuntu’s officially signed kernel modules normally work with Secure Boot, but some third-party or locally compiled DKMS modules may require Machine Owner Key—or MOK—enrollment.

During driver installation, Ubuntu may ask you to create a temporary password. After restarting:

  1. Select Enroll MOK on the blue MOK management screen.
  2. Choose Continue.
  3. Confirm the enrollment.
  4. Enter the password created during installation.
  5. Restart the system.

If this step is skipped, the package may appear installed while its kernel module remains blocked.

Disabling Secure Boot is not the preferred first solution because it reduces boot-chain protection. Ubuntu documents that Secure Boot validates critical components, including kernel modules. Canonical Secure Boot documentation

Check Secure Boot status with:

mokutil --sb-state

If mokutil is unavailable:

sudo apt install mokutil

Check DKMS Driver Status

Some third-party drivers use DKMS to rebuild their kernel module whenever Ubuntu installs a new kernel.

Check their status:

dkms status

If DKMS reports a build failure, inspect the system log:

sudo journalctl -k -b

You can also review files under:

/var/lib/dkms/

A DKMS failure may be caused by missing kernel headers. Install the headers matching the running kernel with:

sudo apt install linux-headers-$(uname -r)

Then reinstall the affected Ubuntu driver package. Avoid manually deleting DKMS directories unless you have confirmed the exact broken package and have a recovery plan.

Installing Printer and Scanner Drivers

Many modern network printers support driverless IPP printing.

To add a printer in Ubuntu Desktop:

  1. Open Settings.
  2. Select Printers.
  3. Unlock the page if requested.
  4. Click Add Printer.
  5. Select the detected printer.

If the device is not detected, check that it is connected to the same network and that its IP address is reachable.

For printer troubleshooting, verify the printing service:

systemctl status cups

Restart it if necessary:

sudo systemctl restart cups

For scanners, list detected devices with:

scanimage -L

If the command is missing:

sudo apt install sane-utils

Some multifunction devices require a manufacturer-provided Ubuntu package. Confirm that it supports your exact Ubuntu release and CPU architecture before installing it.

Updating Device Firmware with fwupd

A driver and device firmware are different. Some laptops, docks, SSDs and peripherals support firmware updates through the Linux Vendor Firmware Service.

Check whether fwupd is installed:

sudo apt install fwupd

Refresh the firmware metadata:

sudo fwupdmgr refresh

List available updates:

fwupdmgr get-updates

Install supported firmware updates:

sudo fwupdmgr update

Keep the computer connected to reliable power during BIOS, UEFI or device-firmware updates. Do not interrupt the process.

When New Hardware Needs a Newer Kernel

Very new hardware may require a newer Ubuntu kernel than the one currently installed. Before changing the kernel, fully update the supported Ubuntu release:

sudo apt update
sudo apt upgrade
sudo reboot

Check the running kernel:

uname -r

For Ubuntu LTS systems, Canonical may provide a Hardware Enablement kernel. The correct package and support path depend on the Ubuntu release, installation media and system type. Do not copy an HWE installation command intended for a different Ubuntu version.

Where possible, use the current Ubuntu LTS point release or consult the official release documentation before changing kernel tracks.

Troubleshooting Common Driver Problems

Additional Drivers shows no options

This does not necessarily indicate a problem. It may mean:

  • The correct open-source driver is already included in the kernel.
  • Ubuntu does not provide a proprietary alternative.
  • Repository information has not been updated.
  • The device is not detected.
  • The required Ubuntu repository component is unavailable.

Start with:

sudo apt update
ubuntu-drivers devices
lspci -k
lsusb

The driver is installed but the device still does not work

Check whether the module is actually active:

lspci -k
lsmod

Then inspect errors:

sudo journalctl -k -b -p warning

Also check Secure Boot:

mokutil --sb-state

Wi-Fi disappeared after an update

Boot an older installed kernel temporarily:

  1. Restart the computer.
  2. Open the GRUB menu.
  3. Select Advanced options for Ubuntu.
  4. Select the previous kernel.
  5. Test the wireless adapter.

If the previous kernel works, do not immediately remove the newer kernel. Record the adapter ID, working kernel version and failing kernel version, and check for an Ubuntu update or confirmed bug report.

Ubuntu starts with a black screen after installing a graphics driver

From the GRUB menu, try Advanced options for Ubuntu and enter recovery mode. Enable networking if required and open a root shell.

Remount the root filesystem as writable:

mount -o remount,rw /

Then inspect installed NVIDIA packages:

dpkg -l | grep -i nvidia

Before removing anything, identify exactly which driver package was installed. Package removal should be treated as a recovery step, not a routine driver installation method.

A USB device is not recognized

Monitor kernel messages while reconnecting the device:

sudo dmesg --follow

Then unplug and reconnect it. Press Ctrl + C to stop monitoring.

If no new USB event appears, test another cable and port. The problem may be power, cabling, the port or the device itself rather than a missing driver.

Safe Methods Versus Risky Methods

Method Recommendation
Ubuntu Additional Drivers Recommended
Ubuntu repository packages installed with APT Recommended
ubuntu-drivers install Recommended for detected supported hardware
Manufacturer’s official Ubuntu repository Acceptable when verified and necessary
Manufacturer .deb package Use cautiously; confirm Ubuntu version and architecture
DKMS source from a trusted hardware vendor Advanced use only
Random scripts copied from forums Avoid
Unknown PPAs Avoid unless ownership and maintenance are verified
Windows .exe driver Not usable on a normal native Ubuntu installation
Forcing a driver for a different device ID Avoid

Common Mistakes to Avoid

  • Assuming every device requires a separate downloaded driver.
  • Installing the newest NVIDIA package number without checking Ubuntu’s recommendation.
  • Downloading Linux drivers from unofficial file-sharing websites.
  • Installing a driver meant for a different Ubuntu release.
  • Ignoring the computer’s amd64, arm64 or other architecture.
  • Disabling Secure Boot before checking whether MOK enrollment will solve the problem.
  • Running unverified installation scripts with sudo.
  • Compiling a driver manually before checking Ubuntu’s repositories.
  • Confusing a disabled wireless radio with a missing driver.
  • Replacing a working built-in kernel driver unnecessarily.

Information to Collect Before Asking for Help

Run the following commands and save the relevant output:

lsb_release -a
uname -r
lspci -nnk
lsusb
sudo lshw -C network
ubuntu-drivers devices
mokutil --sb-state
sudo journalctl -k -b -p warning

Some reports can contain device serial numbers, network addresses or other identifiers. Review the output and remove sensitive information before posting it publicly.

Frequently Asked Questions

Does Ubuntu install drivers automatically?

Yes. Most drivers are part of the Linux kernel and load automatically when Ubuntu detects supported hardware. Additional installation is mainly required for certain proprietary drivers, firmware packages and specialist devices.

How do I know whether a driver is missing?

Run lspci -k for PCI hardware or lsusb for USB hardware. In lspci -k, check whether the device has a Kernel driver in use entry. sudo lshw -C network may mark unsupported hardware as UNCLAIMED.

What is the easiest way to install drivers in Ubuntu?

On Ubuntu Desktop, use Software & Updates → Additional Drivers. For supported hardware from Terminal, use ubuntu-drivers devices followed by sudo ubuntu-drivers install.

Why does Additional Drivers show nothing?

The device may already be using a built-in open-source driver. It can also mean Ubuntu does not offer a proprietary alternative or has not detected the hardware.

Should I install every driver shown in Additional Drivers?

No. Install the option marked as recommended unless you have a documented reason to select another version.

Can I install Windows drivers in Ubuntu?

Windows driver installers such as .exe files cannot be installed as native Ubuntu kernel drivers. A few special compatibility tools exist for limited device types, but they are not substitutes for properly supported Linux drivers.

Why did a driver stop working after a kernel update?

An external DKMS module may have failed to rebuild for the new kernel, Secure Boot may have rejected it or the new kernel may contain a regression. Check dkms status, kernel logs and the previous kernel from GRUB.

Is it safe to disable Secure Boot?

Disabling Secure Boot may allow an unsigned module to load, but it weakens boot-chain protection. First use Ubuntu-signed packages and complete any requested MOK enrollment.

Do AMD and Intel graphics cards require manual drivers?

Usually not. Their standard graphics drivers are generally included in the Linux kernel and Mesa packages. Keeping Ubuntu updated is normally the correct approach.

Can updating linux-firmware fix Wi-Fi or Bluetooth?

It can help if the kernel driver exists but requires a missing or outdated firmware file. It will not help if the hardware has no compatible kernel driver.

Should I add a PPA to obtain a driver?

Only when the source is reputable, actively maintained, supports your exact Ubuntu release and solves a confirmed requirement. Official Ubuntu repositories should remain the first choice.

Is rebooting required after driver installation?

A reboot is strongly recommended after installing or changing graphics drivers, kernel modules, kernels or firmware. Some USB-device drivers can load without restarting, but rebooting provides a clean verification.

Conclusion

Ubuntu automatically supports most devices through its kernel and firmware packages. When hardware is not working, begin by updating Ubuntu and identifying the exact device with lspci -k, lsusb or lshw. Use Additional Drivers or packages from Ubuntu’s repositories whenever possible.

Avoid installing random scripts, unsupported packages or drivers intended for another Ubuntu release. If an installed driver does not load, investigate the kernel logs, Secure Boot status, firmware messages and DKMS state before replacing or removing packages.

Last reviewed: September 2026

Authoritative references: Ubuntu Desktop documentation, Canonical driver-installation guidance, Canonical Secure Boot documentation

 

#Ubuntu #UbuntuDrivers #LinuxDrivers #DeviceDrivers #MissingDrivers #UbuntuHelp #UbuntuTutorial #LinuxTutorial #UbuntuDesktop #UbuntuServer #HardwareDrivers #AdditionalDrivers #UbuntuTroubleshooting #LinuxTroubleshooting #NVIDIADriver #AMDGraphics #IntelGraphics #WiFiDriver #WirelessDriver #NetworkDriver #BluetoothDriver #AudioDriver #PrinterDriver #ScannerDriver #USBDriver #LinuxFirmware #UbuntuFirmware #KernelModule #LinuxKernel #UbuntuCommands #LinuxCommands #UbuntuTerminal #UbuntuHardware #HardwareDetection #SecureBoot #MOKEnrollment #DKMS #UbuntuWiFi #UbuntuGraphics #UbuntuNetwork #UbuntuPrinter #UbuntuBluetooth #UbuntuAudio #OpenSourceDrivers #ProprietaryDrivers #LinuxHardware #UbuntuGuide #TechSupport #SystemAdministration #BisonInfosolutions

YOUR FEEDBACK

Was this guide useful?

Your answer helps us keep BISONKB accurate and practical.

THE BISON BRIEF

Practical IT knowledge, once a week.

New troubleshooting guides, scripts and infrastructure notes. No noise.

By subscribing, you agree to our privacy policy.