How do I get a Realtek RTL8723BE wireless card to work?
First of all remove the settings you made.
sudo rm /etc/modprobe.d/rtl8723be.conf
If you do not have this file, nothing is wrong.
Then install a good driver
sudo add-apt-repository ppa:hanipouspilot/rtlwifi
sudo apt-get update
sudo apt-get install rtlwifi-new-dkms
Reboot and enjoy
If you still have problems (low signal), you may need to add an option:
echo "options rtl8723be ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf
then reboot again.
Expanation is made by chili555 in this answer.
This is the same driver as https://github.com/lwfinger/rtlwifi_new, rock.new_btcoex
branch but packed as dkms.
You can see all that at https://github.com/hanipouspilot/rtlwifi_new/tree/rock.new_btcoex
If you also need bluetooth working, run also:
sudo apt-get install rtl8723au-bt-dkms linux-firmware
Note: Support for 4.2 kernels and Ubuntu 15.10 has been added to the PPA. For kernel 4.2 the bluetooth driver should not be installed from the PPA. There is already native support of the bluetooth adapter in kernel 4.2.
Offline guide
If you do not have any internet connection, you can download the package using another computer, a phone, etc.
The package is HERE
You will also need DKMS
installed. You can find the DKMS package for Ubuntu 16.04 HERE
Copy these two files to the Ubuntu Home folder (~/) and run in terminal
sudo dpkg -i dkms*.deb rtlwifi*.deb
Then reboot.
Important: For new Ubuntu kernels installed on a system with Secure Boot on UEFI, the unsigned kernel module may not load. In this case see THIS ANSWER to fix it.
Update: I have now a laptop with this adapter. It works perfectly on the 4.8 kernel that is available in Ubuntu 16.10 and 16.04.2.
Installation of a custom driver is required only for kernels older than 4.8.
I suggest installing the 4.8 kernel to Ubuntu 16.04 if it is not installed yet by
sudo apt install linux-generic-hwe-16.04
The device should work well after a reboot.
But still if your laptop has only one antenna and it is attached to a "wrong" connector, setting ant_sel=2
, or and_sel=1
may be required.
If your Wifi drops after a while and you dual boot with Windows
On HP 250 G4 (using rtl8723be), I at first had the antenna bug: wifi signal was too low:
It was solved after installing new driver and setting ant_sel=2
, just as described here.
But then came the 2nd problem :
wifi was working fine for some time (sometimes 2 hours) then suddenly going slow and eventually disconnecting.
Changing parameters (ips, fwps...) didn't help.
I finally found that removing Windows 10 fastboot (in Windows energy settings) solved the problem.
This has been confirmed by another user (see RTL8723BE: Wifi always drops after 15/20 mins
What worked for me was enabling the MSI parameter (message signal interupt). I have a lenovo Z50 laptop. My wifi would work with all wifi laptop manufacturers but i was having a problem with a Lancorm wifi router at a Hotel I once stayed.
I found the file sw.c
in the folder path
/home/peter/rtlwifi_new/rtl8723be
Then in the sw.c
file, I added the variable .msi_support
and initiated it to "false" under the data type
rtl_mod_params rtl8723be_mod_params
i.e
static struct rtl_mod_params rtl8723be_mod_params = {
.sw_crypto = false,
.inactiveps = true,
.swctrl_lps = false,
.fwctrl_lps = true,
.msi_support = false,
};
Since msi_support
is by default disabled, we have to appropriately initialize it as disabled(hence false),
I then complied the code:
cd rtl8723be
make clean
sudo make install
sudo modprobe rtl8723be
After that I set the msi parameter to 1, in the file
/etc/modprobe.d/rtl8723be.conf
it should contain
options rtl8723be fwlps=N ips=N swenc=Y msi=1
You may have to reboot the computer and wait after for a couple of minutes after restarting the browser for the msi to be triggered.
This worked for a lenovo z50. Depending on your pc, you may toggle and choose instead an msi of 0