问题:
我可以 ping 网络上的所有设备除了网关(192.168.0.1),因此如果不通过其他设备代理,则无法访问网络外部。
系统:
联想 x230 平板电脑配备运行 Quantal 操作系统的 Realtek wifi 适配器:
网络控制器:Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi 适配器(rev 01)
什么鬼:
我可以从路由器获取 IP
wlan0 Link encap:Ethernet HWaddr e0:06:e6:c2:d2:e0
inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::e206:e6ff:fec2:d2e0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:178844 errors:0 dropped:0 overruns:0 frame:0
TX packets:101517 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:121465876 (121.4 MB) TX bytes:10612848 (10.6 MB)
我可以 ping 其他设备:
➜ ~ ping 192.168.0.101
PING 192.168.0.101 (192.168.0.101) 56(84) bytes of data.
64 bytes from 192.168.0.101: icmp_req=1 ttl=64 time=3.84 ms
64 bytes from 192.168.0.101: icmp_req=2 ttl=64 time=1.32 ms
我无法 ping 通网关:
➜ ~ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.102 icmp_seq=1 Destination Host Unreachable
From 192.168.0.102 icmp_seq=2 Destination Host Unreachable
我的 resolv.conf 是自动生成的:
➜〜cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search nc.rr.com
我的/etc/hosts:
➜ ~ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 quantal
我的路由表:
➜ ~ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
link-local * 255.255.0.0 U 1000 0 0 wlan0
192.168.0.0 * 255.255.255.0 U 9 0 0 wlan0
最后,我的设备的模块信息:
➜ ~ modinfo rtl8192ce
filename: /lib/modules/3.5.0-17-generic/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
firmware: rtlwifi/rtl8192cfw.bin
description: Realtek 8192C/8188C 802.11n PCI wireless
license: GPL
author: Larry Finger <[email protected]>
author: Realtek WlanFAE <[email protected]>
author: lizhaoming <[email protected]>
srcversion: DD4F3D83A75531AC98862F2
alias: pci:v000010ECd00008176sv*sd*bc*sc*i*
alias: pci:v000010ECd00008177sv*sd*bc*sc*i*
alias: pci:v000010ECd00008178sv*sd*bc*sc*i*
alias: pci:v000010ECd00008191sv*sd*bc*sc*i*
depends: rtlwifi,mac80211
vermagic: 3.5.0-17-generic SMP mod_unload modversions
parm: swlps:bool
parm: swenc:using hardware crypto (default 0 [hardware])
(bool)
parm: ips:using no link power save (default 1 is open)
(bool)
parm: fwlps:using linked fw control power save (default 1 is open)
(bool)
我尝试过的事情:
关闭 fwlps、ips。尝试从上游(realtek.com)编译驱动程序,甚至尝试了 Quantal 的最新每日主线内核。还尝试了最新的 compat-wireless 并切换固件。测试了 Windows 7 并验证了卡是否正常工作。测试了 slackware 14、Fedora、Arch,它们都出现了同样的问题。
有人见过这种情况吗?真正让我困惑的是,我无法 ping 网关。为了验证我是否可以从另一个系统 ping 网关:
λ ~ → ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=1.35 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=1.22 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=5.11 ms
这在我的网络之外也不会发生,因为我能够在 UDS-R 上使用这台笔记本电脑,这表明存在路由器问题,但任何没有 Realtek 适配器的设备都可以正常工作:\
我不知道是否有 Realtek 开发人员监控此站点,但有人遇到过这样的问题吗?
谢谢亚当
答案1
对于任何感兴趣的人,相关的错误报告是:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/902557
@Adam:我的设置和你一样(带有 realtek 适配器的 X230),按照这些说明解决了这个问题:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/902557/comments/166
我在使用 3.2.0-35-generic 的 Ubuntu 12.04 上。
答案2
对于我来说,将路由器改为802.11bgn
802.11bg 即可解决问题。答案在这里:https://askubuntu.com/a/483040/12325