- How to Install Realtek Wifi Drivers in Ubuntu 22.04 | Linux Mint 21/20
- How to Tell Which Wi-Fi Chipset you have?
- Install Realtek Wi-Fi Driver from PPA:
- Step 1: Disable Secure Boot
- Step 2: Add the Ubuntu PPA
- Step 3: Update the cache
- Step 4: Select install driver package for your chipset
- Step 5: Load the driver (Kernel Module)
- How to Uninstall:
- How to find out which Wi-Fi driver is installed?
- Introduction
- 1. Check for Loaded Device Drivers
- 2. Choosing, Finding and Installing Drivers
- 2.1. Using Native Linux Drivers
- 2.2. Using ndiswrapper for Cards Without a Linux Driver
- 3. Check Driver
- 3.1. Multiple drivers loaded
- 3.2. Driver looks ok, device disabled
How to Install Realtek Wifi Drivers in Ubuntu 22.04 | Linux Mint 21/20
Linux Kernel keeps updating with new device drivers. But, there are still some devices lack out-of-box support. Thanks to the open-source community, there are always a group of people maintaining missing drivers.
How to Tell Which Wi-Fi Chipset you have?
Firstly, you may want to find out the device name of your wireless network card. In Ubuntu or Linux Mint, you may just search for and open “hardinfo” (aka, System Profiler and Benchmark) either from start menu or ‘Activities’ overview.
Install "hardinfo" via Ubuntu Software or Synaptic Package Manager if you don't have it.
When it opens, navigate to “Devices -> PCI Devices“. Then, find out the network controller information in the right. For USB Wi-Fi adapter, go find it under “Devices -> USB Devices“.
For those familiar Linux command, use lspci command to find integrated network card or lsusb for USB adapter:
Install Realtek Wi-Fi Driver from PPA:
There’s a github repository that maintains RTL8822BE, RTL8822CE, RTL8821CE, RTL8723DE, RTL8723AU, RTL8723BU, RTL8188EU driver source codes. Advanced users may go to that page, grab the source and build by yourself.
To make life easier, the kablosuz-wireless PPA maintains the driver packages for:
- rtl8723bu, rtl8822bu, rtl8188eu, rtl8188eus, rtl8188fu, rtl8188gu, rtl8192cu, rtl8192du, rtl8192ee, rtl8192eu, rtl8192fu, rtl8723au, rtl8723bu, rtl8723de, rtl8723ds, rtl8723du, rtl8812au, rtl88XXau, rtl8814au, rtl8821ce, rtl8821cu, rtl8822bu, rtl8822ce, rtl8852au, rtw88, and rtw89.
The guy also maintains another PPA with packages for:
- r8101, r8125, RTL8152/RTL8153/RTL8156, r8168, rts5139, and rts5229 network drivers.
Step 1: Disable Secure Boot
The drivers are built in DKMS mode that will work (rebuild automatically) even after update to new Kernel series. If you have your system installed in UEFI mode, you have to disable secure boot first.
1. To verify if your system is installed in UEFI mode, open terminal (Ctrl+Alt+T) and run command:
[ -d /sys/firmware/efi ] && echo "EFI" || echo "BIOS"
2. To check the status of secure boot:
If secure boot is enabled, reboot into BIOS/UEFI settings and disable it!
Step 2: Add the Ubuntu PPA
First, open terminal by pressing Ctrl+Alt+T key combination on keyboard. When it opens, run the command below to add the PPA:
sudo add-apt-repository ppa:kelebek333/kablosuz
For r8101, r8125, RTL8152/RTL8153/RTL8156, r8168, rts5139, and rts5229 network drivers, add another PPA:
sudo add-apt-repository ppa:kelebek333/drivers
Step 3: Update the cache
Ubuntu 22.04 now automatically updates the cache while adding PPA. But, Linux Mint does not. So you have to manually run the command below to refresh cache:
Step 4: Select install driver package for your chipset
Open “Synaptic Package Manager“, navigate to “Origin” tab in the left. Finally click on “LP-PPA-kelebek333-drivers” or “LP-PPA-kelebek333-kablosuz” to list all the packages from that repository. Finally, right-click on desired driver package, mark for installation, and click Apply.
Install Synaptic Package Manager from Ubuntu Software if you don't have it.
Or, you can install the package via apt command (for example, install r8822bu driver):
sudo apt install r8822bu-dkms
Keep an eye on output info while installing the package. It tells where to install the Kernel modules.
Step 5: Load the driver (Kernel Module)
After installing the driver package, restart your computer. Then, you may find out the modules via:
ls /usr/lib/modules/$(uname -r)/updates/dkms
The command should outputs the previously installed Kernel modules in .ko
files.
You can finally, load the driver ( 8723ds for example) via command:
And, verify via lsmod command with ‘grep’ filter:
If you have loaded the correct network driver, Wi-Fi should work now!
How to Uninstall:
To unload the driver module, use modprobe command with -r flag. For example, unload ‘8723ds’ via command:
And, to remove the driver package, either use “Synaptic Package Manager” or run apt remove command:
sudo apt remove package_name
To remove the Ubuntu PPAs, use command:
sudo add-apt-repository --remove ppa:kelebek333/kablosuz
sudo add-apt-repository --remove ppa:kelebek333/drivers
How to find out which Wi-Fi driver is installed?
In other words, the /sys hierarchy for the device ( /sys/class/net/$interface/device ) contains a symbolic link to the /sys hierarchy for the driver. There you’ll also find a symbolic link to the /sys hierarchy for the module, if applicable. This applies to most devices, not just wireless interfaces.
Maybe there’s a better way, but I’ve used lshw -class network (as root) and it gives me this output:
*-network description: Ethernet interface product: 82566MM Gigabit Network Connection vendor: Intel Corporation physical id: 19 bus info: pci@0000:00:19.0 logical name: eth0 version: 03 serial: 00:a0:d1:a3:87:c8 size: 1GB/s capacity: 1GB/s width: 32 bits clock: 33MHz capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=1.0.2-k2 duplex=full firmware=0.3-0 ip=192.168.2.206 latency=0 link=yes multicast=yes port=twisted pair speed=1GB/s resources: irq:29 memory:fc300000-fc31ffff memory:fc325000-fc325fff ioport:1840(size=32) *-network description: Wireless interface product: PRO/Wireless 4965 AG or AGN [Kedron] Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:06:00.0 logical name: wlan0 version: 61 serial: 00:1d:e0:69:28:07 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwlagn ip=192.168.0.104 latency=0 multicast=yes wireless=IEEE 802.11abgn resources: irq:31 memory:c8000000-c8001fff *-network DISABLED description: Ethernet interface physical id: 3 logical name: vboxnet0 serial: 0a:00:27:00:00:00 capabilities: ethernet physical configuration: broadcast=yes multicast=yes
You can grep for driver from that output. In my case I use lsmod | grep iwlagn , giving me:
iwlagn 63559 0 iwlcore 67702 1 iwlagn mac80211 123574 2 iwlagn,iwlcore cfg80211 87657 3 iwlagn,iwlcore,mac80211
Don’t ask me what each of those mean 🙂
Introduction
This part of the guide is designed to help you troubleshoot your wireless adpater’s driver issues. This page is part of the WirelessTroubleShootingGuide. You should have correctly identified your device as detailed in the Devices page of this guide. See also the comprehensive explanations of commands for troubleshooting your wireless.
1. Check for Loaded Device Drivers
First you should check if a driver automatically loaded. (Your device may be supported in Ubuntu with a native driver.) Use the lshw command. As explained under lshw, if there is a line saying configuration: . driver=. in the description of the wireless card, this indicates the driver is installed.
If you are not running the most recent kernel, update your system (System > Administration > Update Manager). Drivers, especially wireless, are constantly being added and modified.
2. Choosing, Finding and Installing Drivers
2.1. Using Native Linux Drivers
- Check in System > Administration > Hardware Drivers for a binary driver. For instance, many Broadcom cards will work with the Broadcom STA driver. Unfortunately, the driver is proprietary (the source code is not freely available), and so cannot be installed automatically as part of Ubuntu. If you are willing to accept this limitation, activate the driver.
- Search your card manufacturer’s website for a Linux driver.
2.2. Using ndiswrapper for Cards Without a Linux Driver
- You can check here to see if your card is supported by ndiswrapper.
- full information on ndiswrapper kept on this page including troubleshooting help specific to ndiswrapper.
- There may be a native driver that comes with Ubuntu which is conflicting with ndiswrapper. In such cases, if you want to use ndiswrapper, you can blacklist the native driver. See below for details.
3. Check Driver
- Run the command lsmod to see if driver is loaded. (look for the driver name that was listed in the output of lshw, «configuration» line).
- If you did not see the driver module in the list then use the modprobe command to load it.
- If you see two modules (usually ndiswrapper and a native Linux driver) blacklist one of them (see below).
- run the command sudo iwconfig. If you see output like in the example in the command section then the driver is at least identifying the device as a wireless device to the kernel.
- Opening networking in system>administration> and seeing the device in the list is how to identify through a gui if the driver is at least communicating with the kernel.
- run the command sudo iwlist scan to scan for a router. If an access point is identified this shows that the card is probably working properly as it can complete a wireless interface task. (note not all cards support scanning)
3.1. Multiple drivers loaded
For some cards (e.g., SMC2632W v1.02), an additional set of drivers is incorrectly loaded, effectively disabling wireless networking by generating two apparent wifi cards where there should only be one. Typically, you’ll see entries for both eth1 and wlan0_rename after running the iwconfig command, with your communication speed divided evenly between them. One of those drivers should not be loaded, and should be blacklisted. To do so, edit /etc/modprobe.d/blacklist and add the following lines:
where is, for example, «hostap» (the «hostap» driver apparently causes problems for several cards). Then save, reboot, and check your connection with iwconfig.
3.2. Driver looks ok, device disabled
Newer laptops come with battery saving features to disable the wireless radio. Usually this is switched by a FN+Fx key combo or a specific button for the purpose. It is possible the driver and connection is ok but the wireless device is disabled and can’t be used. Using the designated key(s) in linux sometimes does not work.
- rfkill list will show if there is a hardware or software block.
- lshw command you see *-network:1 DISABLED or wireless=radio off
- If you run the iwconfig command you see eth1 NOT READY!.
- Look at the LaptopTestingTeam page on the team wiki to see if your laptop is listed with any information.
- Do a google search using terms such as manufacture, model, linux, wireless, enable, button, radio. etc. When searching and finding similar pages that don’t help, use words that are used in those pages to help you search.
- Go to the ubuntu forums or ask ubuntu and ask, maybe someone else has the same laptop and knows the work around.
- Some laptops have a controller chip on the motherboard that is only accessible through a different OS. If you have turned off your wireless adapter in a different operating system, you may have to boot back into that OS and enable the card before it is accessible to Linux.
WifiDocs/WirelessTroubleShootingGuide/Drivers (последним исправлял пользователь lnee 2022-04-28 22:40:30)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details