无线连接随机断开

无线连接随机断开

我全新安装了 Ubuntu 14.04.04,与 Windows 10 一起安装。

我遇到了无线连接随机断开的问题。当我启动系统时一切正常,但经过一段时间后,连接断开,无论我怎么尝试,除非我重新启动系统,否则连接都不会恢复。

我尝试使用 dmesg 命令进行调试,我认为这与 IPV6 冲突有关,因此我在网络管理器中设置了忽略选项,但没有帮助。我也手动设置了网络设置,但也没有帮助。

最后一件事:我在 Windows 10 上已经遇到了一个问题,我在这里详细解释了一下笔记本电脑随机冻结

我现在想无线网卡是否会导致 Windows 上出现这种现象!

这是 dmesg 输出的部分子集,如果您需要更多,请告诉我:

[15.847672] IPv6:ADDRCONF(NETDEV_UP):wlan0:链接未准备好
[ 16.192616] r8169 0000:03:00.1 eth0:链接断开
[ 16.192644] IPv6:ADDRCONF(NETDEV_UP):eth0:链接未准备好
[16.573804] 审核:类型 = 1400 审核(1457382167.018:23):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/sbin/dhclient”pid = 956 comm =“apparmor_parser”
[16.573811] 审核:类型 = 1400 审核(1457382167.018:24):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/lib/NetworkManager/nm-dhcp-client.action”pid = 956 comm =“apparmor_parser”
[16.573815] 审核:类型 = 1400 审核(1457382167.018:25):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/lib/connman/scripts/dhclient-script”pid = 956 comm =“apparmor_parser”
[16.574035] 审核:类型 = 1400 审核(1457382167.018:26):apparmor =“STATUS”操作 =“profile_load”配置文件 =“unconfined”名称 =“/usr/sbin/tcpdump”pid = 963 comm =“apparmor_parser”
[16.574116] 审核:类型=1400 审核(1457382167.018:27):apparmor =“STATUS”操作=“profile_load”配置文件=“unconfined”名称=“/usr/lib/lightdm/lightdm-guest-session”pid=955 comm=“apparmor_parser”
[16.574121] 审核:类型 = 1400 审核(1457382167.018:28):apparmor =“STATUS”操作 =“profile_load”配置文件 =“unconfined”名称 =“chromium”pid = 955 comm =“apparmor_parser”
[16.574177] 审核:类型 = 1400 审核(1457382167.018:29):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/lib/NetworkManager/nm-dhcp-client.action”pid = 956 comm =“apparmor_parser”
[17.649530] init: alsa-restore 主进程(1074)以状态 99 终止
[17.804612]wlan0:使用 64:d1:a3:2f:fd:c8 进行身份验证
[ 17.815714] wlan0:将身份验证发送至 64:d1:a3:2f:fd:c8(尝试 1/3)
[17.820034]wlan0:已验证
[ 17.822276] wlan0:与 64:d1:a3:2f:fd:c8 关联(尝试 1/3)
[17.826528]wlan0:来自 64:d1:a3:2f:fd:c8 的 RX AssocResp(capab=0x411 状态=0 援助=3)
[17.827360]wlan0:已关联
[17.827366] IPv6:ADDRCONF(NETDEV_CHANGE):wlan0:链接已准备就绪
[ 18.369446] IPv6:wlan0:检测到 IPv6 重复地址 fe80::ba86:87ff:feef:7fa5!
[25.349143] ahci 0000:00:17.0:端口不支持设备睡眠
[42.991776]audit_printk_skb:抑制了132个回调
[42.991779] 审计:类型 = 1400 审计(1457382193.435:74):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/lib/cups/backend/cups-pdf”pid = 2181 comm =“apparmor_parser”
[42.991784] 审核:类型 = 1400 审核(1457382193.435:75):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/sbin/cupsd”pid = 2181 comm =“apparmor_parser”
[42.992060] 审核:类型 = 1400 审核(1457382193.435:76):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/sbin/cupsd”pid = 2181 comm =“apparmor_parser”
[ 150.210576] [drm:intel_pipe_update_end [i915]] *错误* 管道 A 上的原子更新失败(开始=10062 结束=10063)
[ 202.451361] [drm:intel_pipe_update_end [i915]] *错误* 管道 A 上的原子更新失败(开始=13198 结束=13199)

上次断开连接后,我禁用了网络然后启用它,这是 dmesg 在底部显示的内容:

