Thinkpad T450s Rtl8192ee無線網卡頻繁掉線解決辦法

李順亮

2016年5月20日

首先請核對工作環境是否一致,我的工作環境是Slackware64 current,而且桌面環境是xfce 4,記錄之時Slackware64 14.2尚未正式出爐。我只能說,這篇文章提到的辦法,適合我自己。

520這樣的情人節,沒有情人的linux人,只好和slackware為伍,花點時間記錄一下在前進道路之中遇到并且克服的疑難雜癥,無非是想把冰冷的鍵盤,變得更有生命的樂趣。

在淘定下手購買美行thinkpad t450s之時,實際上考慮過無線網卡的問題。因為在了解機子性能,查找相關資料之時,就發現了不同配置的無線網卡不同,會帶來一些不同的體驗。比如說,無線網卡支持不支持5g頻段。我早就是一個重度linux人,本就要是把所有微軟的全格掉,只安裝Slackware64 current,而且無線網卡單獨支持2.4頻段,其實足夠了。

可是,到手之后,這臺美行的thinkpad t450s無線網卡頻繁掉線,wifi看得到用不上,真是讓我到了無法忍受的地步。如果不顧體面的話,可以說自己崩潰到了很想如Linux之父Linus Torvalds,發飆并且豎中指大罵NVIDIA一樣的程度。

沒有辦法,linux的世界就是這樣。這不是微軟的錯,而是我們喜歡free的錯。還是自己學著并且嘗試解決問題好了,還好有偉大光榮但不一定正確的互聯網。

一、延長lcp-echo-failure次數

進入 /etc/ppp/,打開options文檔

把文檔中的

lcp-echo-failure 4

改為

lcp-echo-failure 30

ppp就是點對點協議。如果lcp-echo-failure次數被設為4,而lcp-echo-interval設為30秒。lcp-echo-interval是每次等待回復的時間。也就是說,ppp發了4次請求幀,即120秒鐘之內,ADSL服務器都沒有回,系統便會認為網絡出了問題,馬上中斷重聯。

當然,也有人反映是如下問題造成困擾:

1、無線模式問題。在路由上,把11bgnmixded改成 11bgmix。

2、IPV6問題。關閉IPV6,找到/etc/modprobe.d/blacklist.conf(沒有的話自己新建) 最后面加上一句 blacklist ipv6,也就是加載modprobe時候不加載ipv6。

3、自動IP問題。嘗試固定IP。

如果這些修改仍然不能解決問題,那基本上只好進行下面的折騰了。

二、lspci|grep -i ether 查看硬件設備具體型號
bash-4.3# lspci|grep -i ether
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-LM (rev 03)

包含硬件廠商及信息,已經在終端里列出來了。

如果想顯示系統加載網卡時寫入/var/log/message里的信息,可以在終端里使用命令:

dmesg |grep -i eth

如果想查找包含速度模式等各項屬性信息,可以在終端里使用命令:

ethtool eth0

詳看http://bluemood.blog.51cto.com/1142811/703992

三、lspci -vv 查看無線網卡具體信息

終端輸入lspci -vv,回車后我們看到一大串信息,最后的兩行是:

Kernel driver in use: rtl8192ee
Kernel modules: rtl8192ee

內核之中的驅動和模塊是rtl8192ee,這就是我們要找的真正的確切無線網卡。

此前lspci|grep -i ether 查出來的Intel Corporation Ethernet Connection (3) I218-LM (rev 03),其實是網卡的信息,而rtl8192ee是附在上面的一個設備。

Ls開頭的命令十分強大。

lscpu命令,能夠查看 CPU 和處理單元的信息。該命令沒有任何其他選項或者別的功能。

而lspci,是另一個命令行工具,可以用來列出所有的 PCI 總線,還有與 PCI 總線相連的設備的詳細信息,比如 VGA 適配器、顯卡、網絡適配器、usb 端口、SATA 控制器等。可以通過運行下面的命令來過濾出特定設備的信息:

lspci -v | grep "VGA" -A 12

至于lshw,是一個通用的工具,可以列出多種硬件單元的詳細或者概要的信息,比如 CPU、內存、usb 控制器、硬盤等。lshw能夠從各個“/proc”文件中提取出相關的信息。

如:lshw -short

還有lsscsi,可以列出像硬盤和光驅等 scsi/sata 設備的信息。

