更新

更新

首先,我只想说,我是一名 IT 工程师(Windows 桌面/服务器等),因此在进行高级技术故障排除时,我愿意深入研究。但不幸的是,我是 Linux 新手,所以请同时保持礼貌。


问题:

自从将我的 HP Pavilion G6 笔记本电脑从 Ubuntu 12.10 升级到 13.04 后,我的无线功能就无法正常工作。主要的问题是,如果我坐在楼上,无线信号会下降到大约“2”格,下载速度(根据 speedtest.net)非常慢(0.26Mbps)。但是,如果我坐在楼下路由器前面,我就可以满的信号和speedtest.net显示连接速度很快(大约40Mbps)。

才不是发生在 Ubuntu 12.10 上。无论在楼上还是楼下,我都能收到很强的信号,速度测试结果高达 40Mbps。

如果需要证据,我可以提供结果的截图。

当然,这个问题导致了我的第二个问题。Wifi 连接会定期随机请求输入 Wifi 密码(显然密码是正确的,因为所有其他设备连接正常,它只是用这个密码工作)。如果我尝试单击“确定”以接受输入的密码,它会重新尝试连接几分钟,然后再次请求密码。这将陷入持续的循环,直到我重新启动笔记本电脑。


我尝试过/研究过的:

因此,从大量的谷歌搜索、askubuntu 问题、wifi 故障排除指南、硬件类型的知识库等等来看,该问题似乎与部署 Ubuntu 时开源驱动程序内置的无线驱动程序的更新版本有关。

切中要点:

在 12.10 和 13.04 上运行以下命令将显示以下结果:

Ubuntu 12.10

root@chris-test:~# lshw -C network

*-network               
   description: Wireless interface
   product: Ralink corp.
   vendor: Ralink corp.
   physical id: 0
   bus info: pci@0000:01:00.0
   logical name: wlan0
   version: 00
   serial: 68:94:23:0d:0e:db
   width: 32 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=rt2800pci driverversion=3.5.0-22-generic firmware=0.34 ip=192.168.15.225 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
   resources: irq:16 memory:52500000-5250ffff
*-network
   description: Ethernet interface
   product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
   vendor: Realtek Semiconductor Co., Ltd.
   physical id: 0
   bus info: pci@0000:02:00.0
   logical name: eth0
   version: 05
   serial: 28:92:4a:56:90:7e
   size: 10Mbit/s
   capacity: 100Mbit/s
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl_nic/rtl8105e-1.fw latency=0 link=no multicast=yes port=MII speed=10Mbit/s
   resources: irq:42 ioport:3000(size=256) memory:52404000-52404fff memory:52400000-52403fff

root@chris-test:~# lspci -nnk | grep -iA2 net
01:00.0 Network controller [0280]: Ralink corp. Device [1814:539b]
Subsystem: Hewlett-Packard Company Device [103c:18ed]
Kernel driver in use: rt2800pci
--
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 05)
Subsystem: Hewlett-Packard Company Device [103c:183f]
Kernel driver in use: r8169

Ubuntu 13.04

root@chris-laptop:~# lshw -C network
*-network               
   description: Wireless interface
   product: Ralink corp.
   vendor: Ralink corp.
   physical id: 0
   bus info: pci@0000:01:00.0
   logical name: wlan0
   version: 00
   serial: 68:94:23:0d:0e:db
   width: 32 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=rt2800pci driverversion=3.8.0-19-generic firmware=0.34 ip=192.168.15.225 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
   resources: irq:16 memory:52500000-5250ffff
*-network
   description: Ethernet interface
   product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
   vendor: Realtek Semiconductor Co., Ltd.
   physical id: 0
   bus info: pci@0000:02:00.0
   logical name: eth0
   version: 05
   serial: 28:92:4a:56:90:7e
   size: 10Mbit/s
   capacity: 100Mbit/s
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl_nic/rtl8105e-1.fw latency=0 link=no multicast=yes port=MII speed=10Mbit/s
   resources: irq:43 ioport:3000(size=256) memory:52404000-52404fff memory:52400000-52403fff

root@chris-laptop:~# lspci -nnk | grep -iA2 net
01:00.0 Network controller [0280]: Ralink corp. Device [1814:539b]
Subsystem: Hewlett-Packard Company Device [103c:18ed]
Kernel driver in use: rt2800pci
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 05)
Subsystem: Hewlett-Packard Company Device [103c:183f]
Kernel driver in use: r8169

所以从我所看到的,这里唯一的主要区别是两个发行版上的“驱动程序版本”。

Ubuntu 12.10:

configuration: broadcast=yes driver=rt2800pci driverversion=3.5.0-22-generic firmware=0.34 ip=192.168.15.225 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn

驱动程序版本=3.5.0.22-通用

Ubuntu 13.04:

configuration: broadcast=yes driver=rt2800pci driverversion=3.8.0-19-generic firmware=0.34 ip=192.168.15.225 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn

驱动程序版本=3.8.0.19-generic

我只能想象新版本中发生了一些变化,这实际上导致了我的无线网卡出现问题。


所以我认为我可能需要做的是将这个驱动程序推到较旧版本?有人能确认这是一个可能的修复吗?有人能告诉我我完全搞错了吗?

我希望这些信息足以帮助到某些人。如果需要任何进一步的信息,如前所述,我非常乐意运行进一步的命令和测试来尝试隔离问题。

PS:提前感谢您的时间和考虑。


更新

