Ubuntu – 16.04 LTS wifi connection issues with Realtek RTL8723BE adapter


I discovered several issues with wifi connection after installing 16.04 LTS.

First, wifi doesn't reconnect normally after sleep or hibernation. Sometimes the network icon turns into a "up and down arrows"(I don't know what it is for) after waking up but is still connected. Sometimes network is simply lost and it doesn't display any network in the list so there's simply no way to use wifi at all.

I first tried restarting network manager by running sudo service network-manager restart. It worked but was not a permanent resolution.

Then according to another thread, I added SUSPEND_MODULES="iwlwifi" to /etc/pm/config.d/config.

After doing this, the reconnect issue seems to be fixed (can automatically reconnect and icon doesn't change any more). However, I find the wifi connection gets lost randomly (about every 30 minutes) even when the computer is running and the network icon remains the connected state when connection is lost.

Another issue after adding the code is, when I put my computer to sleep, the screen will turn off for a second but then turns back on for around 5 seconds(during which the system will cut off wifi connection). And then the computer will go to sleep after this unusual "two-phase" process.

Wireless cards info below

       description: Wireless interface
       product: RTL8723BE PCIe Wireless Network Adapter
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 00
       serial: b0:c0:90:5c:1c:d5
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtl8723be driverversion=4.4.0-21-generic firmware=N/A ip= latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 ioport:d000(size=256) memory:df200000-df203fff

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 06)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)

05/01/2016 Update
I don't know what happened but the issue gets worse now. Wifi connection gets lost about every 5 minutes and I have to reconnect or restart network-manager.

Best Answer

Finally I was able to fix the issues after trying out numbers of different methods.

  1. Get details of your PCI wireless card by running sudo lshw -class network
  2. Get your card model info according to the product line.
    For instance, as you can see in the question description it says
    product: RTL8723BE PCIe Wireless Network Adapter so the model of my card is RTL8723BE

    Or product: RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller so the model of my card is RTL8101/2/6E

  3. Give the permission sudo chmod 755 /etc/pm/config.d/

  4. Open or create config and add SUSPEND_MODULES="rtl8723be"(replace rtl8723be with your own model number)
    Then run
    echo "options rtl8723be fwlps=N" | sudo tee /etc/modprobe.d/rtl8723be.conf
    (note that when replacing rtl8723be with my card which is RTL8101/2/6E i should only type .../modprobe.d/RTL8101.conf; and /2/6E shouldn't be written)

Finaly restart your system.

Now your system should be able to reconnect automatically after sleep, and wifi connection never got lost once for me after doing this.

"The up/down arrows is likely a network manager bug that results in network manager thinking the wifi device is actually ethernet.", according to Jeremy31.see bug info here You should be able to fix it by installing NetworkManager-1.2.0.

Thanks to Jeremy31 for providing the solutions.

Related Question