在Ubuntu 18.04上,RTL8723BE的Wifi信号很弱。

我在Windows旁边安装了Ubuntu 18.04。我发现有一个Wi-Fi问题,它无法捕捉到与Windows相同距离的Wi-Fi信号。
我尝试了很多方法来解决这个问题,但是都没有找到解决办法。
我尝试了下面的修复方法,但是没有成功: Rtl8723be WiFi incredibly weak 这个解决方案在同一台笔记本电脑上的Ubuntu 14.04上有效。
sudo add-apt-repository ppa:hanipouspilot/rtlwifi
sudo apt-get update
sudo apt-get install rtlwifi-new-dkms

但在Ubuntu 18.04的更新命令中出现以下错误:
Get:16 http://in.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [5,100 B]
Reading package lists... Done                                             
E: The repository 'http://ppa.launchpad.net/hanipouspilot/rtlwifi/ubuntu bionic Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

lspci -knn | grep Net -A3的输出结果

13:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter [10ec:b723]
    Subsystem: Hewlett-Packard Company RTL8723BE PCIe Wireless Network Adapter [103c:81c1]
    Kernel driver in use: rtl8723be
    Kernel modules: rtl8723be

执行命令grep rtl8723be /etc/modprobe.d/*的输出结果

/etc/modprobe.d/50-rtl8723be.conf:options rtl8723be ant_sel=2
/etc/modprobe.d/rtl8723-ant-sel.conf:options rtl8723be ant_sel=1
/etc/modprobe.d/rtl8723be.conf:options rtl8723be ant_sel=2
/etc/modprobe.d/rtl8723be.con:options rtl8723be ant_sel=2

内核版本:4.15.0-29-generic

评论不适合进行长时间的讨论;此对话已经被转移到聊天室 - Thomas Ward
还有没有解决方案,不需要在每次内核更新后都重复执行 @MaharshiRawal 提供的解决方法? - dmishra
1@dmishra,所发布的解决方案不再需要在内核更新之后重复这些步骤了。 - Maharshi Rawal
4个回答

这是Realtek RTL8723BE控制器驱动程序的问题。 按照以下步骤操作:
从github获取新的wifi驱动程序: git clone https://github.com/lwfinger/rtlwifi_new.git -b rtw88 更新:master分支已经被官方废弃,现在支持rtw88分支(以上命令已做适当更改以支持rtw88分支)。
进入目录: cd rtlwifi_new
构建: make 安装: sudo make install 现在,新的驱动程序已安装。要查看适用于您的笔记本电脑的正确天线配置,请执行以下操作:
卸载现有模块: sudo modprobe -r rtl8723be 加载具有天线配置的新模块: sudo modprobe rtl8723be ant_sel=1
现在,使用以下命令检查WiFi信号: iwlist scan | egrep -i 'ssid|quality' 然后,在第6步中使用ant_sel=2重复步骤5-7。
通过使用以下命令使较好的信号质量配置成默认配置: echo "options rtl8723be ant_sel=N" | sudo tee /etc/modprobe.d/rtl8723be.conf #将N替换为1或2
注意:每次内核更新后,您需要重新构建模块。

我从16.04迁移到18.04,现在遇到了无线网络的问题,它只能在短距离内工作,不超过15英尺。之前它可以在更远的距离上工作。我尝试了上面列出的步骤,但是收到了目录rtlwifi_new已经存在的消息。是否安全删除该目录并尝试重新加载驱动程序?我在大约10英尺处得到的信号强度为-66 Dbm。 - neelanshu
可以的,你可以这样做...删除之前的那个。然后按照步骤进行即可。 - Maharshi Rawal
成功了吗?@MaharshiRawal - Sachin Chandil
是的,它有效。我已经做过两次了。一次是在安装Ubuntu 18.04时,第二次是在更新内核时。 - Maharshi Rawal
不要使用make install命令,而是可以使用一个叫做checkinstall的程序来制作一个deb软件包(请查看man手册以获取正确的选项),这样以后卸载会更加方便。然后通过sudo dpkg -i $yourPackage.deb来完成安装。 - pbhj
是的,你也可以使用checkinstall来代替make install。 - Maharshi Rawal
你好,有人可以解释一下这将会做什么吗?它会影响未来的内核更新吗?还是我可以毫无问题地安装它? - user825380
它将会做什么:简而言之——安装驱动程序。它会影响未来的内核更新吗?不会。在您更新内核后,您需要再次执行这些步骤。 - Maharshi Rawal

你在运行命令时做错了事情。你有重复的条目。
在终端中运行。
cd /etc/modprobe.d
sudo rm 50-rtl8723be.conf rtl8723-ant-sel.conf rtl8723be.conf rtl8723be.con

现在你已经清洁了,可以开始运行了。
sudo tee /etc/modprobe.d/rtl8723be.conf <<< "options rtl8723be ant_sel=1"

现在重新启动并测试。

没有运气...我尝试了ant_sel=1和2,并重新启动了机器。我还每次检查grep rtl8723be /etc/modprobe.d/*的输出,并分别看到输出为options rtl8723be ant_sel=1和2。 - Swapnil
只有一个文件吗? - Pilot6
1我只能在/etc/modprobe.d目录下看到一个文件。 - Swapnil
这是一个谜。很可能是硬件问题,比如天线脱落。 - Pilot6
但在我切换到Ubuntu 18.04之前,它在Ubuntu 14.04上是有效的。 - Swapnil
可能是在你切换之后出了问题。需要进行测试。这个设置对其他人都有效。 - Pilot6
如果我的笔记本靠近调制解调器,那么Wi-Fi就会连接并正常工作。不知道出了什么问题。 - Swapnil
信号弱,这是错误的。 - Pilot6
执行以下命令:echo "options rtl8723be ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf,然后重新启动。 - Jeremy31
尝试将value ant_sel=2(在PCI中实际可见的内容)设置为3或4。为什么这样做呢?有时机器中会包含更多的天线,最多可达4个,而实际使用可能只有2个。但总共有4个天线。请尝试提高该值。 - Joris Donders
没有意义去“提高那个值”,因为该设备只有2个天线输出,而该模块不支持3或4个。modinfo rtl8723be | grep parm - Pilot6
这个解决方案对我没有起作用。 rtlwifi_new 提供的解决方案只在内核版本5.0之前有效,之后就不再提供支持。此外,硬件没有问题,因为它在当前系统中的双启动的Windows 10上正常工作。 如果有人找到解决方案,请告诉我。 - Ashish Farande

是的。这个问题是由于默认的Ubuntu WiFi驱动程序导致的WiFi信号弱的体验。我正在使用安装了Ubuntu 18.4.1的HP笔记本电脑。所以,下面是对我有效的最简单的步骤。
这个脚本在Ubuntu 16.04.3 LTS上成功测试过。
首先,您需要一个网络连接。所以,您可以靠近路由器或者连接局域网。
步骤:
  1. 前往下载路径https://github.com/navilg/rtl8723be并解压缩zip文件

  2. 解压缩后会看到一个rtl8723be-script文件夹

  3. 进入该文件夹,您会找到install.sh文件。我们将使用此脚本来运行程序

  4. 确保您的系统已安装以下程序。 程序:

    • unzip:您可以使用'sudo apt install unzip'命令进行安装
    • make:您可以使用'sudo apt install make'命令进行安装
    • gcc:您可以使用'sudo apt install gcc'命令进行安装
    • wget:您可以使用'sudo apt install wget'命令进行安装
  5. 现在我们将在终端中运行该脚本。

    bash '/home/navi/Downloads/rtl8723be-script/install.sh'
    
  6. 它会要求输入密码,以便作为超级用户安装程序

  7. 它将检查所需的程序。如果您的系统中存在上述所有程序,则将继续安装过程;否则,它将要求您安装这些程序。这些程序默认情况下已安装在Ubuntu 16.04.3中。

  8. 它将要求允许下载所需的文件。输入y后,文件将被下载

  9. 现在您需要提供您的wifi接口名称。

你可以使用iwconfig命令来检查。为此,请打开新的终端。
  1. 复制粘贴界面名称

  2. 安装正在进行中,可能需要一些时间。请耐心等待。除了安装期间的点外,终端上不会显示任何内容。

  3. 如果安装失败,

    别担心。它将尝试安装另一个文件来解决问题

    按y并回车

    然后它将下载另一个文件

    再次提供接口名称

    它将尝试安装,根据您的系统速度可能需要几分钟。

  4. 您可以在屏幕上显示的日志文件中检查后台安装进程

  5. 现在它会问您是否要删除已下载的文件。如果您删除已下载的文件,则将来需要再次安装时需要互联网连接。如果您保留它,则不需要再次互联网连接,安装速度将更快。

    您可以根据自己的选择保留或删除它。我想删除它,因为我已经有那些文件了

  6. 安装成功。您可以重新启动系统以获得更好的性能。

  7. 安装成功。重新启动后,您将找到强大的WiFi信号。

请通过navilg0409@gmail.com向我提供您的反馈、建议或任何错误信息。
此过程的视频指南可在youtube上找到。

如果在Ubuntu 18.04上使用默认驱动程序运行带有Realtek 8723be PCI WiFi的HP笔记本电脑,可能会出现信号弱的问题。

GitHub主分支下载此驱动程序 - 在此下载链接中有一个压缩文件zip文件

下载后,将.zip文件解压到您的桌面目录。
以下驱动程序安装方法可以解决信号问题。

打开终端窗口(按下CTRL+ALT+T),然后执行以下命令:

cd Desktop
cd rtlwifi_new-master
make
sudo make install
sudo modprobe -rv rtl8723be
sudo modprobe -v rtl8723be ant_sel=2

现在检查信号强度和...
sudo ip link set wlo1 up
sudo iw dev wlo1 scan

wlo1在您的情况下可能会有所不同(请在终端中使用iwconfig命令检查您的确切无线扩展)。

要使设置永久生效,请在终端中输入以下命令并按回车键。

echo "options rtl8723be ant_sel=2" | sudo tee /etc/modprobe.d/50-rtl8723be.conf

注意: 在操作系统(内核)更新后,您需要重新应用这些设置以获得强信号。