Rtl8187 无线网卡在几秒钟内丢失信号

Rtl8187 无线网卡在几秒钟内丢失信号

我的 Realtek RTL8187 USB wifi 卡无法保持连接超过几秒钟,而在同一台机器上使用 Windows 7 时则没有问题。当我建立连接时,我有几秒钟的全带宽通信,然后连接完全无法发送或接收数据包(在两种操作系统下,卡通常会从天线发出柔和的声音,在 Ubuntu 上会切断,同时实际的网络功能也会中断)。网络管理器和 WICD 都报告卡仍处于连接状态,信号电平合理(大约 -40dBi,对于 Windows 上的此卡来说这不是一个问题级别)。通信丢失可重复且可靠地发生,尽管偶尔我设法发送和接收一些零散的数据包。连接丢失后,卡上的指示灯会不断闪烁,并且闪烁速度异常快。

我尝试连接我的 WPA2 和邻居的 WEP 接入点(经同意)(我的是 Netgear,他们的是 Belkin),结果都是在大约一秒钟后丢失链接。以太网不受影响。此卡与内核模块一起使用。rtl8187我使用的是全新安装的 Trusty x64。这在 Live CD 上没有发生。

dmesg | tail -n 25对于 WEP 网络:

hexafraction@ubuntu-lapdesk:~/Downloads$ dmesg | tail -n 25
[16505.923287] wlan1: associated
[16505.923370] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[16505.943812] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[16535.278129] atl1c 0000:01:00.0: atl1c: eth0 NIC Link is Down
[16540.067784] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[16543.677051] wlan1: deauthenticating from [PREVIOUS AP MAC] by local choice (reason=3)
[16543.737566] cfg80211: Calling CRDA to update world regulatory domain
[16543.747499] cfg80211: World regulatory domain updated:
[16543.747510] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[16543.747518] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[16543.747524] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[16543.747529] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[16543.747534] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[16543.747539] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[16546.240014] wlan1: authenticate with [AP MAC]
[16546.298661] wlan1: send auth to [AP MAC] (try 1/3)
[16546.300412] wlan1: authenticated
[16546.300741] rtl8187 1-3:1.0 wlan1: disabling HT/VHT due to WEP/TKIP use
[16546.300747] rtl8187 1-3:1.0 wlan1: disabling HT as WMM/QoS is not supported by the AP
[16546.300751] rtl8187 1-3:1.0 wlan1: disabling VHT as WMM/QoS is not supported by the AP
[16546.304473] wlan1: associate with [AP MAC] (try 1/3)
[16546.307090] wlan1: RX AssocResp from [AP MAC] (capab=0x431 status=0 aid=2)
[16546.307946] wlan1: associated
[16546.307992] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[16546.308625] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready

lsmod

Module                  Size  Used by
rtl8187                64909  0 
mac80211              626489  1 rtl8187
cfg80211              484040  2 mac80211,rtl8187
nls_utf8               12557  0 
isofs                  39835  0 
ctr                    13049  0 
ccm                    17773  0 
rfcomm                 69160  0 
bnep                   19624  2 
bluetooth             395423  10 bnep,rfcomm
hid_generic            12548  0 
joydev                 17381  0 
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40664  1 uvcvideo
videodev              134688  2 uvcvideo,videobuf2_core
usbhid                 52616  0 
eeprom_93cx6           13344  1 rtl8187
arc4                   12608  2 
hid                   106148  2 hid_generic,usbhid
kvm_amd                59987  0 
kvm                   451511  1 kvm_amd
radeon               1514165  3 
psmouse               102222  0 
k10temp                13126  0 
toshiba_acpi           22901  0 
sparse_keymap          13948  1 toshiba_acpi
serio_raw              13462  0 
wmi                    19177  1 toshiba_acpi
snd_hda_codec_conexant    57441  1 
snd_hda_codec_hdmi     46207  1 
snd_hda_intel          52355  5 
snd_hda_codec         192906  3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
ttm                    85115  1 radeon
snd_hwdep              13602  1 snd_hda_codec
snd_pcm               102099  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30144  1 snd_seq_midi
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29482  2 snd_pcm,snd_seq
drm_kms_helper         52758  1 radeon
snd                    69238  21 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
soundcore              12680  1 snd
drm                   302817  5 ttm,drm_kms_helper,radeon
video                  19476  0 
i2c_piix4              22155  0 
i2c_algo_bit           13413  1 radeon
mac_hid                13205  0 
parport_pc             32701  0 
ppdev                  17671  0 
lp                     17759  0 
parport                42348  3 lp,ppdev,parport_pc
ahci                   25819  2 
atl1c                  46086  0 
libahci                32168  1 ahci

