ThinkPad E430 上 WiFi 自动断开

157 views
Skip to first unread message

michael tsui

unread,
Dec 17, 2016, 5:21:46 AM12/17/16
to Arch Linux中文邮件组

大家好,我是一个 Arch Linux 的新手,最近刚装上了 Arch,然后就出现了 WiFi 自动断开的问题,实在是解决不了了,特过来求助于大家,还望大家能够给予帮助。


问题描述

我的电脑开机后能够正常连上 WiFi,也能够正常上网。一段时间后,网页就打不开了,ping 某个网址也不可以。此时右上角的 WiFi 图标还是显示正在连接着的。

如果我把 WiFi 关闭,然后再重新打开,就能够正常上网了,但是过一会以后又会出现这样的问题。


硬件环境描述

我的电脑是 ThinkPad E430。无线网卡的信息设这样的:

  1. $ lspci -k | egrep -A 4 'Network controller'
  2. 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)
  3. Subsystem: Realtek Semiconductor Co., Ltd. Device 8195
  4. Kernel driver in use: rtl8192ce
  5. Kernel modules: rtl8192ce

系统内核版本是:4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34


尝试解决

方案1

在 Google 上以RTL8188CE linux disconnect关键字搜索后,搜索到了这个帖子:

https://forums.linuxmint.com/viewtopic.php?t=194086

我发现尽管它的系统的 Linux mint,但是出现的问题和我的几乎完全一样,无线网卡型号也一样,我就照着它的解决方案来做,首先添加了options rtl8192ce fwlps=0 ips=0驱动参数,发现一段时间过后还是会出现 WiFi 自动断开的问题。

后来又尝试去编译安装它所说的那个软件,编译的时候会出现语法错误,也不行。

我看到它这里说到,之所以会出现这个问题,是因为 ThinkPad 开启了省电模式,如果不活动的话会自动断开 WiFi,我去 BIOS 里面找了找相关的设置,没有找到可以关闭这个选项的 BIOS 开关。

方案2

后来又尝试去以RTL8188CE arch disconnect关键字去搜索,然后就翻到了 ThinkPad Edge 430 的 Wiki 页面:我在这个 Wiki 中看到,也是给rtl8192ce这个模块添加参数,只不过这次只加一个fwlps=0的参数,我照着做了之后发现也不行,还是会出现 WiFi 自动断开的情况。

然后我看到下面接着说道,如果还不能解决的话,就建议去买一块 Intel Centrino wlan/bluetooth 4.0 的卡。


求助

最后,实在折腾不动了,只好向大家来求助了,请问我这个问题还有其他办法可以尝试去解决吗?如果不行的话,那个 Intel Centrino wlan/bluetooth 4.0 卡在哪里可以买到了,大概价格是多少?可以用 USB 无线网卡代替吗?

依云

unread,
Dec 17, 2016, 7:35:07 AM12/17/16
to archli...@googlegroups.com
On Sat, Dec 17, 2016 at 02:21:46AM -0800, michael tsui wrote:
>
>
> 大家好,我是一个 Arch Linux 的新手,最近刚装上了 Arch,然后就出现了 WiFi
> 自动断开的问题,实在是解决不了了,特过来求助于大家,还望大家能够给予帮助。
>
>
> 问题描述
>
> 我的电脑开机后能够正常连上 WiFi,也能够正常上网。一段时间后,网页就打不开了,ping 某个网址也不可以。此时右上角的 WiFi
> 图标还是显示正在连接着的。

网页「打不开」是什么意思?ping 某个网站也「不可以」是什么意思?「某个」
网站是特定的某个网站,还是任选的网站?别的网站呢?

「打不开」的常见错误选项有:
* 连接超时
* 连接被重置
* 连接被拒绝
* 域名解析失败
* 空白页面

「不可以」的常见错误选项有:
* 100% 丢包
* 网络不可达
* 主机不可达
* 域名无法解析
* 其它错误

>
> 如果我把 WiFi 关闭,然后再重新打开,就能够正常上网了,但是过一会以后又会出现这样的问题。
>
> [...]

在问题复现时,journalctl -n 1000 查看日志,看有没有相关的部分。

