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
up vote 33 down vote accepted

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.

  • Brilliant, thank you so much – Blue Dabba Dee Feb 15 '17 at 17:31
  • You may also want to remove a wrong driver by sudo apt purge bcmwl-kernel-source – Pilot6 Feb 15 '17 at 17:42
  • Sorry but the problem has persisted after a fresh install for unrelated reasons. The advice you gave worked earlier but doesn't anymore – Blue Dabba Dee Feb 25 '17 at 18:52
  • 1
    Try ant_sel=1 – Pilot6 Feb 25 '17 at 18:57
  • 3
    Works great! But it disconnects randomly. Would you be able to help on how to fix this? I am using Ubuntu 16.04 LTS – Suhail Gupta Oct 21 '17 at 11:11

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/
    
  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.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.