在 Ubuntu 17.10 上使用 RTL8192CU 时 WiFi 经常断开连接

在 Ubuntu 17.10 上使用 RTL8192CU 时 WiFi 经常断开连接

我用Ubuntu 17.10以及以下 USB 适配器:

lsusb  | grep -o 'ASUS.*'

华硕电脑公司 N10 Nano 802.11n 网络适配器 [RealtekRTL8192CU]

sudo lshw -class network | grep -o '.*rtl.*generic'

配置:广播=是驱动程序=rtl8192cu驱动程序版本=4.13.0-21-通用

当电脑启动时,互联网工作正常(除了上传和下载速度比其他设备慢 3 倍),但过了一会儿(通常只有几分钟)互联网中断我需要运行以下命令才能使其再次可用(或者等待大约 5 分钟以上才能自动重新连接):

sudo /etc/init.d/network-manager restart

我读这里

无线 Realtek 芯片组 RTL8188CUS 和RTL8192CU应该运行良好默认 RTL8192CU 驱动程序(至少自 4.4 内核系列推出以来)。因此它们应该可以开箱即用。即插即用,无需再采取任何行动

CD 中的驱动程序似乎不适用于此内核版本。

禁用 IPv6从我的 WiFi 设置/整个系统没有修复问题。

驱动程序有问题吗?
或者是否有其他原因导致它在一段时间后失败?


编辑:

系统配置

运行iwconfig显示类似的输出(全部显示Power Management:off),但有 2 个区别:

  • 第一次断开连接之前

      Link Quality=52/70  Signal level=-58 dBm  
      Tx excessive retries:0  Invalid misc:3   Missed beacon:0
    
  • 断开连接后

      Link Quality=52/70  Signal level=-58 dBm  
      Tx excessive retries:0  Invalid misc:135   Missed beacon:0
    
  • 重新连接后(重新启动网络管理器服务)

      Link Quality=38/70  Signal level=-72 dBm  
      Tx excessive retries:0  Invalid misc:8   Missed beacon:0
    

日志控制

# sudo journalctl -fu NetworkManager

...
十二月 25 22:59:50 ... NetworkManager[...]: [...] 经理:rfkill:WiFi 硬件无线电装置已启用
十二月 25 22:59:50 ... NetworkManager[...]: [...] 经理:rfkill:WWAN 硬件无线电装置已启用

无线网络在 23:10:00 左右断开,大约 5 分钟后:

12 月 25 日 23:15:10 ... NetworkManager[...]: [...] 连接性:(wlx...)超时
12 月 25 日 23:15:26 ... NetworkManager[...]: [...] 策略:将“...”(wlx...)设置为 IPv6 路由和 DNS 的默认值
12 月 25 日 23:20:10 ... NetworkManager[...]: [...] 连接性:(wlx...)超时

修改probe文件

添加以下文件/行并不能解决问题:

cat /etc/modprobe.d/rtl8192cu.conf

选项 rtl8192cu fwlps=N

cat /etc/modprobe.d/rtl8xxxu.conf

黑手党 rtl8xxxu

cat /etc/modprobe.d/blacklist.conf  | grep rtl

黑名单 rtl8xxxu
黑名单 rtl8192c_common

答案1

问题是固定的使用来自的说明这里

sudo apt-get install linux-headers-$(uname -r) build-essential dkms git
git clone https://github.com/pvaret/rtl8192cu-fixes.git
sudo dkms add ./rtl8192cu-fixes
sudo dkms install 8192cu/1.10
sudo depmod -a
sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
sudo cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
reboot

我希望这不仅仅是一个巧合,而是它在过去 1 个小时里发挥了作用。

到目前为止,我忽略了包含此 GitHub URL 的帖子:https://github.com/pvaret/rtl8192cu-fixes因为 README.md 文件指定了以下内容:

!! 该驱动程序已弃用!!

内核 4.4 中最初引入的新 rtl8xxxu 驱动程序目前运行良好,您几乎肯定会更喜欢它而不是这个存储库。

如果 rtl8xxxu 给您带来问题,请在安装此驱动程序之前尝试对其进行故障排除。已知要查找的内容包括:

某些设备要求在 NetworkManager 中禁用电源管理。按照下面的说明在 NetworkManager 中禁用电源管理。确保将较旧的 rtl8192cu 驱动程序列入黑名单,否则默认情况下会加载该驱动程序。

答案2

我会尝试将已加载的其他模块列入黑名单并重新启动

echo "blackist rtl8xxxu" | sudo tee /etc/modprobe.d/rtl8xxxu.conf

相关内容