Removing Wi-Fi drivers in Linux is a task faced by both novice and experienced users. This is most often required due to kernel module conflicts, incorrect adapter operation, or after unsuccessful installation of proprietary drivers from manufacturers such as Broadcom, Intel or RealtekUnlike Windows, where drivers are removed through the Device Manager, in Linux the process depends on how they are installed: via a package manager, DKMS, or manually from source files.
This article will help you figure out how completely clean the system Remove unnecessary Wi-Fi drivers while avoiding common mistakes. We'll cover methods for various distributions (Ubuntu/Debian, Arch Linux, Fedora), and we'll also look at how to restore network functionality if the adapter is no longer detected after uninstalling the driver. It's important to understand that incorrect actions can lead to loss of network connection—therefore Always have a backup internet access method on hand (for example, an Ethernet cable or USB modem).
1. Check current Wi-Fi drivers
Before removing anything, you need to determine which modules are responsible for Wi-Fi operation on your system. To do this, use the following terminal commands:
lspci -knn | grep -iA3 net # For PCI adapters (built into laptops/PCs)lsusb | grep -i wireless # For USB adapters
lsmod | grep -i wifi # List loaded kernel modules
Team lspci -knn will display a list of network devices indicating the driver used (field Kernel driver in use). For example, for adapters Intel AX200 it could be iwlwifi, and for Broadcom BCM4313 — brcmfmac or wlRemember or write down these names - you will need them for accurate removal.
If in the output lsmod you see several modules (for example, brcmfmac And wl at the same time), this is a sign of a conflict. In this case, it is enough to remove the proprietary driver (wl), since the open module (brcmfmac) is already built into the kernel.
⚠️ Attention: Some drivers (eg. iwlwifi (for Intel) are part of the Linux kernel and cannot be removed without rebuilding the kernel. They can only be disabled (see Section 4 for more information).
2. Removing drivers installed via the package manager
If the driver was installed through standard repositories (for example, the package firmware-b43-installer For Broadcom in Debian), it can be removed using standard tools.
For Debian/Ubuntu:
sudo apt purge package_name # For example: sudo apt purge bcmwl-kernel-source
sudo apt autoremove # Remove dependencies
For Arch Linux/Manjaro:
sudo pacman -Rns package_name # For example: sudo pacman -Rns broadcom-wl-dkms
For Fedora/RHEL:
sudo dnf remove package_name # For example: sudo dnf remove akmod-wl
After uninstallation, reboot the system or manually unload the module:
sudo modprobe -r module_name # For example: sudo modprobe -r wl
To make sure the driver has actually been removed, check the list of loaded modules again:
lsmod | grep -i wifi
Recorded the name of the current driver from `lspci`
Checked package dependencies (`apt depends` or `pactree`)
Connected a backup internet connection (Ethernet/USB)
Created a restore point (optional, for LVM/Btrfs)-->
3. Removing DKMS drivers
Drivers installed via DKMS (Dynamic Kernel Module Support) require special attention. They are automatically rebuilt when the kernel is updated, so they must be removed from both DKMS and the system.
First, check the list of installed DKMS modules:
dkms status
In the output you will see something like:
bcmwl, 6.30.223.271, 5.15.0-76-generic, x86_64: installed
Remove the module with the command:
sudo dkms remove -m module_name -v version --all # For example: sudo dkms remove -m bcmwl -v 6.30.223.271 --all
sudo dkms uninstall -m module_name -v version --all
Then remove the package itself via the package manager (as in section 2) and clear the DKMS cache:
sudo rm -rf /usr/src/module_name-version/ # For example: sudo rm -rf /usr/src/bcmwl-6.30.223.271/
⚠️ Attention: If the system does not boot after removing the DKMS module, usechrootfrom a LiveCD for recovery. Always make sure you have a backup copy of the kernel configuration (/boot/config-$(uname -r)).
4. Disabling kernel-integrated drivers
Some drivers (eg. iwlwifi For Intel or rtl8xxxu For Realtek) are part of the kernel and cannot be removed by traditional methods. However, they can be turn off, adding to the blacklist.
Create a configuration file for the modules:
sudo nano /etc/modprobe.d/blacklist-wifi.conf
Add lines to it to block unnecessary modules:
blacklist wlblacklist bcma
blacklist brcmsmac
Save the file (Ctrl+O, then Ctrl+X) and update the module initialization:
sudo update-initramfs -u # For Debian/Ubuntu
sudo dracut --force # For Fedora/RHEL
After rebooting, check that the modules are indeed not loading:
dmesg | grep -i "blacklisted"
5. Removing drivers installed from source files
If the driver was compiled from source (for example, from GitHub for Realtek RTL88x2BU), its removal requires manual cleaning. Usually, the driver archive contains a script uninstall.sh or instructions in README.
Typical steps:
- Go to the directory with the driver sources:
- Run the uninstall script (if any):
- Remove compiled modules manually:
- Update module dependencies:
cd ~/downloads/driver_name/
sudo ./uninstall.sh
sudo rm -f /lib/modules/$(uname -r)/kernel/drivers/net/wireless/module_name.ko
sudo depmod -a
If you don't remember where the source files were, search for the compiled modules by name:
sudo find /lib/modules/ -name "module_name"
⚠️ Warning: Deleting incorrect files.komay cause the system to crash. Always double-check paths and use the commandmodinfo module_name, to ensure its purpose.
6. Restoring Wi-Fi after removing drivers
If after uninstalling the driver the Wi-Fi adapter is no longer detected, follow these steps:
- Check module loading:
- Load the module manually:
- Check RFKill blocking:
dmesg | grep -i firmware
If there are errors in the logs like firmware: failed to load, then the firmware files are missing. Install them:
sudo apt install linux-firmware # Debian/Ubuntu
sudo pacman -S linux-firmware # Arch Linux
sudo modprobe module_name # For example: sudo modprobe rtl8188ee
rfkill list
sudo rfkill unblock wifi
If the adapter still doesn't work, you may need to install a different driver. To do this:
- 🔍 Check the chip model via
lspci -knn | grep -iA3 net. - 📥 Download the recommended driver from the manufacturer's website or from the repositories.
- 🔄 Reboot your system after installation.
What to do if Wi-Fi disappears after a kernel update?
After a kernel update, old DKMS modules may not be rebuilt automatically. Check the DKMS status (dkms status) and, if necessary, reassemble the modules manually:
sudo dkms install -m module_name -v version -k $(uname -r)
If the problem persists, uninstall and reinstall the driver.
7. Table: Popular Wi-Fi drivers and commands for removing them
| Manufacturer | Kernel module | Package to remove (Debian/Ubuntu) | Removal package (Arch Linux) |
|---|---|---|---|
| Broadcom | wl, b43 |
bcmwl-kernel-source |
broadcom-wl-dkms |
| Intel | iwlwifi |
Built into the kernel (disable via blacklist) | Built into the kernel |
| Realtek (RTL8188EU, RTL8821CE) | rtl8xxxu |
rtl8188eu-dkms |
rtl8188eu-dkms-git |
| Realtek (RTL88x2BU) | 88x2bu |
Delete manually (from sources) | rtl88x2bu-dkms-git |
| Atheros | ath9k, ath10k |
Built into the kernel | Built into the kernel |
If your driver is not listed in the table, please refer to your distribution's documentation or the chip manufacturer's official website.
Frequently Asked Questions (FAQ)
Is it possible to remove the Wi-Fi driver without losing internet access?
Yes, but only if you have a backup connection (Ethernet, USB modem). If Wi-Fi is your only way to access the internet, do not delete the driveruntil you download a replacement. As a last resort, use a LiveCD and save the data to a separate disk.
After uninstalling the driver, the Wi-Fi adapter disappeared from the system. What should I do?
Most likely, the adapter is using a different driver, which has also been removed or blocked. Check:
- Conclusion
lspci -knn | grep -iA3 net- If the driver is not listed, install it again. - Firmware availability:
sudo apt install firmware-misc-nonfree(Debian/Ubuntu). - Blocking in
rfkill(see section 6).
If the adapter is not physically detected, test it on another system - the problem may be a hardware fault.
How do I know which driver I need for my Wi-Fi adapter?
Use commands:
lspci -knn | grep -iA3 net # For PCI adapters
lsusb | grep -i wireless # For USB adapters
Copy the IDs Vendor:Device (For example, 14e4:43a0 For Broadcom) and find the recommended driver in the database Linux Wireless Wiki.
Is it possible to roll back a deleted driver?
Yes, if you removed it via the package manager, just reinstall the package:
sudo apt install package_name
If the driver was compiled from source, restore the source and reinstall. For DKMS modules, use:
sudo dkms install -m module_name -v version -k $(uname -r)
Why did Wi-Fi stop working after updating the kernel?
This is a typical issue with DKMS drivers. When updating the kernel, old modules are not always rebuilt automatically. Solution:
sudo dkms autoinstall
sudo modprobe -a module_name
If this does not help, uninstall and reinstall the driver (see section 3).