当前位置: 首页>>技术问答>>正文


如何使用Realtek RTL8723BE无线网卡?

, , ,

问题描述

我在笔记本电脑上安装了Ubuntu 15.04和RTL8723BE Wi-fi卡。但它始终与网络断开连接。我尝试过echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf,但没有帮助。我该怎么做才能阻止wifi断开连接?如果我升级到内核4.X,它会有帮助吗?

~$ lspci -knn | grep Net -A2

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


~$ rfkill list
0: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no


~$ ifconfig && iwconfig && route -n && ping -c 1 google.com
eth0      Link encap:Ethernet  HWaddr 38:63:bb:cd:4a:7e  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:752 (752.0 B)  TX bytes:8445 (8.4 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3870 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3870 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:314613 (314.6 KB)  TX bytes:314613 (314.6 KB)

wlan0     Link encap:Ethernet  HWaddr c0:38:96:6d:c4:83  
          inet addr:192.168.1.205  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::c238:96ff:fe6d:c483/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15240 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14627 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14410285 (14.4 MB)  TX bytes:2192744 (2.1 MB)

eth0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"DIR-615"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:90:4C:08:00:0D   
          Bit Rate=150 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr=2347 B   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-22 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:186   Missed beacon:0

lo        no wireless extensions.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    400    0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
PING google.com.Dlink (172.26.136.19) 56(84) bytes of data.
64 bytes from 19.136.26.172.in-addr.arpa (172.26.136.19): icmp_seq=1 ttl=249 time=102 ms

--- google.com.Dlink ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 102.547/102.547/102.547/0.000 ms

最佳解决办法

首先删除您所做的设置。

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

如果您没有此文件,则没有错。

然后安装好的驱动程序

sudo add-apt-repository ppa:hanipouspilot/rtlwifi
sudo apt-get update
sudo apt-get install rtlwifi-new-dkms

重启并享受

如果仍有问题(低信号),您可能需要添加一个选项:

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

然后重新启动。

扩展由chili555在this answer中进行。

这与https://github.com/lwfinger/rtlwifi_newrock.new_btcoex分支相同,但打包为dkms。

您可以在https://github.com/hanipouspilot/rtlwifi_new/tree/rock.new_btcoex看到所有这些

如果您还需要蓝牙工作,请运行:

sudo apt-get install rtl8723au-bt-dkms linux-firmware

注意:PPA中添加了对4.2内核和Ubuntu 15.10的支持。对于内核4.2,不应从PPA安装蓝牙驱动程序。内核4.2中已经支持蓝牙适配器。

离线指南

如果您没有任何互联网连接,可以使用其他计算机,电话等下载该软件包。

包是HERE

您还需要安装DKMS。您可以找到Ubuntu 16.04 HERE的DKMS包

将这两个文件复制到Ubuntu Home文件夹(〜/)并在终端中运行

sudo dpkg -i dkms*.deb rtlwifi*.deb

然后重启。

要点:对于在UEFI上具有安全启动的系统上安装的新Ubuntu内核,可能无法加载未签名的内核模块。在这种情况下,请参阅THIS ANSWER来修复它。

更新:我现在有一台配有此适配器的笔记本电脑。它完全适用于Ubuntu 16.10和16.04.2中提供的4.8内核。

只有4.8以上的内核才需要安装自定义驱动程序。

我建议将4.8内核安装到Ubuntu 16.04(如果尚未安装)

sudo apt install linux-generic-16.04

重启后设备应该可以正常工作。

但是,如果您的笔记本电脑只有一个天线并且它连接到”wrong”连接器,则可能需要设置ant_sel=2and_sel=1

次佳解决办法

如果您的Wifi在一段时间后下降并且您使用Windows双启动

在HP 250 G4上(使用rtl8723be),我起初有天线错误:wifi信号太低:

安装新驱动程序并设置ant_sel=2后解决了问题,如此处所述。

但后来出现了第二个问题:wifi工作正常一段时间(有时是2小时)然后突然变慢并最终断开连接。改变参数(ips,fwps ……)没有帮助。我终于发现删除Windows 10 fastboot(在Windows能量设置中)解决了这个问题。

这已被其他用户确认(请参阅RTL8723BE: Wifi always drops after 15/20 mins

第三种解决办法

对我有用的是启用MSI参数(消息信号中断)。我有一台lenovo Z50笔记本电脑。我的无线网络将适用于所有无线笔记本电脑制造商,但我有一个Lancorm wifi路由器在我住过的酒店有问题。

我在文件夹路径中找到了文件sw.c

/home/peter/rtlwifi_new/rtl8723be

然后在sw.c文件中,我添加了变量.msi_support并在数据类型下将其启动到”false”

rtl_mod_params rtl8723be_mod_params

static struct rtl_mod_params rtl8723be_mod_params = {
.sw_crypto = false,
.inactiveps = true,
.swctrl_lps = false,
.fwctrl_lps = true,
.msi_support = false,
};

由于msi_support默认是禁用的,我们必须将其适当地初始化为禁用(因此为false),

然后我遵守了以下代码:

cd rtl8723be
make clean
sudo make install
sudo modprobe rtl8723be

之后,我在文件中将msi参数设置为1

/etc/modprobe.d/rtl8723be.conf

它应该包含

options rtl8723be fwlps=N ips=N swenc=Y msi=1

您可能必须重新启动计算机并在重新启动浏览器后等待几分钟才能触发msi。

这适用于联想z50。根据您的电脑,您可以切换并选择msi为0

第四种办法

刚刚拿了HP Stream 13并擦了它,把Ubuntu 15.10放在它上面,将所有主文件夹符号化为64GB SD卡以扩展32GB SSD …然后遇到了可怕的rtl8723be问题,我在HP 430工作中也注意到了笔记本电脑有不同的变种….

在经历了很多混乱之后,我终于发现这里有2个问题。

  1. WiFi驱动程序需要如上所述进行交换,以解决卡的丢失问题,这需要重新启动网络管理器或使用网络重新同步卡。按照说明更新驱动程序。

    sudo add-apt-repository ppa:hanipouspilot/rtlwifi
    sudo apt-get update
    sudo apt-get install rtlwifi-new-dkms linux-firmware
    
  2. 一旦你的辍学被修复,你需要治愈低信号强度问题…这是一个更具侵略性。松开底部的所有螺丝,即使是2个背部橡胶支脚下的螺丝,底部还有中心小橡胶盖和铰链橡胶盖。

轻轻地将顶部从底座上轻轻点击。轻轻抬起顶部。将网卡定位在中间,朝后。取下连接的天线(主)的细同轴电缆,并将其更换在旁边的连接器(辅助)上。将所有东西放回原处。

Linux的驱动程序使用此双天线卡上的另一个天线,因此如果您不交换它,您将收到严重的信号丢失。

现在笔记本电脑有足够的存储空间,靴子非常快,并且在房子周围没有辍学信号。伟大的小笔记本电脑的价格,但需要一些计划,如果你要把Linux放在它上面。

感谢大家对此的工作。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1725.html,未经允许,请勿转载。