>
> 求助
>
> 最后,实在折腾不动了,只好向大家来求助了,请问我这个问题还有其他办法可以尝试去解决吗?如果不行的话,那个 Intel Centrino
> wlan/bluetooth 4.0 卡在哪里可以买到了,大概价格是多少?可以用 USB 无线网卡代替吗?

你可以用 USB 网卡啊。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://blog.lilydjwg.me/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

依云

unread,
Dec 17, 2016, 7:36:40 AM12/17/16
to archli...@googlegroups.com
On Sat, Dec 17, 2016 at 08:34:28PM +0800, 依云 wrote:
> On Sat, Dec 17, 2016 at 02:21:46AM -0800, michael tsui wrote:
> >
> >
> > 大家好,我是一个 Arch Linux 的新手,最近刚装上了 Arch,然后就出现了 WiFi
> > 自动断开的问题,实在是解决不了了,特过来求助于大家,还望大家能够给予帮助。
> >
> >
> > 问题描述
> >
> > 我的电脑开机后能够正常连上 WiFi,也能够正常上网。一段时间后,网页就打不开了,ping 某个网址也不可以。此时右上角的 WiFi
> > 图标还是显示正在连接着的。

什么叫「正在连接着」……「正在」表示动作在进行中,「XX着」表示状态的持续。
所以你的意思是它「正在尝试连接」还是「已经连接」呢?

michael tsui

unread,
Dec 17, 2016, 10:01:51 AM12/17/16
to Arch Linux中文邮件组
好吧,经你这么一说,我发现我的描述确实很有问题,我自己都有点看不懂了额。。。

浏览器中打不开的错误是指“地址不可达”:ERR_ADDRESS_UNREACHABLE

本地ping不通是指我去 ping 百度的话,会一直卡着,没有任何输出,估计是 DNS 解析失败。去ping 我的路由器网关的IP的话,显示的结果是网络不可达:Destination Host Unreachable

正在连接着的意思是,右上角的网络图标显示 WiFi 已经连接。同时我使用 ip address show wlp3s0 命令能够看到无线网卡的IP地址,我本机的IP是通过 DHCP 分配的,如果我手动把 WiFi 断开的话,这条命令就看不到无线网卡的IP地址了。

刚刚崩溃的时候,我用 journalctl -n 1000 命令看了一下日志,发现这段时间的日志主要是由 gnome-shell,fcitx-autostart.desktop,albert.desktop,systemd-timesyncd,sudo这几个 unit 输出的,没有发现与网络或者无线网卡相关的日志。

在 2016年12月17日星期六 UTC+8下午8:36:40,依云写道:

Sasasu Li

unread,
Dec 17, 2016, 10:03:03 AM12/17/16
to Arch Linux中文邮件组

试试 dmesg


--
您收到此邮件是因为您订阅了Google网上论坛上的“Arch Linux中文邮件组”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到archlinux-cn...@googlegroups.com
要发帖到此群组,请发送电子邮件至archli...@googlegroups.com
访问此群组:https://groups.google.com/group/archlinux-cn
要查看更多选项,请访问https://groups.google.com/d/optout

michael tsui

unread,
Dec 17, 2016, 10:05:21 AM12/17/16
to Arch Linux中文邮件组
对了,还有一开始问的那个USB网卡。

我其实是想问 USB 网卡针对 Arch 的适配情况怎么样,会不会出现买回来的网卡没有对应的 Arch 驱动的情况。


在 2016年12月17日星期六 UTC+8下午8:36:40,依云写道:
On Sat, Dec 17, 2016 at 08:34:28PM +0800, 依云 wrote:

renyuneyun

unread,
Dec 17, 2016, 1:42:02 PM12/17/16
to archli...@googlegroups.com

在 2016年12月17日 15:05, michael tsui 写道:
对了,还有一开始问的那个USB网卡。

我其实是想问 USB 网卡针对 Arch 的适配情况怎么样,会不会出现买回来的网卡没有对应的 Arch 驱动的情况。

