Realtek wireless chipset: install the right driver


Back to the home page


In many cases you can install a better driver for Realtek chipsets. Namely for the following common chipsets: RTL8188CUS, RTL8192CU, RTL8723BE, RTL8192EU and RTL8812AU.

Determine the chipset

1. First you need to determine the exact chipset. Like this:

Launch a terminal window.
(You can launch a terminal window like this: *Click*)

Use copy/paste to transfer the following word into the terminal:

lsusb

Press Enter.

Now you should see one line that approximately resembles one line in the following output (examples from my own computers):

Bus 002 Device 003: ID 0bda:8176 Realtek Semiconductor Corp.
Bus 002 Device 004: ID 0bda:8178 Realtek Semiconductor Corp.
Bus 002 Device 007: ID 0bda:818b Realtek Semiconductor Corp.
Bus 002 Device 008: ID 0bda:8812 Realtek Semiconductor Corp.
Bus 002 Device 009: ID 0bda:b720 Realtek Semiconductor Corp.
Bus 002 Device 009: ID 0bda:8179 Realtek Semiconductor Corp.

For these chipsets you'll find a solution below, which differs for every chipset.


Realtek RTL8188CUS and RTL8192CU chipsets (0bda:8176 and 0bda:8178)

2. Wireless Realtek chipsets that are running on the default rtl8192cu driver, often lose connection and run below their proper speed. That's because of a bug in the rtl8192cu driver.

For instance, such a Realtek chipset is present in the Medion MD 86498 USB wireless dongle. The chipsets involved, are the RTL8192CU and the RTL8188CUS.

Luckily there's a solution that'll make such a chipset run stable and fast, namely replacing the defective driver by a better one. This is how to do it:


a. First check whether the buggy driver rtl8192cu is active in your operating system:

Launch a terminal window.
(You can launch a terminal window like this: *Click*)

Use copy/paste to transfer the following line into the terminal:

lsmod | grep rtl8

Press Enter.

When you see one or more times rtl8192cu in the terminal output, then it's active. In that case proceed with step b.


b. Disconnect your wireless connection (unplug the USB adapter that contains the Realtek chipset), and temporarily connect to the internet by means of an ethernet cable (or by means of another wireless chipset that does function well).


c. Now install some applications for building the right driver:

Launch a terminal window.
(You can launch a terminal window like this: *Click*)

