Uninstalling the Wi-Fi driver in Ubuntu This may be necessary in a variety of situations, from conflicts between software versions to the need to install an alternative driver to improve connection stability. Most often, problems arise with adapters. Broadcom, Realtek And Intel, where the standard drivers from the repositories work incorrectly or are missing altogether. However, before proceeding with the removal, it's important to understand: incorrect actions can leave the system without a network connection at all.
This article will help you understand how to safely uninstall the current driver, check dependent packages, and restore Wi-Fi functionality. We'll cover both manual methods via the terminal and graphical tools, and we'll also address common errors that may arise during the process. If you've encountered Wi-Fi problems after a system update, or your adapter is detected as an unknown device, you'll find the solution here.
We will pay special attention to drivers with closed source code (for example, bcmwl-kernel-source For Broadcom), as removing them requires additional steps to clean the system of residual files. We'll also cover the issue of backing up configurations so you can quickly roll back to a working version if something goes wrong.
Why you might need to uninstall your Wi-Fi driver
While driver removal may seem like a last resort, it's actually one of the most effective ways to resolve connection issues. Here are the most common reasons why users Ubuntu resort to this procedure:
- 🔄 Driver version conflict: After updating the system or Linux kernel, the old driver may conflict with the new one, resulting in constant connection drops or no network at all.
- 🚫 The adapter is not working correctly: Wi-Fi is detected by the system, but does not catch networks, connects only to certain access points, or works at a reduced speed.
- 🔧 Installing an alternative driver: for example, switching from a proprietary driver Broadcom to the open
b43or vice versa. - 🐛 Bugs in the current version: some drivers (especially for Realtek RTL88x2bu) contain critical errors that interfere with normal operation.
- 🔄 Cleaning the system: Before installing a new version of Ubuntu or switching to another distribution, it is recommended to remove unnecessary drivers.
Before proceeding with the uninstallation, make sure that the problem is actually related to the driver. To do this, check the system logs (dmesg | grep wifi) or the state of network interfaces (ip a). If the adapter does not appear in the list of devices (lspci -knn | grep Net -A3), the problem may be hardware related.
⚠️ Attention: If you're using a laptop with a single Wi-Fi adapter and don't have access to a wired connection (Ethernet), prepare a live Ubuntu disc or another distribution in advance. This will help you restore your system if the network connection is completely lost after uninstalling the driver.
Checking the Current Wi-Fi Driver in Ubuntu
Before uninstalling, you need to determine exactly which driver is currently being used by your adapter. There are several ways to do this, some of which will provide additional information about the device's status.
The easiest method is to use the command lspci for PCI devices or lsusb For USB adapters. For example, for PCI:
lspci -knn | grep -iA3 net
In the output, pay attention to the line Kernel driver in use — this is the name of the active driver. It's similar for USB adapters:
lsusb
dmesg | grep -i wifi
More detailed information can be obtained through the utility lshw:
sudo lshw -class network
Not only the driver will be listed here, but also logical interface name (For example, wlp3s0), as well as supported Wi-Fi standards (802.11a/b/g/n/ac).
| Team | What does it show? | Output example |
|---|---|---|
lspci -knn | grep Net -A3 |
PCI devices and their drivers | 03:00.0 Network controller [0280]: Broadcom Inc. BCM43142 [14e4:4365] (rev 01) |
lsusb |
USB devices (including Wi-Fi adapters) | Bus 001 Device 003: ID 0bda:b812 Realtek Semiconductor Corp. RTL88x2bu |
dmesg | grep -i firmware |
Downloaded firmware files | [ 12.345678] iwlwifi 0000:03:00.0: loaded firmware version 36.77d01142.0 op_mode iwlmvm |
modinfo <driver_name> |
Detailed information about the kernel module | filename: /lib/modules/5.15.0-76-generic/kernel/drivers/net/wireless/broadcom/b43/b43.ko |
If you see multiple drivers for one device in the command output (for example, wl And b43), this means that there are conflicting modules installed in the system. In this case, you need to delete everything except what you need.
Preparing the system before removing the driver
Removing the Wi-Fi driver interferes with critical system components, so before you begin, it's important to take a few preparatory steps. This will help prevent network connection loss and simplify rollbacks in the event of an error.
Firstly, Make sure you have a backup method of connecting to the internetThis could be:
- 🔌 A wired connection (Ethernet) is the most reliable option.
- 📱 USB modem or smartphone in hotspot mode (via USB or Bluetooth).
- 💿 Ubuntu live disk - if there are no other options.
Secondly, create a backup of your current network configurationsTo do this, copy the files from the directory /etc/NetworkManager/:
sudo cp -r /etc/NetworkManager /etc/NetworkManager_backup
It is also useful to keep a list of installed Wi-Fi related packages:
apt list --installed | grep -iE 'firmware|wireless|wifi|bcm|rtl|iwl' > wifi_packages.txt
If you are using proprietary drivers (eg. bcmwl-kernel-source For Broadcom), write down their exact names—you'll need them for complete removal. Check dependent packages:
apt-cache depends <package_name>
⚠️ Attention: Some drivers (for example, for Realtek RTL88x2bu) are installed via DKMS (Dynamic Kernel Module Support). If you remove such a driver without clearing DKMS, it may be automatically restored after a kernel update. To avoid this, use the command sudo dkms remove -m <module_name> -v <version> --all.
Back up network configurations|Check for an alternate internet connection|Write down the current driver name|Save a list of dependent packages|Check for DKMS modules-->
Uninstalling the Wi-Fi driver via the terminal
Now let's move on to the removal itself. The process depends on the driver type: proprietary (closed) or open (from the kernel repositories). Let's consider both options.
1. Removing proprietary drivers (e.g. Broadcom wl)
Proprietary drivers such as bcmwl-kernel-source for adapters Broadcom, are installed through packages .deb and may conflict with open source alternatives. To remove them completely:
sudo apt purge bcmwl-kernel-source
After removing the package Be sure to block it from being installed again, as the system may try to restore it during the next update:
sudo apt-mark hold bcmwl-kernel-source
To clean up residual files, use:
sudo apt autoremove
2. Removing open drivers (b43, rtl8xxxu, etc.)
Open source drivers are typically included in the Linux kernel, but can be installed as separate modules. For example, to remove a driver rtl8821ce For Realtek RTL8821CE:
sudo modprobe -r rtl8821ce # Unloading a module from the kernel
sudo rmmod rtl8821ce # Alternative method of unloading
If the driver was installed via DKMS, remove it as follows:
sudo dkms remove -m rtl8821ce -v 5.5.2 --all
sudo dkms uninstall -m rtl8821ce -v 5.5.2 --all
For a complete cleanup, also remove firmware files if they were installed manually:
sudo rm -rf /lib/firmware/rtlwifi/
⚠️ Attention: Deleting files from /lib/firmware may cause other network devices to stop working if they use shared firmware. Before deleting, review the directory's contents and ensure you're only deleting files related to your adapter.
3. Driver blacklist
If a driver is embedded in the kernel and can't be removed using standard methods, it can be blocked using a blacklist. To do this:
- Open the blacklist file:
sudo nano /etc/modprobe.d/blacklist.conf - Add a line with the module name:
blacklist <driver_name>For example, for
b43:blacklist b43 - Save the file (
Ctrl+O, thenCtrl+X) and update the initramfs:sudo update-initramfs -u
Restoring Wi-Fi after uninstalling the driver
After uninstalling the old driver, the system may be left without functional Wi-Fi. In this case, you will need to either install an alternative driver or restore the removed one. Let's consider both scenarios.
1. Installing an alternative driver
If you have uninstalled a proprietary driver (eg. wl For Broadcom), you can try an open alternative b43To do this:
sudo apt update
sudo apt install firmware-b43-installer
For adapters Realtek (For example, RTL8821CE) installation from source may be required:
sudo apt install git dkmsgit clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
sudo ./dkms-install.sh
After installation, reboot the system and check Wi-Fi operation:
sudo reboot
ip a # Check for the presence of a network interface (e.g. wlp3s0)
2. Roll back to the previous driver version
If the new driver performs worse than the old one, you can restore the removed one. To do this:
- Check the history of installed packages:
grep -i "install\|remove" /var/log/apt/history.log | grep -i wifi - Install the required version of the package (for example, for
bcmwl-kernel-source):sudo apt install bcmwl-kernel-source=6.30.223.271+bdcom-0ubuntu4 - Unlock the package if it has been blocked:
sudo apt-mark unhold bcmwl-kernel-source
If the package was removed along with its dependencies, restore them:
sudo apt install --reinstall linux-firmware
What should I do if the Wi-Fi adapter disappears from the system after uninstalling the driver?
If the adapter is not displayed in lspci or lsusb, this may mean that:
1. The driver was critical to initialize the device (for example, some adapters Realtek require firmware to start).
2. The device is physically disconnected (check the Wi-Fi switch on the laptop or the connection of the USB adapter).
3. There was a failure in the PCI/USB controller (reboot the system or check the kernel logs: dmesg | grep -i error).
As a last resort, try booting the system with the kernel parameter acpi=off (for laptops) or pci=noacpi, adding it to GRUB at boot.
Troubleshooting common driver uninstallation errors
Even when following instructions strictly, errors can still occur. Let's look at the most common issues and how to solve them.
| Error | Possible cause | Solution |
|---|---|---|
modprobe: FATAL: Module <name> not found |
The module has already been removed or was never installed. | Check the list of loaded modules: lsmod | grep <name>If the module is missing, the error is not critical. |
dkms: remove: Error! Could not locate dkms.conf file. |
The DKMS module was removed incorrectly or the configuration files are corrupted. | Remove the module manually: sudo rm -rf /usr/src/<module_name>-<version>, then update DKMS: sudo dkms autoinstall. |
| After rebooting, the old driver was restored. | The module is built into the kernel or installed via DKMS with automatic rebuilding. | Add the module to the blacklist (see the section above) and remove it from DKMS: sudo dkms remove -m <name> --all. |
E: Unable to locate package <name> |
The package is missing from the repositories or has an invalid name. | Check the exact package name: apt search <part_of_name>For proprietary drivers, you may need to enable the repository. restricted. |
| Wi-Fi works, but is very slow or disconnects frequently | Incorrect driver or missing firmware | Install the recommended firmware: sudo apt install firmware-<name> (For example, firmware-iwlwifi For Intel). |
If none of the methods helped, check system logs for errors:
journalctl -xe | grep -i wifi
dmesg | grep -i firmware
Pay special attention to messages like firmware: failed to load — they indicate missing firmware files. In this case, download the necessary files from the manufacturer's official website and place them in /lib/firmware/.
Alternative ways to manage Wi-Fi drivers
Not everyone is comfortable using the terminal, so Ubuntu offers graphical tools for managing drivers. Let's look at the two main methods.
1. Additional Drivers utility
This is a built-in application for managing proprietary drivers. To open it:
- Go to
Applications menu → Additional drivers(or dosudo software-properties-gtk --open-tab=4). - Find your Wi-Fi adapter in the list. The system will display available drivers (for example, Broadcom 802.11 Linux STA wireless driver).
- Select the required driver and click Apply changes.
If a driver is marked as "not in use," it means it's installed but not loaded. In this case:
sudo modprobe -v <driver_name>
2. Utility Ubuntu Drivers (for server editions)
On server versions of Ubuntu or without a graphical interface, you can use the utility ubuntu-drivers:
sudo ubuntu-drivers list # List available drivers
sudo ubuntu-drivers autoinstall # Automatically install recommended drivers
To remove a driver using this utility, first identify its package:
sudo ubuntu-drivers list-devices
Then remove the package in the standard way via apt.
⚠️ Attention: Graphical utilities don't always display all available drivers, especially if they're installed from source or via DKMS. For full control, it's recommended to use the terminal.
FAQ: Frequently asked questions about uninstalling Wi-Fi drivers in Ubuntu
Is it possible to remove the Wi-Fi driver without losing internet access?
Yes, if you have an alternative connection (Ethernet, USB modem, or another Wi-Fi adapter). If not, download all the necessary packages and firmware to a flash drive or other storage device in advance. You can also use an Ubuntu live disk to restore the network.
How do I know which driver I need for my adapter?
Use commands lspci -knn | grep -iA3 net (for PCI) or lsusb (for USB). By device identifiers (for example, [14e4:4365] For Broadcom) find the recommended driver in official Linux kernel documentation.
After uninstalling the driver, the Wi-Fi adapter disappeared from the system. What should I do?
This may mean that the adapter requires firmware to initialize. Check the kernel logs (dmesg | grep -i firmware) and install the missing firmware files. For example, for Intel this is a package firmware-iwlwifi, For Broadcom — firmware-b43-installer.
How to completely remove a driver installed via DKMS?
First, remove the module from DKMS:
sudo dkms remove -m <name> -v <version> --all
Then delete the original files:
sudo rm -rf /usr/src/<name>-<version>
And clear the DKMS cache:
sudo dkms autoinstall
Is it possible to use Windows drivers in Ubuntu?
Technically yes, with the help of NDISWrapper, but this is not recommended. Such drivers are often unstable and can cause the system to crash. It's better to find a native Linux driver or use an open-source alternative.