问题描述
我在笔记本电脑上安装了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_new,rock.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=2
或and_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个问题。
-
WiFi驱动程序需要如上所述进行交换,以解决卡的丢失问题,这需要重新启动网络管理器或使用网络重新同步卡。按照说明更新驱动程序。
sudo add-apt-repository ppa:hanipouspilot/rtlwifi sudo apt-get update sudo apt-get install rtlwifi-new-dkms linux-firmware
-
一旦你的辍学被修复,你需要治愈低信号强度问题…这是一个更具侵略性。松开底部的所有螺丝,即使是2个背部橡胶支脚下的螺丝,底部还有中心小橡胶盖和铰链橡胶盖。
轻轻地将顶部从底座上轻轻点击。轻轻抬起顶部。将网卡定位在中间,朝后。取下连接的天线(主)的细同轴电缆,并将其更换在旁边的连接器(辅助)上。将所有东西放回原处。
Linux的驱动程序使用此双天线卡上的另一个天线,因此如果您不交换它,您将收到严重的信号丢失。
现在笔记本电脑有足够的存储空间,靴子非常快,并且在房子周围没有辍学信号。伟大的小笔记本电脑的价格,但需要一些计划,如果你要把Linux放在它上面。
感谢大家对此的工作。