(就用過一次別人的USB無線網卡,沒太多經驗,僅從記憶說)
我不記得當時用的是哪個廠商的設備了,但是的確並沒有超出預期:直接用。
linux上的USB設備是真·即插即用:只要你插上了,並且有對應的內核模塊,就會自動加載(正常情況下都是瞬間完成)然後就能用了。

並不存在哪個網卡“對arch的適配”,因爲在arch中(排除自己寫驅動這種神蹟)一個設備能否運行只看:1、linux源代碼中有沒有其開源驅動(因爲arch[幾乎]不修改內核的源代碼,不像其他發行版一樣往往魔改);2、如果沒有的話有沒有官方閉源驅動。
記得手動編譯內核時候瞄了一眼USB還是無線那塊,好像是有一種通用的驅動,還有一些專用的驅動。
以arch的習性,應該是會把大部分的這些(指usb和網絡相關)模塊都編譯了的。所以像intel、ralink(應該沒和realtek記混吧)之類的應該都是隨隨便便用的。

(這個我不確定,僅僅是經驗和感覺)linux裏對驅動的做法/處理方法和windows裏的概念不大一樣;windows下一般稱爲驅動的東西在linux下都主要是以內核模塊形式存在(而不是以一個單獨的叫驅動的東西存在);而內核模塊的主要來源是編譯內核時候(一起編譯的)。


在 2016年12月17日星期六 UTC+8下午8:36:40,依云写道:
On Sat, Dec 17, 2016 at 08:34:28PM +0800, 依云 wrote:
> On Sat, Dec 17, 2016 at 02:21:46AM -0800, michael tsui wrote:
> >
> >
> > 大家好,我是一个 Arch Linux 的新手,最近刚装上了 Arch,然后就出现了 WiFi
> > 自动断开的问题,实在是解决不了了,特过来求助于大家,还望大家能够给予帮助。
> >
> >
> > 问题描述
> >
> > 我的电脑开机后能够正常连上 WiFi,也能够正常上网。一段时间后,网页就打不开了,ping 某个网址也不可以。此时右上角的 WiFi
> > 图标还是显示正在连接着的。

什么叫「正在连接着」……「正在」表示动作在进行中,「XX着」表示状态的持续。
所以你的意思是它「正在尝试连接」还是「已经连接」呢?

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://blog.lilydjwg.me/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?
--

renyuneyun

unread,
Dec 17, 2016, 3:35:50 PM12/17/16
to archli...@googlegroups.com
在 2016年12月17日 15:01, michael tsui 写道:
好吧,经你这么一说,我发现我的描述确实很有问题,我自己都有点看不懂了额。。。

浏览器中打不开的错误是指“地址不可达”:ERR_ADDRESS_UNREACHABLE

本地ping不通是指我去 ping 百度的话,会一直卡着,没有任何输出,估计是 DNS 解析失败。去ping 我的路由器网关的IP的话,显示的结果是网络不可达:Destination Host Unreachable

這樣的話就是你的電腦沒法將數據包正常傳遞到路由器那。(於是更高層的DNS什麼的更是無從談起,所以纔有ping什麼都不返回——實際上如果多等等應該是會返回錯誤的)



正在连接着的意思是,右上角的网络图标显示 WiFi 已经连接。同时我使用 ip address show wlp3s0 命令能够看到无线网卡的IP地址,我本机的IP是通过 DHCP 分配的,如果我手动把 WiFi 断开的话,这条命令就看不到无线网卡的IP地址了。

(命令是小寫的吧?)

這個可以說明在高層(包括內核)看來網絡連接是“正常”的——這裏“正常”指已經建立好(拿到ip地址等)且沒有斷開。

於是(基礎假設:路由器和無線網卡本身沒問題)應該是無線網卡驅動有bug或者是內核的bug(內核跟驅動交流的時候出了問題且不是驅動的問題)。我能做出的假設有:1、網絡連接實際已經斷開但驅動沒有成功報告給內核;2、驅動寫得有問題所以無法正確將數據包傳給硬件(或硬件到內核);3、內核出了不知道什麼bug導致驅動報告的事件沒有反映到其他部分。
然而由於對那塊並不熟,沒法更進一步判斷或是給出建議了……
不過從經驗推斷,驅動bug的概率高很多……因爲本來驅動就是問題高發區(尤其是對開源不友好的廠商)


