解决Linux下RTL8723be无线网卡搜索不到wifi的问题——华硕笔记本安装deepin15.11无wifi信号

好久没有更新博客了,疫情期间在家闲得蛋疼,爱捣鼓的小心思已经压制不住了,没事找事解决。

早在大半年前,喵哥在一台机器上安装了较为出色国产操作系统——deepin。虽然也是定制的Linux,相对Ubuntu Kylin来说好得不止一星半点。deepin的桌面UI设计相当漂亮,它的应用软件生态在国内Linux系统中算是出类拔萃的。然而,deepin还是存在一些问题:UI漂亮,但是经常卡住,WiFi信号似乎不是太好。。。这几天就开始捣鼓起来,解决搜不到wifi信号问题。


环境描述:

华硕FX53vd笔记本

无线网卡:rtl8723be

操作系统:deepin15.11(64位)


问题描述:

笔记本搜不到附近的wifi信号,如图1所示。

图1 无信号

一开始,喵哥一直认为这个问题是deepin系统的锅。事实上,喵哥也在deepin的论坛上发现了有人发布相关帖子(彻底解决deepin linux的无线网络问题),并且解决了搜不到WiFi的问题。事情远不止这么简单(不然也不会发布这篇博客),喵哥按照帖子中的步骤安装了rtl8723be的驱动,但是并没有如帖子中所说热泪盈眶,反而一脸愁容——并没有起效。

后面一段时间,喵哥开始佛系捣鼓,偶尔看到合适的就去试试,但是大部分都是联想的笔记本,操作起来很多地方不一样,根据后来成功的经验,估计问题也不一样。

偶然发现一篇文章 Linux下RTL8723BE无线网卡驱动问题解决方法,发现喵哥可能是找错了解决问题的方向——在Linux中rtl8723be网卡接收WiFi信号似乎一直是个问题。根据文章的介绍,喵哥试了一遍,失败了。。。但是文章中有个细节,喵哥觉得不是太对:文章说“ant_sel设置的是信号强度”,并且越大越好,文章设置成2。

执行modinfo rtl8723be可以看到ant_sel的说明

 ant_sel:Set to 1 or 2 to force antenna number (default 0)

这个其实是选择无线网卡的天线,一共有两个:1(MAIN)、2(AUX),选择0为系统自动设置,本机器的无线网卡天线接口如图2所示,黑线接1(MAIN),白线接2(AUX),图中的白线是临时拔下的,并没有单线运行机器。

图2 无线网卡

1是主天线接口,喵哥的机器选择2号接口似乎不行。

喵哥最后解决了无WiFi信号的问题,其中ant_sel和msi(信号中断模式,用命令 modinfo rtl8723be 可以查看)是主要起作用的参数,具体流程如下。


 

解决问题的流程

1.安装相关的软件和依赖

 sudo apt-get install linux-headers-generic build-essential git

2.下载rtl无线网卡驱动,这是一个合集,包含不止rtl8723be的驱动

 git clone https://github.com/lwfinger/rtlwifi_new

3.进入刚刚下载的文件夹,安装驱动程序

sudo make

sudo make install

4.设置网卡的配置文件,喵哥的是/etc/modprobe.d/rtl8723be.conf,没有的话自己新建

sudo vim /etc/modprobe.d/rtl8723be.conf

在/etc/modprobe.d/rtl8723be.conf写入:

'调试等级
options rtl8723be debug=1

'看门狗,可以关闭,设为1
options rtl8723be disable_watchdog=1

'开启软件加密
options rtl8723be swenc=1

'以下三个参数与节能相关,设为0关闭
options rtl8723be fwlps=0
options rtl8723be ips=0
options rtl8723be swlps=0

‘以下为关键步骤:

'信号中断模式,64位系统设为1,开启MSI中断模式
options rtl8723be msi=1

'强制选择1号天线,设为0也行,系统会自动选择
options rtl8723be ant_sel=1

以上写入的内容为rtl网卡的参数,执行modinfo trl8723be可以看到相关参数的说明:

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)

5.执行移除rtl网卡驱动,然后重新载入驱动

sudo modprobe -rv rtl8723be

sudo modprobe -v rtl8723be

6.可以搜索到WiFi了:

图3 有信号

 

发布了55 篇原创文章 · 获赞 29 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/ruibin_cao/article/details/104711710
今日推荐