如何与 Lenovo x121e 建立稳定的 WLAN 连接?

如何与 Lenovo x121e 建立稳定的 WLAN 连接?

我在 Lenovo ThinkPad x121e 上使用 WLAN 时遇到永久问题。使用的无线网络适配器是这个:

lspci:

01:00.0 网络控制器:Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi 适配器(rev 01)

连接通常会在一段时间内正常工作,然后开始变慢并最终断开连接。有时连接会在几秒钟后重新建立,有时需要 30 秒或更长时间,有时根本不会重新连接。

到目前为止,我尝试过的每个驱动程序都会出现此问题。尤其是内核驱动程序

Linux ThinkPad 3.0.0-14-通用 #23-Ubuntu SMP 2011 年 11 月 21 日星期一 20:28:43 UTC x86_64 x86_64 x86_64 GNU/Linux

以及可以找到的 Realteks 驱动程序这里。我目前正在使用的驱动程序是在这个 ppa 中找到的:ppa:tista/x120e

这是另一个链接www.thinkwiki.org这暗示了 realtek 驱动程序中存在“低功耗状态”(LPS)选项,但似乎无法在当前驱动程序中禁用它。

有没有办法通过这种设置获得更稳定的 WLAN?

更多系统信息:

lshw 级网络:

   description: Wireless interface
   product: RTL8188CE 802.11b/g/n WiFi Adapter
   vendor: Realtek Semiconductor Co., Ltd.
   physical id: 0
   bus info: pci@0000:01:00.0
   logical name: wlan0
   version: 01
   serial: 38:59:f9:db:e6:83
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=rtl8192CE driverversion=0006.0321.2011 firmware=56 ip=192.168.178.35 latency=0 link=yes multicast=yes wireless=802.11bgn
   resources: irq:17 ioport:3000(size=256) memory:f0200000-f0203fff

iwconfig wlan0:

wlan0     802.11bgn  ESSID:"xxx"  Nickname:"rtl8192CE"
      Mode:Managed  Frequency=2.452 GHz  Access Point: A2:05:43:2F:6E:8E   
      Bit Rate=65 Mb/s   
      Retry:on   RTS thr:off   Fragment thr:off
      Power Management period:0us  mode:All packets received
      Link Quality=100/100  Signal level=0 dBm  Noise level=-120 dBm
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ifconfig 无线网络:

wlan0     Link encap:Ethernet  HWaddr 38:59:f9:db:e6:83  
      inet addr:192.168.178.35  Bcast:192.168.178.255  Mask:255.255.255.0
      inet6 addr: fe80::3a59:f9ff:fedb:e683/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:117385 errors:0 dropped:0 overruns:0 frame:0
      TX packets:85652 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:115417879 (115.4 MB)  TX bytes:10463799 (10.4 MB)
      Interrupt:17 Memory:ffffc900037a8000-ffffc900037a8100 

答案1

我最终通过在 Ubuntu 12.04 中编译和安装 Linux Wireless 的最新驱动程序解决了这个问题,在我的情况下是“compat-wireless-3.5.1-1-snpc.tar.bz2”包:http://wireless.kernel.org/en/users/Download/stable/

需要内核的头文件和 build-essentials 包。我还建议在编译之前运行带有选项 rtlwifi 的脚本“driver-select”,因为不需要其他驱动程序,并且可以缩短构建时间:

sudo apt-get install linux-headers-$(uname -r) build-essential

tar jvxf compat-wireless-3.5.1-1-snpc.tar.bz2
cd compat-wireless-3.5.1-1-snpc
./scripts/driver-select rtlwifi
make
sudo make install

但缺点是每次内核更新后你都必须重建驱动程序。

我已经运行该驱动程序两天了,多次关闭和打开盖子,并没有出现任何断开连接的情况。

答案2

该问题可能是由通道跳跃(和新的 Linux 内核)引起的。

我主要通过自己编译驱动程序并安装它来修复它。我做的第二件事是如果网络中断则扫描网络。

我进入了终端watch sudo iwlist wlan0 scan

这样司机就一直处于清醒状态。我使用的另一个解决方法是按Fn+F5禁用 wifi,然后几秒钟后再执行相同的操作。

我还尝试了一件事:

sudo modprobe -r rtl8192ce
sudo modprobe rtl8192ce

这会重新加载 wifi 驱动程序。我有时还会 ping 路由器,这样可以让我的 wifi 连接保持稳定。

答案3

此链接提示我尝试使用 rtl8192ce 模块的选项 ips=0 来关闭 wlan 适配器的所有省电功能。到目前为止,这给我带来了最佳效果 - 没有掉线,没有断开连接。这肯定会对功耗产生影响 - 我们将拭目以待。我现在使用的是内核 3.0.0-15 的内置驱动程序。

答案4

我做了同样的事情:在 BIOS 中禁用 WLAN 端口,移除 Realtek 卡,并在 WWAN 端口添加 Intel Centrino 6200。我使用半满 MiniPCIe 适配器(价格不到 5 欧元)将卡固定到位。

相关内容