而lsusb,能夠列出 USB 控制器和與 USB 控制器相連的設備的詳細信息。默認情況下,lsusb命令只打印出概要信息。可以通過使用-v參數打印每一個usb端口的詳細信息。

詳看:Linux系統下查看硬件信息命令大全 https://linux.cn/article-6928-1.html

三、配置Rtl8192ee無線網卡驅動

1、使用git克隆文件

在終端里:

git clone https://github.com/lwfinger/rtlwifi_new.git

別告訴我你家沒有網線。再不然借助其他電腦或移動終端,下載https://github.com/lwfinger/rtlwifi_new/archive/master.zip并解壓文件,再復制到自己電腦也行。

2、制作并安裝

其他linux系統,是需要先安裝Linux內核源代碼linux-source的,強大的Slackware自然沒有必要了。

進入克隆好的rtlwifi_new文件夾,打開終端,先后:

make
make install

在Slackware64 current之中,似乎實現上已經直接把rtl8192eefw.bin安裝到了/lib/firmware/rtlwifi/,也就免去了其他linux系統所需要的復制這一步。

請去核對一下,如果兩個文件不一致,就把rtlwifi_new/firmware/rtlwifi/之中的rtl8192eefw.bin,復制到/lib/firmware/rtlwifi/里頭。

如果在配置之前,不先刪除原有的無線網卡驅動不放心的話,我們可以如下處理:

先停止網路

# service network-manager stop
network-manager stop/waiting

再刪除卸載老的無線網卡驅動

# modprobe -rfv rtl8192ee
四、重啟電腦

最后,別忘了重啟你的電腦,懶人可以直接在終端里:

Reboot

其實,我們也可以直接在終端里加載:

modprobe rtl8192ee

至此,問題已經解決。

當然,你還得保證無線路由器發送出來的信號足夠強大而且穩定。比如,我在客廳使用筆記本電腦,無線路由器信號毫無阻擋,也就再沒有wifi掉線問題。但是在房間里使用,在信號達到百分六七十的情況下,依然難免不時掉線。

如果wifi掉線,直接重連并確認密碼,往往連接不上wifi的。這時,我們需要在networkmanager管理小程序之中,右鍵圖標,臨時依次關閉“啟用wifi”、“啟用聯網”,過個幾分鐘,再右鍵重新勾選“啟用聯網”、“啟用wifi”,然后再連接wifi,就可以成功在望。

我只能說Rtl8192ee,真是渣一樣的存在。在我的筆記本電腦之中,Rtl只有這一回,沒有下一次了。當然,如果你受夠了并且有錢錢,那就果斷換上一塊支持2.4g和5g的Intel 7265ac無線網卡。想自己動手?那你可以詳看:t450s 加裝固態及內存圖解 http://bbs.thinkworldshop.com.cn/thread-1763859-1-1.html

我只能說佩服。因為根據我的規矩,至少使用三年后,我才想打開機蓋。

五、其他問題

1、自動休眠省電問題

如果發現系統自動休眠省電導致wifi問題,可以再進行如下處理:

A、禁止自動休眠省電。

解決方案:

找到/etc/modprobe.d/rtl8192ee.conf (沒有的話自己新建),寫入options rtl8192ee fwlps=0 swlps=0,保存退出,然后reboot重啟。

swenc, "using hardware crypto (default 0 [hardware])

硬件加密設置 默認是0

lps, "using no link power save (default 1 is open)

不使用鏈接省電 默認是1 默認是開啟 就是啟用省電。

fwlps, "using linked fw control power save (default 1 is open)

鏈接FW控制省電 默認是1 就是打開省電設置

詳看:http://www.linuxdiyf.com/linux/17917.html

B、systool -v -m 查看可供傳遞的參數。

bash-4.3# systool -v -m rtl8192ee

確認設置的參數是否正確。

詳看:http://forum.ubuntu.org.cn/viewtopic.php?t=462588

2、非硬件驅動問題

當然,如果你不是硬件驅動問題,那么請按如下步驟檢查:

狀況一:信號干擾

原因:路由器旁可能存在強烈的信號干擾源,例如:微波爐、無繩電話、磁鐵、高壓線等。這些設備發出的無線信號和強磁場會嚴重影響路由器的WiFi信號正常發射和接收。

對策:關掉這些設備,或將路由器安裝到相對干擾較少的地方。