所以我昨晚度过了非常有趣的时刻!

按下按钮时,我的 DVD 驱动器无法打开托盘,并且无法再读取 DVD。

我将主电源连接到笔记本电脑,然后我的 DVD 驱动器又开始工作了。

保持电源连接,我尝试在 WiFi 上运行速度测试。(40Mbps - 大约是我的线路的全部能力)。

但是,我已经在 12.10 上试过电池,没有任何问题。

我的假设

从发现这一点,我只能假设 13.04 不正确支持我的电池/电源设置?

另一种可能性是电池本身有故障,但是当我从 HP UEFI 运行电池测试时,它似乎没有显示任何错误。

有什么想法吗?

更新 19/09/13

因此,在此之后,我尝试将 13.04 分区内核更新到 3.9 而不是 3.8,根据一些错误跟踪器的说法,这已经为某些人解决了这个问题。

不幸的是,这不是帮我解决了这个问题。这让我觉得这些驱动程序很可能存在内核问题。

还有其他想法吗?

答案1

我建议你尝试两件事:

echo "options rt2800pci nohwcrypt=1" | sudo tee /etc/modprobe.d/rt2800pci.conf

sudo modprobe -rfv rt2800pci

sudo modprobe -v rt2800pci

我认为电源管理是主要问题,请执行以下操作:

gksudo gedit /etc/pm/power.d/wireless

(这将创建或编辑一个配置文件,以覆盖默认的电源管理行为)并输入以下内容:

#!/bin/sh

/sbin/iwconfig wlan0 power off

高于 exit0,然后保存 gedit,关闭并重新启动。

谢谢

答案2

不幸的是,我没有找到解决办法。这些驱动程序版本实际上是内核版本。驱动程序模块是作为内核本身的一部分提供的,因此降级并不容易。

ls /lib/modules/`uname -r`/kernel/drivers/net/wireless/

对我来说,我之前放弃了基于 ralink 的 wifi 卡,因为各种 Linux 发行版都存在类似的问题,不过,也许值得尝试一下建议的解决方案这里Hadaka 禁用了驱动程序的 hwcrypt(尽管是 12.04):

答案3

因此,通过大量研究和耐心,我成功地使用 RT5390sta 驱动程序解决了 HP Pavilion G6 上的这个问题。现在,我可以从光纤线路上获得完整的 40Mbps 下行速度(略低于)和大约 10Mbps 的上行速度(无论如何从未高过)。

我为解决问题做了什么

首先,我看到很多人建议将他们的内核升级到 3.9,但不幸的是这对我来说不起作用。

在花费大量时间尝试解决这个问题之后,内核 3.11.1(稳定版)已经发布,我按照以下链接的说明安装了它:

http://ubuntuhandbook.org/index.php/2013/09/kernel-3-11-1-released-install-upgrade-in-ubuntu-linux-mint/

使用 wget 检索 .deb 文件

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.1-saucy/linux-headers-3.11.1-031101-generic_3.11.1-031101.201309141102_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.1-saucy/linux-headers-3.11.1-031101_3.11.1-031101.201309141102_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.1-saucy/linux-image-3.11.1-031101-generic_3.11.1-031101.201309141102_amd64.deb

然后使用 dpkg -i 安装这些 .deb 文件

sudo dpkg -i linux-headers-3.11.1*.deb linux-image-3.11.1*.deb

更新 grub (如果需要):

update-grub

重启后检查内核:

uname -a

安装此内核后,我关注了以下错误跟踪网站上的一篇文章(#14):

https://bugs.launchpad.net/ubuntu/+bug/1173759

  1. 下载驱动程序http://www.mediatek.com/_en/07_downloads/01-1_windowsDetail.php?sn=5001
  2. tar -xvf /home/ukbeast/USERNAME/Downloads/2011_1007_RT5390_RT5392_Linux_STA_V2.5.0.3_DPO_v2. bz2.bz2
  3. cd 2011_1007_RT5390_RT5392_Linux_STA_V2.5.0.3_DPO
  4. 下载补丁http://gridlox.net/diff/rt5592sta_fix_64bit_3.8.patch到上面的目录
  5. patch -p1 <rt5592sta_fix_64bit_3.8.patch(如果要求目录则指向 pci_main_dev.c)
  6. 确保 /os/linux/config.mk 读取 HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
  7. make
  8. sudo make install
  9. modprobe rt5390sta

经过所有这些,我的网速测试恢复到了预期水平。这可能是驱动程序和补丁的问题,也可能是内核 3.11.1 的问题,但无论如何,这些步骤成功解决了我的问题。

答案4

我认为这对你有帮助。我喜欢使用 WICD,因为它是一个简单易用的网络管理器。它是 Ubuntu 中网络管理器的一个非常好的替代品,当网络管理器不起作用时,它似乎总是能工作。要安装它,只需打开终端。现在下载最新的 NetworkManager,以防 WICD 不起作用时你需要重新安装它 sudo apt-get install -d --reinstall network-manager network-manager-gnome

然后安装它 sudo apt-get install wicd-gtk

现在您需要卸载 NetworkManager:sudo apt-get remove --purge network-manager-gnome network-manager

现在您可以在菜单中找到 WICD 启动 WICD,找到要使用的网络并输入所需信息、密码、加密等,然后选择自动连接到此网络。一切就绪!

WICD 可能也可以在 Ubuntu 更新管理器中使用,因此您可以先在那里查看,但重要的是完全卸载网络管理器以防止冲突!

相关内容