在ubuntu 16.10上,wifi经常断开连接并且收到错误的信息

我有一个HP-Pavilion-11-x360-PC双启动:现在赢了8.1和ubuntu 16.10几个月。 我在ubuntu上的wi-fi有很糟糕的反应(在家里和大学,在几个网络上)。 我在Windows 8.1上没有这个问题。

我的硬件细节:从这个命令:

sudo lshw -c network *-network description: Wireless interface product: RT3290 Wireless 802.11n 1T/1R PCIe vendor: Ralink corp. physical id: 0 bus info: pci@0000:02:00.0 logical name: wlp2s0f0 version: 00 serial: *I deleted* width: 32 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=rt2800pci driverversion=4.8.0-34-generic firmware=0.37 ip=10.0.0.4 latency=0 link=yes multicast=yes wireless=IEEE 802.11 resources: irq:17 memory:90710000-9071ffff 

我试过这些步骤:

 sudo apt-get install build-essential linux-headers-generic cd ~/Desktop/backports-3.13-rc2-1 make defconfig-wifi make sudo make install 

这里建议的,因为相同的wifi驱动程序。 这不是那么成功。 他们产生了这种重复输出:

 $HOME/backports-4.4.2-1/drivers/bcma/driver_gpio.c: In function 'bcma_gpio_init': $HOME/backports-4.4.2-1/drivers/bcma/driver_gpio.c:191:6: error: 'struct gpio_chip' has no member named 'dev' 

它根本不起作用。 如果需要,我会发布完整输出,不要太繁琐。

此外,如果我重新启动计算机并加载Windows操作系统,那么wi-fi也可能无法在Windows上运行(它根本不会识别任何网络)。 我必须关闭计算机,然后再打开它。

我遇到的另一个问题是计算机有时会冻结,然后我必须手动将其关闭,这样它才能再次运行。 我的Windows操作系统上有几次这个问题,我不确定是什么原因导致的。

另一个问题是当我每次时钟前后两个小时切换操作系统时(我在UTC + 2上,所以我明白为什么这是两个小时的差异)。 有什么方法可以解决这个小问题吗?

在此先感谢您的帮助。

编辑: iwconfig wlp2s0f0的输出是:

 wlp2s0f0 IEEE 802.11 ESSID:"someNetworkName" Mode:Managed Frequency:2.437 GHz Access Point: **:**:**:**:**:** Bit Rate=18 Mb/s Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=20/70 Signal level=-90 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:4 Missed beacon:0 

ThisIsNotAnId的请求下,我做了这两个命令:

sudo iwconfig wlp2s0f0 txpower auto

sudo iwconfig wlp2s0f0 rts 2347B

现在iwconfig wlp2s0f0的输出是:

 wlp2s0f0 IEEE 802.11 ESSID:"someNetworkName" Mode:Managed Frequency:2.437 GHz Access Point: **:**:**:**:**:** Bit Rate=18 Mb/s Tx-Power=20 dBm Retry short limit:7 RTS thr=2347 B Fragment thr:off Power Management:on Link Quality=30/70 Signal level=-80 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:101 Invalid misc:31 Missed beacon:0 

我在编辑时再检查了几次,并注意到Tx excessive retries正在递增,现在处于Tx excessive retries:556 。 我不确定这是什么意思,但引起了我的注意。

你能试试以下吗? 这是基于Ubuntu指南,用于让你的系统上的模块ndiswrapper工作,这将允许你使用Windows驱动程序的wifi卡。 我将总结您的特定卡的步骤。

转到synaptic包管理器,然后安装包ndisgtk 。 如果您无法从计算机访问Internet,请从此处从另一台计算机下载.deb软件包,复制到您的计算机,然后手动安装(amd64用于64位计算机)。

从http://www.mediatek.com/products/broadbandWifi/rt3290下载Windows驱动程序( 下载链接 )。 将下载的存档移动到您的主文件夹中。 创建另一个名为“RT3290 Driver”的文件夹并将存档放在那里。 在这个新文件夹中提取。 解压缩后,您应该有一个名为“Disk1”的文件夹。

关闭wifi。 通过网络管理器删除之前添加的所有无线连接。 也就是说,删除它们。

我将假设您已安装gedit ,或者您知道如何打开从终端安装的文本编辑器。 在这种情况下,用命令替换gedit以打开编辑器。 跑

 sudo cp /etc/modprobe.d/blacklist.conf ~/blacklist_backup.conf sudo gedit /etc/modprobe.d/blacklist.conf 

这将在gedit打开该文件。 转到文件末尾并添加以下两行:

 #Custom Blacklist blacklist rt2800pci 

保存,关闭,关闭终端。 重启。

打开ndisgtk,在系统>管理> Windows无线驱动程序下查看。 或者,从终端运行gksudo ndisgtk &

打开后,单击“安装新驱动程序”。 将弹出一个对话框,要求您选择驱动程序文件。 导航到先前解压缩的Windows驱动程序文件夹。 我假设您有一个64位的Ubuntu安装(要检查,在终端运行uname -m -m。x86_64 = 64位,x86 = 32位)。 在您的主文件夹> RT3290驱动程序> Disk1>驱动程序> Win8> x64> netr28x.inf

要检查一切是否正确,我将引用您的Ubuntu文档的第3.6.2.1节 。

如果禁用启用wifi,打开终端并运行

 sudo depmod -a sudo modprobe ndiswrapper 

你的wifi现在应该是活跃的。 如果不是,请重新启动计算机并查看是否有帮助。 如果这没有帮助,请再次使用ndisgtk删除您安装的驱动程序并安装win7驱动程序并重新启动,看看是否有帮助。 作为最后的手段,你可以试试另一个驱动程序 。

然后,就像你第一次那样添加你的wifi连接。

回复您可能遇到的任何问题,错误或担忧。

如果成功,请通过在终端上运行以下命令使更改永久化

 sudo gedit /etc/modules 

并在最后添加行ndiswrapper 。 保存,关闭,关闭终端。

这是一个笑脸:😃