解決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 有信號

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章