刚刚崩溃的时候,我用 journalctl -n 1000 命令看了一下日志,发现这段时间的日志主要是由 gnome-shell,fcitx-autostart.desktop,albert.desktop,systemd-timesyncd,sudo这几个 unit 输出的,没有发现与网络或者无线网卡相关的日志。

在 2016年12月17日星期六 UTC+8下午8:36:40,依云写道:
On Sat, Dec 17, 2016 at 08:34:28PM +0800, 依云 wrote:
> On Sat, Dec 17, 2016 at 02:21:46AM -0800, michael tsui wrote:
> >
> >
> > 大家好,我是一个 Arch Linux 的新手,最近刚装上了 Arch,然后就出现了 WiFi
> > 自动断开的问题,实在是解决不了了,特过来求助于大家,还望大家能够给予帮助。
> >
> >
> > 问题描述
> >
> > 我的电脑开机后能够正常连上 WiFi,也能够正常上网。一段时间后,网页就打不开了,ping 某个网址也不可以。此时右上角的 WiFi
> > 图标还是显示正在连接着的。

什么叫「正在连接着」……「正在」表示动作在进行中,「XX着」表示状态的持续。
所以你的意思是它「正在尝试连接」还是「已经连接」呢?

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://blog.lilydjwg.me/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?
--

Todd

unread,
Dec 17, 2016, 8:47:01 PM12/17/16
to archli...@googlegroups.com
安装必要的依赖软件包,到官网下载驱动手动安装就是了,我台式电脑主机上就插了一个USB无线网卡

Todd  Sent from my iPhone

Kelvan Sun

unread,
Dec 17, 2016, 8:52:41 PM12/17/16
to archli...@googlegroups.com
碰到驱动问题真是麻烦
Todd <gow...@gmail.com>于2016年12月18日 周日09:47写道:

依云

unread,
Dec 17, 2016, 9:55:08 PM12/17/16
to archli...@googlegroups.com
On Sat, Dec 17, 2016 at 07:05:21AM -0800, michael tsui wrote:
> 对了,还有一开始问的那个USB网卡。
>
> 我其实是想问 USB 网卡针对 Arch 的适配情况怎么样,会不会出现买回来的网卡没有对应的 Arch 驱动的情况。

会。所以买的时候先查一下那个型号在 Linux 上能用不。支持得好的,插上就能
用,差一些的,需要自己编译安装驱动。

Kelvan Sun

unread,
Dec 17, 2016, 9:56:56 PM12/17/16
to archli...@googlegroups.com
相对inte linux 支持好很多
依云 <lily...@gmail.com>于2016年12月18日 周日10:55写道:
--
您收到此邮件是因为您订阅了 Google 网上论坛的“Arch Linux中文邮件组”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到archlinux-cn...@googlegroups.com
要向此群组发帖,请发送电子邮件至 archli...@googlegroups.com
访问此群组:https://groups.google.com/group/archlinux-cn
要查看更多选项,请访问 https://groups.google.com/d/optout

依云

unread,
Dec 17, 2016, 9:57:57 PM12/17/16
to archli...@googlegroups.com
On Sat, Dec 17, 2016 at 07:01:51AM -0800, michael tsui wrote:
> 好吧,经你这么一说,我发现我的描述确实很有问题,我自己都有点看不懂了额。。。
>
> 浏览器中打不开的错误是指“地址不可达”:ERR_ADDRESS_UNREACHABLE
>
> 本地ping不通是指我去 ping 百度的话,会一直卡着,没有任何输出,估计是 DNS 解析失败。去ping
> 我的路由器网关的IP的话,显示的结果是网络不可达:Destination Host Unreachable。

主机不可达,最常见的情况是网卡罢工了,内核让它发的包没发出去,它也不接收
包了。如果使用 Wireshark 抓包的话应该能看到系统一直在发 ARP 请求询问网关
的 MAC 地址,而收不到任何其它主机的包。

所以是网卡驱动的事……

