当前位置: 首页>>技术教程>>正文


在Ubuntu 14.04中使用rtl8723be的Wifi问题

, , , , ,

问题描述

我用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

source

第三种解决办法

在终端中运行以下命令

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

参考资料

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