狀況二:路由器固件問題

原因:路由器固件版本過低,或者固件和硬件不匹配,也可能會造成路由器工作不正常,產生WiFi信號不穩定的問題。

對策:去路由器官網查找對應型號的最新固件,并按照說明升級路由器固件。

狀況三:手機WiFi功能BUG

原因:個別手機WiFi軟件設計時可能存在BUG,例如,開啟省電模式后,手機WiFi在空閑時會自動關閉。或者手機和路由器有兼容問題,造成其他WiFi設備掉線。

對策:升級手機系統到最新版本,關閉省電模式或其他可能導致WiFi關閉的選項,并反饋給手機廠商。

狀況四:無線信號較弱

原因:路由器WiFi發射功率太小,或者設備距離路由器距離太遠、中間有屏蔽物阻擋。WiFi信號過弱,也會不定時掉線。

對策:設置路由器的傳輸功率為高,以增強發射信號。此外,手機和路由器的直線距離不宜太遠,中間不要隔太厚的水泥墻和屏蔽物。

狀況五:多個WiFi信號集中在一個信道

原因:大部分無線路由器在出廠時默認信道都設置為6,如果附近有多個無線路由器時,同一信道互相之間可能會產生影響。

對策:更改無線路由器信道,避免附近多個路由器在同一信道內。

狀況六:病毒導致

原因:路由器本身中毒的可能性較小,手機或者無線設備容易中毒,一些病毒會在后臺占用大部分帶寬或直接導致掉線。

對策:安裝殺毒軟件對無線設備進行殺毒,必要時對路由器或無線設備恢復出廠設置。

狀況七:硬件故障

原因:路由器WiFi發射模塊或者手機WiFi接收模塊硬件本身出現故障、虛焊等原因,造成WiFi硬件不能正常工作,出現掉線的情況。

對策:盡量聯系廠家售后進行檢測和維修,如果過了保修期,具備專業知識和動手能力的童鞋可以自己動手維修。

詳看:http://www.jb51.net/network/258414.html

3、終端中實現Wifi 連接的方法

在已安裝無線網卡驅動程序的情況下,用如下命令來檢查是哪一個接口來支持無線連接的:

# iwconfig

一般來說,無線接口都叫做 wlan0。

同時,確認此接口服務是啟動著的:

# ip link set wlan0 up

然后,用命令來掃描附近的無線網絡:

# sudo iw dev wlan0 scan | less 

根據掃描出的結果,可以得到網絡的名字(它的 SSID),它的信息強度,以及它使用的是哪個安全加密的(如:WEP、WPA/WPA2)。從此時起,將會分成兩條路線:情況很好、很容易的以及情況稍微復雜的。

網絡沒有加密的,用命令直接連接:

# iw dev wlan0 connect [網絡 SSID]

網絡用 WEP 加密,則:

# iw dev wlan0 connect [網絡 SSID] key 0:[WEP 密鑰]

網絡用WPA 或 WPA2 協議的,則用 wpasupplicant工具,它默認是沒有的。然后需要修改 /etc/wpasupplicant/wpa_supplicant.conf 文件,增加如下行:

network={    ssid="[網絡 ssid]"    psk="[密碼]"    priority=1}

建議在文件的末尾添加它,并確保其他配置都注釋掉。要注意 SSID 和密碼字串都是大小寫敏感的。在技術上您也可以把接入點的名稱當做是 SSID,使用 wpa_supplicant 工具的話會有合適的 SSID 來替代這個名字。

一旦配置文件修改完成后,在后臺啟動此命令:

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

最后,無論是連到開放的網絡還是加密的安全網絡,您都得獲取 IP 地址,使用命令:

# dhcpcd wlan0

如果一切順利的話,您應該已經通過 DHCP 獲取到了一個全新的本地 IP,這個過程是在后臺自動完成的。如果想確認下是否真正連接上的話,您可以再一次輸入如下命令檢查:

# iwconfig

詳看:Linux系統下中 在命令行中實現Wifi 連接的方法 http://www.jb51.net/LINUXjishu/234506.html



關于絲路 絲路網史 版權聲明 法律顧問 聯系我們 |
Copyright ? 2004-2011 by onesl.com all rights reserved
建議您使用1024*768分辨率、火狐瀏覽器瀏覽

閩ICP備11005983號

20选5中奖金额