仅 4.8 之前的内核才需要安装自定义驱动程序。

仅 4.8 之前的内核才需要安装自定义驱动程序。

我在配有 RTL8723BE Wi-fi 卡的笔记本电脑上安装了 Ubuntu 15.04。但它总是断开网络连接。我试过了,echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf但没有用。我该怎么做才能防止 Wi-Fi 断开连接?如果我升级到内核 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

答案1

首先删除您所做的设置。

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

然后再次重新启动。

扩展由辣椒555这个答案

这是与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 中已经原生支持蓝牙适配器。

离线指南

如果您没有任何互联网连接,您可以使用另一台计算机、手机等下载该包。

该软件包是这里

您还需要DKMS安装。您可以找到适用于 Ubuntu 16.04 的 DKMS 包这里

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

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

然后重新启动。

重要的:对于在 UEFI 上启用安全启动的系统上安装的新 Ubuntu 内核,未签名的内核模块可能无法加载。在这种情况下,请参阅这个答案要解决这个问题。

更新:我现在有一台装有此适配器的笔记本电脑。它在 Ubuntu 16.10 和 16.04.2 中的 4.8 内核上完美运行。

仅 4.8 之前的内核才需要安装自定义驱动程序。

如果 Ubuntu 16.04 尚未安装 4.8 内核,我建议安装它。

sudo apt install linux-generic-hwe-16.04

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

但是如果您的笔记本电脑只有一根天线,并且连接到“错误”的连接器,ant_sel=2and_sel=1可能需要设置。

答案2

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

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

安装新的驱动程序并进行设置后,问题得到解决ant_sel=2,正如这里所述。

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

这已得到另一位用户的证实(见RTL8723BE:Wifi 总是在 15/20 分钟后掉线

答案3

对我有用的是启用 MSI 参数(消息信号中断)。我有一台联想 Z50 笔记本电脑。我的 wifi 可以与所有 wifi 笔记本电脑制造商兼容,但我曾经住过的一家酒店的 Lancorm wifi 路由器出现了问题。

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

/home/peter/rtlwifi_new/rtl8723be

然后在sw.c文件中,我添加了变量.msi_support并在数据类型下将其初始化为“false”

rtl_mod_params rtl8723be_mod_params

IE

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

答案4

我遇到了同样的问题,我按照说明更新了我的驱动程序Pilot6 回答,但它仍然经常断线。我拼命寻找另一种解决方案时,我发现laugeo 的回答删除 Windows 10 fastboot解决了这个问题。不幸的是,我只有 Ubuntu,没有 Windows。但是我发现,只需禁用旧版支持解决问题!

我必须像这样在 Bios 中禁用 Legacy Support:

Bios -> 启动选项 (Enter) -> 传统支持:已禁用

在此处输入图片描述

现在 WLAN 运行正常 - 不再断开连接!

相关内容