解决 RTL8723BE 无线网卡不稳定的问题


这个问题困扰了好久了
在 Windows 下并不会存在这个问题, 但是在 Linux 下, 打开 Wifi 以后就几乎搜索不到 WIFI
就算是站在路由器跟前, 信号也不会满格, 而且就算连接上也不会很稳定


第一次找到一个解决方案如下, 当时确实解决了这个问题:

https://github.com/roopansh/rtl8723be_wifi

核心代码在这句:

https://github.com/roopansh/rtl8723be_wifi/blob/master/rtl8723be.sh#L11

解决 RTL8723BE 无线网卡不稳定的问题_第1张图片
image.png

但是当时并没有看懂这里的配置到底有什么用, 之后通过查询

目录: /etc/modprobe.d/ 为内核模块的配置文件目录

参考 man 手册 https://linux.die.net/man/5/modprobe.d

配置文件的名称以内核模块的名称命名, 后缀名为 .conf
例如: rtl8723be.conf

格式有如下规定 (都可以在 man 手册中找到):

  1. 一条命令一行
  2. 空行和 # 开头的行会被忽略 (注释)
  3. 如果一行太长用 \ 来分隔, 转义回车

命令有如下几种:

alias
options
install
remove
blacklist

我们这里需要关注的是 options 命令
我们需要对无线网卡的内核模块进行一些选项的设置

首先我们需要找出这个模块都有哪些属性:
利用命令: modinfo

➜  ~ modinfo rtl8723be
filename:       /lib/modules/4.14.11-1-ARCH/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723be/rtl8723be.ko.xz
firmware:       rtlwifi/rtl8723befw_36.bin
firmware:       rtlwifi/rtl8723befw.bin
description:    Realtek 8723BE 802.11n PCI wireless
license:        GPL
author:         Realtek WlanFAE 
author:         PageHe  
srcversion:     2C82AEBD843DD8F2598579A
alias:          pci:v000010ECd0000B723sv*sd*bc*sc*i*
depends:        rtlwifi,rtl8723-common,rtl_pci,btcoexist,mac80211
name:           rtl8723be
vermagic:       4.14.11-1-ARCH SMP preempt mod_unload modversions 
parm:           swenc:Set to 1 for software crypto (default 0)
 (bool)
parm:           ips:Set to 0 to not use link power save (default 1)
 (bool)
parm:           swlps:Set to 1 to use SW control power save (default 0)
 (bool)
parm:           fwlps:Set to 1 to use FW control power save (default 1)
 (bool)
parm:           msi:Set to 1 to use MSI interrupts mode (default 0)
 (bool)
parm:           debug:Set debug level (0-5) (default 0) (int)
parm:           disable_watchdog:Set to 1 to disable the watchdog (default 0)
 (bool)
parm:           ant_sel:Set to 1 or 2 to force antenna number (default 0)
 (int)

我的问题在于选错了天线, 也就是最后一个参数: ant_sel

刚才秋豪大佬告诉我有可能是以前我并没有使用到这个网卡, 只是使用了 intel 内置的网卡, 所以这个网卡几乎不能正常使用

通过尝试, 将这个 ant_sel 设置为 2 即可启动在笔记本屏幕中内置的天线
然后将各种省电策略关闭, 配置好之后重新启动该内核模块即可

modprobe -r rtl8723be && modprobe rtl8723be

附上配置文件:

➜  ~ cat /etc/modprobe.d/rtl8723be.conf
options rtl8723be ant_sel=2 ips=0 swlps=1 fwlps=1
modprobe -r rtl8723be && echo 'options rtl8723be ant_sel=2 ips=0 swlps=1 fwlps=1' > /etc/modprobe.d/rtl8723be.conf && modprobe rtl8723be

开源 RTL 无线网卡驱动:

https://github.com/lwfinger/rtlwifi_new

你可能感兴趣的:(解决 RTL8723BE 无线网卡不稳定的问题)