43

I have dual booted my Windows 8 laptop with Ubuntu 14.04. The wifi driver is Realtek rtl8723be. It didn't use to work but I updated the kernel to 3.18 and reinstalled the driver and that seemed to solve the problem for a few hours. Then it would be connected for around 30 minutes and then the connection would stop, even though the icon on the system tray would still indicate it's connected. The only thing that works is restarting the computer but then, again, after 30 minutes the connection stops.

4 Answers4

60

I was having these problem with rtl8723be on linux mint 17, and mint17.1. The same procedure should work on ubuntu 14.04 and derivates.

I had to install new module for realtek wifi cards where they solved the constant disconnects:

  • install required packages

    sudo apt-get install build-essential git
    
  • git clone new realtek wifi modules

    git clone https://github.com/lwfinger/rtlwifi_new/
    
  • enter the directory

    cd rtlwifi_new
    
  • build it

    make
    
  • install

    sudo make install
    

Now you can reboot or unload/load modules

  • unload modules

    sudo modprobe -r rtl8723be
    
  • load new module

    sudo modprobe rtl8723be
    
  • if it still doesn't work, try the solution from this post

    echo "options rtl8723be fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
    

Note: After each kernel update, you need to rebuild the modules. That is,

After every kernel update:

cd rtlwifi_new

Clean previous builds

make clean

Update git repository

git pull

Compile

make clean && make

Install

sudo make install

reboot or unload/load modules

EDIT: It seems as of kernel 4.17 kernel APIs have changed: Note: If your kernel is 4.17 or newer, AND your card is not an RTL8723DE, then you should NOT be using the external driver. The built-in one is the same. source: https://github.com/lwfinger/rtlwifi_new/

11

My friend's HP laptop wouldn't display the available Wi-Fi networks.

So I followed the steps from Miodrag Prelec's answer till echo "options rtl8723be fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf

Then, I did

sudo modprobe -r rtl8723be

Then either of:

sudo modprobe rtl8723be ant_sel=1
sudo modprobe rtl8723be ant_sel=2

(whichever works)

After doing this it would list the Wi-Fi signals in the menu.

So I added these lines to /etc/rc.local (above exit 0) so that it would run each time my laptop boots up.

sleep 10
sudo modprobe -r rtl8723be
sudo modprobe rtl8723be ant_sel=1

Note: change ant_sel=1 to ant_sel=2 if required.

source

9

Run the following command in terminal

echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf

as this will disable some of the power management of the card and usually helps.

And then you need to reboot or manually reload the driver

sudo modprobe -rv rtl8723be
sudo modprobe -v rtl8723be

This was found in ubuntuforums. Varunendra is very good troubleshooting the realtek cards.

Pilot6
  • 92,041
Jeremy31
  • 13,293
3

I faced a similar situation, I took the suggestions available on various sites, and created this script which works for me.
Here it is on GitHub

To clone the repo, run:

git clone https://github.com/tarunbatra/fixRTL8723BE

cd to the project root, then run bash install.sh. Here's the script for reference:

#!/usr/bin env bash

REPO="https://github.com/lwfinger/rtlwifi_new"
CONFIG_DIR=`pwd`

checkGit() {
  if git --version  &> /dev/null; then
    echo "Git found"
  else
    echo "Git not found"
  fi
}

installGit() {
  echo "Installing git\n"
  sudo apt-get install git >> /dev/null
}

cloneRepo() {
  echo "Downloading latest drivers from $REPO"
  if git clone $REPO /tmp/rtlwifi_new_$$; then
    echo "Drivers downloaded successfully"
  else
    echo "Download couldn't be completed. Exiting"
    exit 1
  fi
}

installDrivers() {
  cd /tmp/rtlwifi_new_$$ || (echo "Drivers not found"; exit 1)
  echo "Building drivers"
  if make && sudo make install; then
    echo "Drivers built successfully"
  else
    echo "Drivers couldn't be built. Exiting"
    exit 1
  fi
}
configureWiFi() {
  echo "Configuring the WiFi settings"
  cd $1
  if (cat ./setup.conf  | sudo tee /etc/modprobe.d/rtl8723be.conf); then
    echo "WiFi settings configured"
  else
    echo "Wifi settings couldn't be configured"
  fi
}

restartWiFi() {
  echo "Restarting WiFi"
  if sudo modprobe -r rtl8723be && sudo modprobe rtl8723be; then
    echo "WiFi restarted"
  else
    echo "Couldn't restart WiFi"
  fi
}

echo "Fixing Wifi"
checkGit || installGit
cloneRepo $REPO
installDrivers
configureWiFi $CONFIG_DIR
restartWiFi
echo "Your WiFi is fixed. Enjoy!"
echo "If this doen't help, try changing rtl8723be.conf and repeating the process"
exit 0
Zanna
  • 72,312
tbking
  • 166