Type (use copy/paste, it's one line):

sudo apt-get install linux-headers-$(uname -r) build-essential dkms git

Press Enter and submit your password. Please note that the password will remain invisible, not even asterisks will show, which is normal.

Wait until the installation has completed.


d. Now download the source code of the right driver as follows. Copy and paste the following command line into the terminal:

git clone https://github.com/pvaret/rtl8192cu-fixes.git

Press Enter.


e. Set it up as a DKMS module:

Copy and paste into the terminal:

sudo dkms add ./rtl8192cu-fixes

Press Enter and if prompted, submit your password. Please note that the password will remain invisible, not even asterisks will show, which is normal.


f. Build and install the new driver:

Copy and paste into the terminal:

sudo dkms install 8192cu/1.10

Press Enter.


g. Refresh the module list:

Copy and paste into the terminal:

sudo depmod -a

Press Enter.


h. Blacklist the faulty driver:

Copy and paste into the terminal (it's one line):

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

Press Enter.


i. Disable power management for the wifi chipset (and for that chipset only, so don't worry!):

Copy and paste into the terminal (it's one line):

sudo cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/

Press Enter.


j. Reboot your computer.


k. The problem should now be solved: disconnect the temporary ethernet cable and insert the Realtek device again.

With the following terminal command you can check whether the right driver is active now (copy and paste it into the terminal):

lsmod | grep 8192

Press Enter.

In the terminal output you should see that the new driver 8192cu is active. You should see no mention anymore of the old driver rtl8192cu.

Note: a possibly surprising side effect is, that the light on your wireless card is blinking constantly now. That's normal: the light is blinking whenever data are being sent or received.

Note (2): do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).

Source: https://github.com/pvaret/rtl8192cu-fixes

Realtek RTL8723BE chipset

3. For a Realtek RTL8723BE chipset you should be able to improve the stability and quality of your wireless connection, by disabling power management for the wireless chipset.

No need to install another driver then; in many cases, a rather simple hack of the settings of the current driver suffices.

a. First install some tools:

Launch a terminal window.
(You can launch a terminal window like this: *Click*)

Type (use copy/paste):

sudo apt-get install gksu leafpad

Press Enter and when prompted, submit your password. Please note that the password will remain invisible, not even asterisks will show, which is normal.

b. Then create a new empty settings file:

Copy/paste the following line into the terminal:

sudo touch /etc/modprobe.d/rtl8723be.conf

Press Enter.

c. Then edit the newly created file:
In the terminal (use copy/paste to avoid typing errors):

gksudo leafpad /etc/modprobe.d/rtl8723be.conf

Press Enter.

Copy/paste the following line into that empty text file, which disables power management for the chipset:

options rtl8723be fwlps=0

d. Reboot your computer.

Your wireless connection should be stable now.

Hasn't this hack improved matters? Then install the rtlwifi_new driver from lwfinger, as described in item 9 on this page (right column).

Realtek RTL8723AU chipset (0bda:b720)

4. Note: unfortunately, the RTL8723AU and the RTL8723BU chipset share the same USB ID.... Which is of course highly annoying. The how-to below is for the RTL8723AU chipset; for the RTL8723BU chipset see item 8 (right column).

For the Realtek RTL8723AU chipset, you might have to install another driver. In that case you can proceed like this:

a. First establish internet connection by other means, for example by ethernet cable.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Copy/paste the following command line into the terminal, in order to install the required build packages (the building tools with which you're going to build the driver) and a text editor:

sudo apt-get install git build-essential linux-headers-$(uname -r) gksu leafpad

d. Download the driver packages by means of git, with this command (use copy/paste):

git clone https://github.com/lwfinger/rtl8723au.git

Have the driver packages become unavailable? Then download a compressed file with all the packages from my Google Drive (packages as they were in November 2015). Then unpack it and place the files straight in your user folder, otherwise the next steps will fail. Example: John should place the unpacked files in /home/john and not in some subdirectory.

e. Now you're going to compile the required kernel module from the driver packages. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtl8723au

And then run this command:

make

f. Finally, install the compiled module with this command:

sudo make install

g. Now put the current flawed driver on the blacklist; for that, use copy/paste to transfer the following command line to the terminal:

gksudo leafpad /etc/modprobe.d/blacklist.conf

Now a text file is being opened. In that text file, add the following blue text block, at the end of the existing text (use copy/paste):

# The rtl8723au and the rtl8723bu drivers are flawed,
# so they need to be prevented from loading.
# This should give the 8723au or the 8723bu driver
# the chance to load instead.
blacklist rtl8723au
blacklist r8723au
blacklist rtl8723bu
blacklist r8723bu


Save the modified text file and close it.

h. Reboot your computer.

i. Your wifi should work well now: click on the icon of Network Manager in the system tray, in order to see the available wireless networks.

Note: do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).


If you also want Bluetooth, execute the following commands one by one:

git clone https://github.com/lwfinger/rtl8723au_bt.git
cd rtl8723au_bt
make
sudo make install
sudo modprobe -v 8723au_bt


Realtek RTL8188EU chipset (0bda:8179)

5. The Realtek RTL8188EU chipset doesn't work (well) out of the box in Linux Mint 18.x and Ubuntu 16.04.x. At least when they're running on the 4.4 kernel series. The solution is simple: install the latest kernel from the 4.8 series, reboot and you should be OK.

However, if you wish to stay with the 4.4 kernel series, you can install another driver from JeremyB, which brings about normal usability of this chipset. Even though it still shows the strength of the available wireless networks as zero.

For installing it, you can proceed like this:

a. First establish internet connection by other means, for example by ethernet cable.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Check the currently running driver for your wireless chipset: copy/paste the following command line into the terminal:
lsmod | grep 8188

Press Enter.

The outcome should show the name of the current driver: r8188eu.

d. Copy/paste the following command line into the terminal, in order to install the required build packages (the building tools with which you're going to build the driver):

sudo apt-get install linux-headers-$(uname -r) build-essential dkms git

e. Download the driver packages by means of git, with this command (use copy/paste):

git clone https://github.com/jeremyb31/rtl8188eu

f. Now you're going to compile the required kernel module from the driver packages. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtl8188eu

And then run this command:

make

g. Install the compiled module with this command:

sudo make install

h. Reboot your computer.

i. Check the currently running driver for your wireless chipset: copy/paste the following command line into the terminal:
lsmod | grep 8188

Press Enter.

The outcome should now show the name of the new driver: 8188eu.

j. Click on the icon of Network Manager in the system tray, in order to connect with your wireless network.

Note: do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).


(continued in the column on the right)

This website is being sponsored by Google Ads.

Are you using an ad blocker? Then you're also blocking my earnings from advertisements....

If you wish to support my website, you can configure your ad blocker to make an exception for this website.

Thanks in advance....


Realtek RTL8192EU chipset (0bda:818b)

6. For the Realtek chipset RTL8192EU you'll need to install a driver. That might sound complicated, but I've made it easy for you:

a. Download the following compressed driver package, which is fit for the 4.4 kernel series (in other kernel series it probably won't work): driver for the RTL8192EU chipset

Background information: this driver package is an improved version of the driver package that the Maxxter company provided for a wireless dongle of theirs, which contains this chipset. The original driver only works in old versions of Ubuntu and Mint, but the improved version also works in Ubuntu 16.04/16.04.1 and Linux Mint 18/18.1 (thanks to Pilot6).

b. The package should have been downloaded into the folder Downloads. Simply double-click it like you would do for an installer package in Windows. It'll be installed automatically.

c. Then reboot your computer.

d. Plug the wireless dongle with the Realtek chipset into your computer: it should work now.

Note: do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).

Realtek RTL8812AU chipset (0bda:8812)

7. For the Realtek RTL8812AU chipset, you have to install a driver. You can proceed like this:

a. First establish internet connection by other means, for example by ethernet cable.

b. Unplug the wifi adapter with this chipset, from your computer.

c. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

d. Copy/paste the following command line into the terminal, in order to install the required build packages (the building tools with which you're going to build the driver):

sudo apt-get install linux-headers-$(uname -r) build-essential git

e. Download the driver packages by means of git, with this command (use copy/paste):

git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux

Are the driver packages no longer available on github.com? Then get the driver packages from here (the driver as it was on September 16, 2016). And unpack the zipped file in your home folder, because it's a compressed folder. Don't unpack it in the subfolder Downloads, because then the ensuing terminal commands won't work.

f. Now you're going to compile the required kernel module from the driver packages. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtl8812AU_8821AU_linux

And then run this command:

make

g. Finally, install the compiled module with this command:

sudo make install

h. Reboot your computer.

i. Plug in your wifi adapter. It should work now.

Note: do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).

Realtek RTL8723BU chipset (0bda:b720)

8. Note: unfortunately, the RTL8723BU and the RTL8723AU chipset share the same USB ID.... Which is of course highly annoying. The how-to below is for the RTL8723BU chipset; for the RTL8723AU chipset see item 4 (left column).

For the Realtek RTL8723BU chipset, you have to install a driver. You can proceed like this:

a. First establish internet connection by other means, for example by ethernet cable.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Copy/paste the following command line into the terminal, in order to install the required build packages (the building tools with which you're going to build the driver) and a text editor:

sudo apt-get install git build-essential linux-headers-$(uname -r) gksu leafpad

d. Download the driver packages by means of git, with this command (use copy/paste):

git clone https://github.com/lwfinger/rtl8723bu

Are the driver packages no longer available on github.com? Then get the driver packages from here. Then unpack the zipped file in your home folder, because it's a compressed folder. Don't unpack it in the subfolder Downloads, because then the ensuing terminal commands won't work.

e. Now you're going to disable a line in the makefile of the new driver, because without this hack, two instances of the wireless chipset will show in Network Manager (which would of course be bizarre and useless). The command below is one line; make sure you copy/paste it, in order to avoid typing errors:

sed -i 's/EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE/#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE/g' ~/rtl8723bu/Makefile

Press Enter.

f. Now compile the required kernel module from the driver packages. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtl8723bu

And then run this command:

make

g. Finally, install the compiled module with this command:

sudo make install

h. Reboot your computer.

i. Your wifi should work well now: click on the icon of Network Manager in the system tray, in order to see the available wireless networks.

Note: do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).

The rtlwifi_new driver from lwfinger

9. For the following Realtek wifi chipsets you can install the rtlwifi_new driver package from lwfinger:
RTL8192CE, RTL8192SE, RTL8192DE, RTL8188EE, RTL8192EE, RTL8723AE, RTL8723BE and RTL8821AE.

Note: for the RTL8723BE chipset, it's sometimes not necessary to replace the driver, because the current driver can sometimes be fixed as described in the left column of this web page (item 3).

a. First establish internet connection by other means, for example by ethernet cable.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Copy/paste the following command line into the terminal, in order to download and install the required build packages (the building tools with which you're going to build the driver):

sudo apt-get install git build-essential linux-headers-$(uname -r)

Press Enter. Your password will remain entirely invisible, not even dots will show, this is normal.

d. Download the actual driver (the construction kit) by means of git, with this command (use copy/paste):

git clone https://github.com/lwfinger/rtlwifi_new.git

Is the driver no longer available on github.com? Then get the driver from here (the driver as it was on June 19, 2016). Then unpack the zipped file in your home folder, because it's a compressed folder. Don't unpack it in the subfolder Downloads, because then the ensuing terminal commands won't work!

e. Now you're going to compile the required kernel module from the driver package. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtlwifi_new

And then run this command:

make

f. Finally, install the compiled module with this command:

sudo make install

g. Reboot your computer.

h. Your wifi should work better now: click on the icon of Network Manager in the system tray, in order to see the available wireless networks.

Note: do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So in Linux Mint I advise to disable the visibility of kernel updates in Update Manager (panel: Edit - Preferences - section Options). In Ubuntu I advise to pin Ubuntu to the current kernel (item 7, left column).

Want more tips?

Do you want more tips and tweaks for Linux Mint and Ubuntu? There's a lot more of them on this website!

To the content of this website applies a Creative Commons license.

Back to the home page

Disclaimer

Comments