[23.743542] init: plymouth-upstart-bridge 主进程结束,正在重生
[23.751996] init: plymouth-upstart-bridge 主进程结束,正在重生
[ 26.284762] ahci 0000:00:17.0:端口不支持设备睡眠
[44.981590]audit_printk_skb:抑制了132个回调
[44.981592] 审计:类型 = 1400 审计(1457459828.800:68):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/lib/cups/backend/cups-pdf”pid = 1736 comm =“apparmor_parser”
[44.981597] 审计:类型 = 1400 审计(1457459828.800:69):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/sbin/cupsd”pid = 1736 comm =“apparmor_parser”
[44.981873] 审核:类型 = 1400 审核(1457459828.800:70):apparmor =“STATUS”操作 =“profile_replace”配置文件 =“unconfined”名称 =“/usr/sbin/cupsd”pid = 1736 comm =“apparmor_parser”
[ 530.625719] systemd-hostnamed[2849]: 警告:nss-myhostname 未安装。更改本地主机名可能会导致其无法解析。请安装 nss-myhostname!
[ 875.637661] wlan0:根据本地选择从 64:d1:a3:2f:fd:c8 取消身份验证(原因:3=DEAUTH_LEAVING)
[ 890.043165] cfg80211: 世界监管域名更新:
[890.043168]cfg80211:DFS 主区域:未设置
[890.043169]cfg80211:(start_freq-end_freq@带宽),(max_antenna_gain,max_eirp),(dfs_cac_time)
[890.043171]cfg80211:(2402000 KHz - 2472000 KHz @ 40000 KHz),(300 mBi,2000 mBm),(不适用)
[890.043172]cfg80211:(2457000 KHz - 2482000 KHz @ 40000 KHz),(300 mBi,2000 mBm),(不适用)
[890.043173]cfg80211:(2474000 KHz - 2494000 KHz @ 20000 KHz),(300 mBi,2000 mBm),(不适用)
[890.043174]cfg80211:(5170000 KHz - 5250000 KHz @ 40000 KHz),(300 mBi, 2000 mBm),(不适用)
[890.043175]cfg80211:(5735000 KHz - 5835000 KHz @ 40000 KHz),(300 mBi,2000 mBm),(不适用)
[896.305532] IPv6:ADDRCONF(NETDEV_UP):wlan0:链接未准备好
[896.325321] r8169 0000:03:00.1 eth0:链接断开
[896.325356] IPv6:ADDRCONF(NETDEV_UP):eth0:链接未准备好
[898.031771] wlan0:使用 64:d1:a3:2f:fd:c8 进行身份验证
[ 898.052478] wlan0:将身份验证发送至 64:d1:a3:2f:fd:c8(尝试 1/3)
[ 898.654827] wlan0:将身份验证发送至 64:d1:a3:2f:fd:c8(尝试 2/3)
[ 899.654614] wlan0:将身份验证发送至 64:d1:a3:2f:fd:c8(尝试 3/3)
[ 900.654536] wlan0:与 64:d1:a3:2f:fd:c8 的身份验证超时

笔记:网络仍然显示为已连接,因此它不会尝试自动连接,但我根本没有连接。

答案1

好的,首先,您的无线监管域未设置,这限制了您的频率范围。

根据您粘贴的输出,您似乎在阿姆斯特丹。如果您不在阿姆斯特丹,请务必使用与您的实际位置相对应的正确两个字母国家/地区运行以下命令。此外,如果您前往其他国家/地区,则应将正确的国家/地区设置为您前往的地方,以免违反当地的无线电频率限制。

如果您不在阿姆斯特丹,您可以通过运行命令找到与所有区域相对应的两个字母代码的完整列表cat /usr/share/zoneinfo/zone.tab。再次使用正确的国家代码。

在此示例中,我将发布使用国家代码将当地国家/地区设置为阿姆斯特丹的命令NL

sudo iw reg set NL
sudo sed -i 's/REGDOMAIN=/REGDOMAIN=NL/g' /etc/default/crda
sudo sed -i 's/REGDOMAIN=/REGDOMAIN=NL/g' /lib/crda/setregdomain

您现在应该可以访问频率 2.467 和 2.472 上的 12 和 13 频道。如果其中一个频率变得不那么拥挤,您可能希望将来使用其中一个频道。

接下来,有 8 个 wifi 网络使用与您相同的频道,这可能会导致严重的连接和性能问题。

你应该使用不太拥挤的频率。有:

  • 8 个人正在使用 2.462 (频道 11)。
  • 3 个人正在使用 2.457 (频道 10)。
  • 2 个人正在使用 2.422(频道 3)。
  • 4 个人正在使用 2.412(频道 1)。

未使用的频率为:

  • 2.417(通道 2)
  • 2.432(通道 5)
  • 2.447(第 8 频道)
  • 2.467(频道 12)

看起来最不拥挤的频率是 5 频道的 2.432

我强烈建议您将无线路由器配置为使用频道 5 上的 2.432 频率,以防止出现问题。


此外,如果您离开欧洲,您可以通过运行以下命令取消设置阿姆斯特丹监管域:

sudo sed -i 's/REGDOMAIN=NL/REGDOMAIN=/g' /etc/default/crda

请发布任何错误或如果这没有帮助则告诉我。


编辑1

因为那不起作用,所以您通常可以通过增加 tx 重试阈值来弥补这些类型的问题。

默认情况下,将其设置为 7 以节省电力,但许多人发现这在某些地区还不够。

遇到这些问题时,请运行以下命令,将重试次数从 7 次增加到 12 次:

sudo iwconfig wlan0 retry short 12 

上述设置不是永久的,您需要在重启后运行此命令。您可以通过运行以下命令来检查重试限制:

iwconfig | grep limit:..

接下来,您应该调整模块设置的一些省电功能。尽管“powersave”在 iwconfig 中显示出来,但您很可能仍然需要禁用模块设置的一些参数才能获得良好的性能。这对于 realtek 驱动程序来说很常见。

运行以下命令为您的驱动模块创建配置文件:

sudo nano /etc/modprobe.d/rtl8723be.conf

将以下行复制并粘贴到文件中:

options rtl8723be ips=0
options rtl8723be fwlps=0
options rtl8723be swlps=0
options rtl8723be msi=0
options rtl8723be swenc=0
options rtl8723be debug=1

CTRL+o然后按ENTER保存文件。按CTRL+x退出 nano。

您可以设置debug=05。我相信5是最详细的并且0是关闭的。

这里的模块设置是永久的。如果你想编辑这些设置,只需编辑文件即可/etc/modprobe.d/rtl8723be.conf

(注意:有些人建议设置swenc=0swenc=1,但无论哪种方式,差异可能都不明显。)

最后,运行以下命令重新加载模块:

sudo modprobe -r -f rtl8723be
sudo modprobe rtl8723be
sudo service network-manager restart

再次,请发布任何错误或未来的问题。

相关内容