问题描述
我用Ubuntu 14.04双启动了我的Windows 8笔记本电脑。无线驱动程序是Realtek rtl8723be。它没有使用工作,但我更新内核到3.18并重新安装驱动程序,这似乎解决了几个小时的问题。然后它将连接大约30分钟,然后连接将停止,即使系统托盘上的图标仍然指示它已连接。唯一有效的方法是重新启动计算机,然后再次,30分钟后连接停止。
最佳解决办法
我在linux mint 17和mint17.1上遇到了rtl8723be的这些问题。相同的过程应该适用于ubuntu 14.04和派生。
我不得不为realtek wifi卡安装新模块,他们解决了不断断开连接的问题:
-
安装所需的包
sudo apt-get install build-essential git
-
git clone新的realtek wifi模块
git clone https://github.com/lwfinger/rtlwifi_new/
-
进入目录
cd rtlwifi_new
-
建立它
make
-
安装
sudo make install
现在您可以重新启动或卸载/加载模块
-
卸载模块
sudo modprobe -r rtl8723be
-
加载新模块
sudo modprobe rtl8723be
-
如果仍然无效,请尝试this post中的解决方案
echo "options rtl8723be fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
注意:每次更新内核后,都需要重建模块。那是,
每次内核更新后:
cd rtlwifi_new
清理以前的版本
make clean
更新git存储库
git pull
编
make clean && make
安装
sudo make install
重启或卸载/加载模块
编辑:似乎内核4.17内核API已更改:注意:如果您的内核是4.17或更新,并且您的卡不是RTL8723DE,那么您不应该使用外部驱动程序。 内置是一样的。来源:https://github.com/lwfinger/rtlwifi_new/
次佳解决办法
我朋友的惠普笔记本电脑无法显示可用的Wi-Fi网络。
所以我按照Miodrag Prelec’s answer的步骤直到echo "options rtl8723be fwlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
然后,我做到了
sudo modprobe -r rtl8723be
然后是:
sudo modprobe rtl8723be ant_sel=1
sudo modprobe rtl8723be ant_sel=2
(无论哪个有效)
执行此操作后,它将在菜单中列出Wi-Fi信号。
所以我将这些行添加到/etc/rc.local
(在exit 0
之上),以便每次我的笔记本电脑启动时它都会运行。
sleep 10
sudo modprobe -r rtl8723be
sudo modprobe rtl8723be ant_sel=1
注意:如果需要,将ant_sel=1
更改为ant_sel=2
。
第三种解决办法
在终端中运行以下命令
echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf
因为这将禁用卡的一些电源管理,通常会有所帮助。
然后您需要重新启动或手动重新加载驱动程序
sudo modprobe -rv rtl8723be
sudo modprobe -v rtl8723be
这是在ubuntuforums中找到的。 Varunendra非常好地排除了realtek卡。
第四种办法
我遇到了类似的情况,我采取了各种网站上提供的建议,并创建了适合我的脚本。 Here it is on GitHub
要克隆存储库,请运行:
git clone https://github.com/tarunbatra/fixRTL8723BE
cd
到项目根目录,然后运行bash install.sh
。这是脚本供参考:
#!/usr/bin env bash
REPO="https://github.com/lwfinger/rtlwifi_new"
CONFIG_DIR=`pwd`
checkGit() {
if git --version &> /dev/null; then
echo "Git found"
else
echo "Git not found"
fi
}
installGit() {
echo "Installing git\n"
sudo apt-get install git >> /dev/null
}
cloneRepo() {
echo "Downloading latest drivers from $REPO"
if git clone $REPO /tmp/rtlwifi_new_$$; then
echo "Drivers downloaded successfully"
else
echo "Download couldn't be completed. Exiting"
exit 1
fi
}
installDrivers() {
cd /tmp/rtlwifi_new_$$ || (echo "Drivers not found"; exit 1)
echo "Building drivers"
if make && sudo make install; then
echo "Drivers built successfully"
else
echo "Drivers couldn't be built. Exiting"
exit 1
fi
}
configureWiFi() {
echo "Configuring the WiFi settings"
cd $1
if (cat ./setup.conf | sudo tee /etc/modprobe.d/rtl8723be.conf); then
echo "WiFi settings configured"
else
echo "Wifi settings couldn't be configured"
fi
}
restartWiFi() {
echo "Restarting WiFi"
if sudo modprobe -r rtl8723be && sudo modprobe rtl8723be; then
echo "WiFi restarted"
else
echo "Couldn't restart WiFi"
fi
}
echo "Fixing Wifi"
checkGit || installGit
cloneRepo $REPO
installDrivers
configureWiFi $CONFIG_DIR
restartWiFi
echo "Your WiFi is fixed. Enjoy!"
echo "If this doen't help, try changing rtl8723be.conf and repeating the process"
exit 0