Ubuntu系統(tǒng)網絡故障排查的方法
一、首先說明的是連不上 wifi 的原因無外乎以下幾點
1、網卡問題
2、沒有安裝網絡驅動
3、安裝了網絡驅動,但是沒有加載進內核
4、以上均沒問題,那么就是路由器沒有接入 internet 了
接下來,一步步排查
二、查看網卡信息
可以使用以下命令查看網卡信息
$ lshw -C network
正常情況至少會顯示兩個網卡,一個 eth0, 一個 wlan0。運行這個命令,我電腦的情況是: 兩個網卡的 description
字段后面都是 unclaim
,并且沒有 logical name。
根據這個命令的結果,可以得出以下結論
1、網卡沒有問題
2、考慮到之前能夠連接 wifi,所以系統(tǒng)中肯定存在網絡驅動
3、鑒于網卡信息識別為 “unclaim
”,網絡驅動應該沒有在運行,即沒有加載進內核
所以,接下來要做的便是: 找到和網卡相關的驅動,然后加載進內核
三、尋找網卡驅動
運行以下命令
$ vim /etc/udev/rules.d/70-persistent-net.rules
結果如下
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:53:ed:31:c3:29", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x168c:0x0032 (ath9k) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:3e:8e:d8:10:95", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
從這里得知,eth0, wlan0 的驅動分別是 r8169.ko, ath9k.ko
檢查以上驅動模塊是否在運行
$ lsmod | grep "ath9k"
發(fā)現沒有任何輸出,這個證明模塊 ath9k.ko
沒有被加載
下面檢查系統(tǒng)中是否真的已經有這個模塊
$ find / -name "ath9k.ko"
結果為
/lib/modules/3.13.0-32-generic/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko /lib/modules/3.13.0-79-generic/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko /usr/lib/debug/lib/modules/3.13.0-79-generic/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
以上說明模塊 ath9k.ko
確實存在!但是,等等,上面前面兩個 ath9k.ko
分別處在不同的內核模塊下,即 3.13.0-32-generic
和 3.13.0-79-generic
下。此時,我們查看以下當前系統(tǒng)的內核版本
$ uname -r
結果顯示的是
3.13.0-92-generic
到這里問題已經很明朗了,我們系統(tǒng)中確實存在無線網卡驅動模塊,ath9k.ko
,但是當前運行的內核版本中卻沒有!解決辦法有兩個
1、在當前內核版本中,下載相應的 ath9k.ko
,并通過 insmod
命令安裝
2、將當前的內核回退到 3.13.0-79-generic
版本
由于我這里不僅僅是無線模塊沒有加載,eth0 模塊也沒有,所以猜測是因為系統(tǒng)在升級到 3.13.0-92 的過程中,發(fā)生錯誤導致的,所以,我這里選擇將系統(tǒng)回退。
四、系統(tǒng)回退
由于系統(tǒng)上已經存在 3.13.0-79-generic
,所以不需要下載,安裝
修改 boot 啟動選項
$ vim /boot/grub/grub.cfg
在打開的文件中,存在諸多的 menuentry,每個 menuentry 對應開機菜單中的一個選項,找到 3.13.0-79-generic
內核對應的 menuentry,確定它的位置序號,第一個 menuentry 位置為 0,逐次加 1。
然后修改 /etc/default/grub
中的 GRUB_DEFAULT
值為剛才那個序列號
最后運行 update-grub
,以及 reboot
即可
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家能有一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
詳解Linux系統(tǒng)中的tempfs與/dev/shm
/dev/shm是Linux非常有用的一個目錄,它就是所謂的tmpfs,也可以稱之為臨時文件系統(tǒng)(不是塊設備),類似oracle中的臨時表空間一樣,用于加速和優(yōu)化系統(tǒng)。下面這篇文章主要給大家介紹了Linux系統(tǒng)中tempfs與/dev/shm的相關資料,需要的朋友可以參考下。2017-02-02Linux Windows下設置定時執(zhí)行任務的方法
這篇文章主要介紹了Linux、windows下 設置定時執(zhí)行任務的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09Jexus 5.8.2正式發(fā)布! 為Asp.Net Core生產環(huán)境提供平臺支持
Jexus 5.8.2正式發(fā)布!Jexus支持ASP.NET、PHP為特色的集高安全性和高性能為一體的WEB服務器和反向代理服務器,感興趣的小伙伴們可以參考一下2017-06-06VPS CentOS-6 下 LNMP HTTP web服務器的搭建步驟
雖然現在很多朋友比較喜歡使用軍哥的lnmp一鍵安裝包,但手工配置方法也要會,否則容易技術退步2014-06-06