使用 Ralink RT2800 定期断开连接

zaf*_*404 9 wireless ralink 12.04

我不确定是什么导致了问题,但是,升级到 Ubuntu 12.04.1 LTS 后,我开始经常遇到无线断开连接的问题。

使用 System Profiler 和 Benchmark 实用程序,我检查了所有驱动程序是否按预期工作。从这个角度看似乎没有问题。

所以,我决定使用WICD网络管理器临时解决,有人说它可以保持无线连接稳定。- 但是,在我的情况下不是。

此外,我尝试使用 IPv4 的手动设置,而不是使用 DHCP。(也禁用了 IPv6)。执行 sudo /etc/init.d/networking restart (临时修复) ...

此外,我尝试了 backports 解决方案和 ndiswrapper 解决方案 - 没有任何效果。

包括一些信息供参考:

硬件信息:lshw -C 网络

*-网络描述:以太网接口

       产品:RTL8111/8168B PCI Express 千兆以太网控制器
       供应商:瑞昱半导体有限公司
       物理 ID:0
       巴士信息:pci@0000:04:00.0
       逻辑名称:eth0
       版本:01
       序列号:00:1a:4d:52:ee:1d
       大小:10Mbit/s
       容量:1Gbit/s
       宽度:64位
       时钟:33MHz
       功能:pm vpd msi pciexpress bus_master cap_list rom 以太网物理tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd 自动协商
       配置:autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=N/A delay=0 link=no multicast=yes port=MII speed=10Mbit/s
       资源: irq:44 ioport:d000(size=256) 内存:e9000000-e9000fff 内存:ea300000-ea31ffff

*-网络描述:无线接口

       产品:RT2800 802.11n PCI
       供应商:Ralink corp.
       物理 ID:0
       巴士信息:pci@0000:05:00.0
       逻辑名称:wlan0
       版本:00
       序列号:00:0e:2e:e5:56:0c
       宽度:32位
       时钟:33MHz
       功能:pm bus_master cap_list 以太网物理无线
       配置:broadcast=yes driver=rt2800pci driverversion=3.2.0-29-generic-pae firmware=0.34 ip=192.168.0.4 delay=32 link=yes maxlatency=4 mingnt=2 multicast=yes wireless=IEEE 802.11bgn
       资源:irq:20 内存:ea100000-ea10ffff

lspci

04:00.0 以太网控制器:Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express 千兆以太网控制器(修订版 01)
05:00.0 网络控制器:Ralink corp. RT2800 802.11n PCI

由于某种原因无法以 PRE 格式插入来自 lspci -vvv 的结果

配置文件

     无线局域网0  

          IEEE 802.11bgn ESSID:"PRV"  
          模式:管理频率:2.422 GHz 接入点:00:26:F2:46:50:90   
          比特率=135 Mb/s Tx-Power=20 dBm   
          重试长限制:7 RTS thr:off Fragment thr:off
          加密密钥:关闭
          电源管理:关闭
          链路质量=52/70 信号电平=-58 dBm  
          Rx 无效 nwid:0 Rx 无效 crypt:0 Rx 无效 frag:0
          Tx 过多重试:3271 无效杂项:137 错过信标:0

我没有利用网络加密,因为其他连接的设备不支持某些类型的加密,因此,我创建了一个 MAC 访问列表并禁用了网络名称广播。(SSID)

注意无效杂项的数量。一些数据包丢失与特定的无线操作有关,如何消除?+ 过度重试。

rfkill 列出所有

0:phy0:无线局域网
    软屏蔽:否
    硬阻止:否

模块

使用的模块大小
pci_stub 12550 1 
vboxpci 22882 0 
vboxnetadp 25616 0 
vboxnetflt 27211 0 
vboxdrv 252228 3 vboxpci、vboxnetadp、vboxnetflt
射频通信 38139 0 
BNEP 17830 2 
蓝牙 158438 10 rfcomm,bnep
vesafb 13516 1 
binfmt_misc 17292 1 
snd_hda_codec_realtek 174222 1 
snd_hda_intel 32765 3 
snd_hda_codec 109562 2 snd_hda_codec_realtek,snd_hda_intel
arc4 12473 2 
snd_usb_audio 101566 2 
snd_pcm 80845 3 snd_hda_intel,snd_hda_codec,snd_usb_audio
rt2800pci 18340 0 
rt2800lib 53264 1 rt2800pci
crc_ccitt 12595 1 rt2800lib
rt2x00pci 14202 1 rt2800pci
snd_hwdep 13276 2 snd_hda_codec,snd_usb_audio
snd_usbmidi_lib 24603 1 snd_usb_audio
rt2x00lib 48805 3 rt2800pci,rt2800lib,rt2x00pci
snd_seq_midi 13132 0 
snd_seq_midi_event 14475 1 snd_seq_midi
mac80211 436455 3 rt2800lib,rt2x00pci,rt2x00lib
snd_seq 51567 2 snd_seq_midi,snd_seq_midi_event
喜悦开发 17393 0 
snd_rawmidi 25424 2 snd_usbmidi_lib,snd_seq_midi
snd_timer 28931 2 snd_pcm,snd_seq
ppdev 12849 0 
snd_seq_device 14172 3 snd_seq_midi,snd_seq,snd_rawmidi
英伟达 10962290 40 
cfg80211 178679 2 rt2x00lib,mac80211
parport_pc 32114 1 
psmouse 72919 0 
eeprom_93cx6 12653 1 rt2800pci
serio_raw 13027 0 
snd 62064 21 snd_hda_codec_realtek、snd_hda_intel、snd_hda_codec、snd_usb_audio、snd_pcm、snd_hwdep、snd_usbmidi_lib、snd_seq、snd_rawmidi、snd_timer_devicesnd
mac_hid 13077 0 
音核 14635 1 秒
snd_page_alloc 14108 2 snd_hda_intel,snd_pcm
LP 17455 0 
parport 40930 3 ppdev,parport_pc,lp
pata_jmicron 12651 0 
usbhid 41906 0 
隐藏 77367 1 usbhid
软盘 60310 0 
r8169 56321 0 

创建一个 shell 脚本文件来重置无线接口网络“模块”,没有帮助。

#!/bin/sh
服务网络管理器停止
modprobe -r rt2800pci
modprobe rt2800pci
服务网络管理器启动

如果我没有提供具体信息,请告诉我。

先感谢您!:)

myw*_*ave 3

我实际上有同一张卡,所以我知道你来自哪里。令人惊讶的是,我没有遇到任何问题,就像过去一样。

我的建议是尝试从源代码编译兼容无线驱动程序。您可以从以下位置下载:Linux Wireless - Stable
我建议使用compat-wireless-3.5.4-1-snpc

sudo apt-get install linux-headers-$(uname -r) build-essential
tar jvxf compat-wireless-3.5.4-1-snpc.tar.bz2
cd compat-wireless-3.5.4-1-snpc
./scripts/driver-select rt2x00
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

然后重新启动。

如果这不起作用,我会尝试将内核更新到最新版本。我使用的是 3.2.0.31.34,没有任何问题,而且不需要编译驱动程序。

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot now
Run Code Online (Sandbox Code Playgroud)