所以,我的互联网偶尔会断线。我不知道为什么!
有一段时间我以为这是在我允许更新管理器自动检查更新时发生的,但现在我相信情况并非如此。
事情是这样的我不知道如何检查我的计算机的活动日志以尝试辨别为什么会发生这种情况,或者这样做之后要寻找什么(或者,如何在这里重新发布它,以便比我聪明的人可以弄清楚)。 我该如何正确解决这个问题?
编辑:我已将我想在此强调的内容加粗。虽然我很欣赏建议的修复方法,但我注意到我的计算机行为发生了明显变化 - 自从我关闭旋转桌面功能后,我没有遇到任何连接问题。由于这在目前是一个有点随机的事件,我不想假设我的外观设置与我保持与 wifi 连接的能力之间存在关联。那么我该如何调查呢?
EDIT2:好的,这在 Ubuntu 13.04 上仍然是一个明显的问题,所以我删除了 12.04 标签,因为它似乎不适用。它似乎消失了一段时间,但它又回来了,可能是由于升级的结果(但我不得不这样做,Unity 的速度要快得多!Eee)到目前为止,我可以通过转到系统设置 > 网络 > 选择我的网络并向右单击橙色箭头 > 设置 > 将 MTU 设置从“自动”切换到“1”并返回“自动”并保存来重新连接。如果问题确实是这个设置,那么另一篇文章中描述的方法并不表明如何找到正确的 MTU 设置。有没有办法让我确定最佳 MTU?顺便说一句,这不是我家庭网络上的 Windows 或 OSX 机器的问题,只是这个家伙 :(
EDIT3:根据以下要求,以下是输出dmesg | tail
:
[ 18.209158] wlan0: associate with 00:1e:e5:74:26:0f (try 1/3)
[ 18.213191] wlan0: RX AssocResp from 00:1e:e5:74:26:0f (capab=0x411 status=0 aid=4)
[ 18.213241] wlan0: associated
[ 18.213273] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 2227.016921] init: upstart-file-bridge main process (319) terminated with status 1
[ 2227.016961] init: upstart-file-bridge main process ended, respawning
[ 2227.017109] init: upstart-udev-bridge main process (346) terminated with status 1
[ 2227.017127] init: upstart-udev-bridge main process ended, respawning
[ 2227.017242] init: upstart-socket-bridge main process (617) terminated with status 1
[ 2227.017259] init: upstart-socket-bridge main process ended, respawning
EDIT4:好的,看来我可能在这里找到了一些东西。看一下这条消息:
[ 16.688255] wlan0: authenticate with 00:1e:e5:74:26:0f
[ 16.700191] wlan0: send auth to 00:1e:e5:74:26:0f (try 1/3)
[ 16.703235] wlan0: authenticated
[ 16.703460] ath9k 0000:02:00.0 wlan0: disabling HT as WMM/QoS is not supported by the AP
[ 16.703494] ath9k 0000:02:00.0 wlan0: disabling VHT as WMM/QoS is not supported by the AP
[ 16.710006] wlan0: associate with 00:1e:e5:74:26:0f (try 1/3)
[ 16.713175] wlan0: RX AssocResp from 00:1e:e5:74:26:0f (capab=0x411 status=0 aid=4)
[ 16.713234] wlan0: associated
[ 16.713266] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 3170.516163] systemd-hostnamed[3772]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
我在 Google 上搜索了最后一行nss-myhostname
,得到了很多关于各种其他 Linux 发行版的结果,但没有任何关于 Ubuntu 的信息 :/ 这有关系吗?
答案1
我也遇到了类似的问题,原来是两个问题,一个是来自 eth0(有线以太网端口)的干扰,另一个是 Linux 与我的无线路由器的 802.11n 实现之间的轻微不兼容。
如果您正在运行英特尔无线驱动程序 (iwlwifi),请尝试在终端上输入以下命令。这些命令将关闭您的以太网端口并禁用 wifi 驱动程序中的无线 N。这不是永久性的,下次重新启动时将恢复:
sudo ifconfig eth0 down
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=1
如果这对你有用,我的 Github 上有一个 bash 脚本,你可以在每次重启时下载并运行它:https://github.com/FreedomBen/handy-bash-scripts/blob/master/fixTheInternet.bash
我的桌面上有这个脚本,每次重启时我都会运行它。从那以后我就没遇到过任何问题。
注意:您必须使脚本可执行。在终端上输入:
cd path/to/script
chmod +x fixTheInternet.bash
答案2
我解决这个问题的方法(只发生在学校网络,家里和其他地方都没问题)很“神奇”
- 我禁用了无线网络适配器。
- 通过网络管理器小程序删除所有连接配置文件(eth、wlan、移动……)。
- 重启。
- 重新启用无线适配器。
- 重启(我知道我来自 Windows,对 Ubuntu 还不熟悉)
- 重新连接。
我已经工作了一段时间,没有任何问题。(我不知道为什么,但如果有人知道的话请告诉我)
答案3
如果 MTU 是问题所在,你可以获得一些提示在这里找到正确的值。但一般来说,1500 这个值是相当标准的。
您可以按如下方式设置 WiFi 连接的 MTU:
sudo ifconfig {wifi-interface} mtu {mtu-value}
因此,如果您的 wifi 接口是 wlan0 并且您想要的 MTU 为 1500,则情况如下:
sudo ifconfig wlan0 mtu 1500
如果这对你有用,你可以将有效的值放入/etc/network/interfaces