> 正在连接着的意思是,右上角的网络图标显示 WiFi 已经连接。同时我使用 ip address show wlp3s0
> 命令能够看到无线网卡的IP地址,我本机的IP是通过 DHCP 分配的,如果我手动把 WiFi 断开的话,这条命令就看不到无线网卡的IP地址了。
>
> 刚刚崩溃的时候,我用 journalctl -n 1000
> 命令看了一下日志,发现这段时间的日志主要是由 gnome-shell,fcitx-autostart.desktop,albert.desktop,systemd-timesyncd,sudo这几个
> unit 输出的,没有发现与网络或者无线网卡相关的日志。


michael tsui

unread,
Dec 17, 2016, 11:36:48 PM12/17/16
to Arch Linux中文邮件组

突然冒出了好多热心群众,谢谢大家的回复。


经大家综合分析来看,感觉是网卡驱动有问题,不想再折腾了,直接上某宝买了一个无线网卡。

这是某宝地址,供以后遇到同样问题 ,想买网卡的同学参考吧。


另外,感觉现在淘宝的宝贝详情堪比维基百科啊,不得不服。
Message has been deleted

michael tsui

unread,
Dec 17, 2016, 11:39:53 PM12/17/16
to Arch Linux中文邮件组
用 demg 试过了,网络断开的时候没有任何的日志输出。然后我手动地关闭再打开无线网络,会出现这样的日志:

[ 6588.638389] wlp3s0: deauthenticating from a8:15:4d:8a:76:4a by local choice (Reason: 3=DEAUTH_LEAVING)
[ 6592.213228] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 6592.274257] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 6593.660556] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 6594.723009] wlp3s0: authenticate with a8:15:4d:8a:76:4a
[ 6594.743502] wlp3s0: send auth to a8:15:4d:8a:76:4a (try 1/3)
[ 6594.745274] wlp3s0: authenticated
[ 6594.752588] wlp3s0: associate with a8:15:4d:8a:76:4a (try 1/3)
[ 6594.756238] wlp3s0: RX AssocResp from a8:15:4d:8a:76:4a (capab=0x431 status=0 aid=2)
[ 6594.756741] wlp3s0: associated
[ 6594.756793] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready

在 2016年12月17日星期六 UTC+8下午11:03:03,Sasasu Li写道:

试试 dmesg


要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到archlinux-cn+unsubscribe@googlegroups.com

Felix Yan

unread,
Dec 17, 2016, 11:51:50 PM12/17/16
to archli...@googlegroups.com
我一般是盯着 AR9271 芯片买,你给的淘宝链接里也提到了 :) 理由主要是无论抓包还是开热点,兼容性(不止是
Linux 驱动,还考虑连接其他设备)和稳定性都特别出色。

淘宝直接搜 AR9271 即可,之前采购的时候均价可以低到每块 12 元左右。使用下来感觉最稳定的是
WNA1100 的洋垃圾,也基本是 15~18 块能买到的。

仅供参考~

--
Regards,
Felix Yan

signature.asc

michael tsui

unread,
Dec 18, 2016, 12:41:09 AM12/18/16
to Arch Linux中文邮件组
果然是,刚刚用 wireshark 抓了一下包,清一色的 ARP 和 SSDP协议,SSDP 应该是我的shadowsocks发出的吧。

在 2016年12月18日星期日 UTC+8上午10:57:57,依云写道:

michael tsui

unread,
Dec 18, 2016, 12:59:05 AM12/18/16
to Arch Linux中文邮件组
好吧,yr,竟然把你给炸出来了。谢谢推荐,不过已经买了。。另外你发的那个附件是个什么鬼?

在 2016年12月18日星期日 UTC+8下午12:51:50,Felix Yan写道:

Dong Jun

unread,
Dec 19, 2016, 7:31:53 AM12/19/16
to Arch Linux中文邮件组

我的电脑型号是t440p,也遇到了楼主的情况,感觉影响不是很大。

。 

ZJ ZGTS

unread,
Jul 27, 2017, 9:58:59 PM7/27/17
to Arch Linux中文邮件组
https://github.com/lwfinger/rtlwifi_new这里安装驱动

michael tsui於 2016年12月17日星期六 UTC+8下午6時21分46秒寫道:
Reply all
Reply to author
Forward
0 new messages