Realtek RTL8723BE Wi-Fi incredibly weak

21,328

Solution 1

Run in a terminal

sudo tee /etc/modprobe.d/rtl8723be.conf <<< "options rtl8723be ant_sel=1"

and reboot.

The ant_sel parameter enables one of the two antenna connectors of your RTL8723be adapter. Your laptop has only one antenna because the vendor is too greedy to install two. The Linux drivers can't detect which antenna connector is in use. So we have to guess it.

In Windows either the vendor sets it up somewhere on a pre-installed system, or the Windows proprietary drivers can detect it.

If ant_sel=1 does not help, use ant_sel=2. This setting tells which antenna is in use 1 or 2.

Solution 2

What fixed my laptop HP Pavilion with Ubuntu 16.04 is https://github.com/navilg/rtl8723be.

I had this issue with 14.04. I had a script that fixed it but when I upgraded OS this script didn't work any more.

I've not been able to use my laptop with Ubuntu 16.04 for about 4 months. This script fixed the issue completely.

Solution 3

Note: I haven't tested it on Ubuntu 16.04, but it works fine on Ubuntu 18.04.

It's a problem with the drivers of Realtek RTL8723BE controller. Do this:

  1. Get the new wifi drivers from github:

     git clone https://github.com/lwfinger/rtlwifi_new.git -b rtw88
    
  2. Go into the directory:

     cd rtlwifi_new
    
  3. Build it:

     make
    
  4. Install:

     sudo make install
    

    Now the new drivers are installed. To see what is the correct antenna configuration for your laptop, do this:

  5. Unload the existing module:

     sudo modprobe -r rtl8723be
    
  6. Load the new module with antenna configuration:

     sudo modprobe rtl8723be ant_sel=1
    
  7. Check the wifi signals using:

     iwlist scan | egrep -i 'ssid|quality'
    

    Next repeat steps 5-7 with ant_sel=2 in step 6.

  8. Whichever configuration gives the better signal quality, make it the default by using:

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

    ---> Replace N with 1 or 2.

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

Share:
21,328

Related videos on Youtube

Blue Dabba Dee
Author by

Blue Dabba Dee

Updated on September 18, 2022

Comments

  • Blue Dabba Dee
    Blue Dabba Dee over 1 year

    I have a HP 14-AN001NA laptop. It came with Windows 10 installed on which the Wi-Fi worked fine anywhere in the house.

    However I removed Windows 10 and installed Ubuntu 16.04 instead and since I have had terrible Wi-Fi anywhere aside from about three foot away from the router. I don't know if it's relevant but my Wi-Fi is not called wlan0 but wlo1 for some reason (I didn't change it).

    When running lspci -knn | grep Net -A3 I get the following output:

    05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter [10ec:b723]
    DeviceName:  
    Subsystem: Hewlett-Packard Company RTL8723BE PCIe Wireless Network Adapter [103c:81c1]
    Kernel driver in use: rtl8723be
    Kernel modules: wl, rtl8723be
    
  • Pilot6
    Pilot6 about 7 years
    You may also want to remove a wrong driver by sudo apt purge bcmwl-kernel-source
  • Blue Dabba Dee
    Blue Dabba Dee about 7 years
    Sorry but the problem has persisted after a fresh install for unrelated reasons. The advice you gave worked earlier but doesn't anymore
  • Pilot6
    Pilot6 about 7 years
    Try ant_sel=1
  • Pilot6
    Pilot6 about 7 years
    And what is the kernel version?
  • Blue Dabba Dee
    Blue Dabba Dee about 7 years
    Brilliant, ant_sel=1 worked. What is this doing if you don't mind my asking?
  • Pilot6
    Pilot6 about 7 years
    I updated the answer with explanation.
  • kcdtv
    kcdtv about 7 years
    "has only one antenna because the vendor is too greedy to install two" Seriously? This internal antennas cost nothing, it is basically a wire with a little connector... I personally like to dissemble PC (when it is not too complicated) and i suggest to check where it is in order to add antenna that you can take form an older laptop or buy. As an example, in first page of e-bay with a search such as "internal WiFi antenna" "you can see that they sell a pair of them for less than one dollar... Usually the wifi card is very easy to reach on laptop, but for sure, sometime it is not the case.
  • solsTiCe
    solsTiCe about 7 years
    The problem is not that only one antenna is there. The problem is the driver is not able to guess which antenna is there. " The HP computers with a problem definitely have only one antenna and their EEPROM incorrectly specifies which connector is used." said lwfinger maintainer of github.com/lwfinger/rtlwifi_new I recommend you to use that repo and the driver there instead of the driver of the kernel
  • Pilot6
    Pilot6 about 7 years
    @solsTiCe Larry made a lot of commits to the kernel. Now it works well. I am not sure Windows drivers can detect it either. Th vendor just sets it somewhere on a preinstalled OS.
  • Tooniis
    Tooniis almost 7 years
    worked right after reboot with ant_sel=1 on HP Notebook 15-ac14ne
  • Suhail Gupta
    Suhail Gupta over 6 years
    Works great! But it disconnects randomly. Would you be able to help on how to fix this? I am using Ubuntu 16.04 LTS
  • Mukesh Chapagain
    Mukesh Chapagain about 6 years
    Thanks a lot. ant_sel=2 worked on one of my friends HP laptop.
  • St3an
    St3an about 6 years
    ant_sel=1 for me on lenovo B50-70 80EU, thx :-)