我在这里不知所措,因为我尝试过重启、wicdnetwork-manager。卡本身在 Windows 7 上没有问题(因为我仍然可以双启动并可以测试它)。在使用 wicd 之前,我已经删除了网络管理器,反之亦然,并且安装了两者。我怀疑是某些服务或后台程序导致卡跳频,但我不确定如何检查是否发生了这种情况,或者哪个服务导致了这种情况。但是,实时 CD 上看到的硬阻塞问题并没有发生。

由于 GPU 不兼容导致 Ubuntu 无法使用,我无法在以前的版本上检查这一点,因此我没有证据表明这是 Trusty 中引入的错误。

编辑: sudo iwconfig wlan1未连接时:

wlan1     IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

sudo iwconfig wlan1当连接到我的 WPA2 网络时:

wlan1     IEEE 802.11bg  ESSID:"XXXXXXXXXX"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: XX:XX:XX:XX:XX:XX   
          Bit Rate=54 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=39/70  Signal level=-71 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:2   Missed beacon:0

sudo iwconfig wlan1对于 WEP:

wlan1     IEEE 802.11bg  ESSID:"XXXXXXXXXX"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: XX:XX:XX:XX:XX:XX   
          Bit Rate=11 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:15A4-A159-AF
          Power Management:off
          Link Quality=47/70  Signal level=-63 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:27  Invalid misc:33   Missed beacon:0

我确实知道 Windows 的信号水平更高,无论是从规模上dBm还是从报告的连接质量百分比上来看。

答案1

编辑:之前的驱动程序链接已损坏。根据我相信这个答案的其余部分仍然有效。

如果此方法失败,您可以尝试此方法。来源:http://www.backtrack-linux.org/forums/showthread.php?t=54375

现在打开一个新终端并输入以下内容:

ifconfig wlan1 down

或 wlan0,无论您的卡在哪个上。使用“ifconfig -a”来查找

请注意,以下 2 个步骤在您所在的国家/地区可能是非法的,如果是,请跳过它们并继续。然后输入:

iw reg set BO

这会将国家代码设置为玻利维亚,以便您可以最大程度地使用阿尔法卡。

然后输入:

iwconfig wlan1 txpower 30

或 wlan0,无论您的卡在哪个上。

这会将您的卡设置为 30db,这是该卡可以使用的最大功率。

然后输入:

iwconfig wlan1 rate 1M

或 wlan0,无论您的卡在哪个上。

这应该可以解决连接中断或互联网速度非常慢的问题 [对我来说这是主要问题]

现在您几乎已经完成了,只需输入以下内容:

ifconfig wlan1 up

或 wlan0,无论您的卡在哪个上。

现在只需打开您的网络管理器并连接到您的网络,问题就应该解决了。

只需使用 iwconfig 设置速率,重启后它将恢复。不过,您可以将该行添加到 /etc/rc.local 以使其每次重启时运行。我更喜欢使用类似以下内容:

iwconfig wlan1 rate 18M AUTO

即“正常自动速率最高可达 18M”

还有一些其他方法可以帮助解决不稳定/低质量的连接问题……即将 RTS 和碎片阈值(默认为 2300 左右)设置为 512 或更低,以强制减小数据包大小(低至 256)。这样,您就可以以比以前高得多的数据速率获得稳定性。

总的来说,我从这个开始到我的 /etc/rc.local 并偶尔进行调整直到它非常稳定。

iwconfig wlan1 rate 36M auto
iwconfig wlan1 frag 512
iwconfig wlan1 rts 512

您可以尝试的另一件事是在重新启动 ubuntu 并重新插入端口之前从 Windows 7 中安全删除(关闭电源并确保其不会处于不稳定状态)。

还有一件事要尝试,那就是在驱动程序级别调整短重试和长重试。试试这个。

iwconfig wlan1 retry short 21


iwconfig wlan1 retry long 21

据报道,将重试次数设置为 31 也可以起作用(请参阅下面的评论)

让我在 iwconfig 的手册页中查找这些命令的原因是我发现了以下信息: http://support.data-alliance.net/alfa-500mw-usb-improve-performance-significantly/

答案2

尝试指定静态 IP 地址。您必须找到路由器提供的地址块之外的 IP(您的路由器可能默认提供 192.168.1.100 以上的地址)。将您的 NIC 设置为双静态两位数 IP,例如 192.168.1.10。

您可以通过点击进行此操作:

(单击)网络管理器通知图标 > 编辑 > 编辑连接

(按名称选择 Wifi 连接)> 编辑 > (单击选项卡)IPv4 设置 > (将自动 DHCP 更改为)手动 > 添加(填写:地址、网络掩码、网关)> (填写 DNS 服务器,以逗号分隔)> (可选搜索域)> 保存

其余内容可以保留默认设置。

相关内容