Linux 系統用著用著突然發現電腦上的 WiFi 圖示不見了,電腦無法連接到無線網,這可急壞了,找遍設定也沒找到哪里可以重新打開無線網,感覺就像是憑空消失了一樣,折騰了一天,終于把無線網路恢復正常了,
這篇文章就來梳理一下在 Linux 上修復無線網路的一些簡單常用的操作,
首先,CTRL + ALT + T 打開 bash,我們可以使用 rfkill 命令查看無線設備的狀態,
$> rfkill list
# 正常情況應該顯示如下內容
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
- 注:
rfkill是一個內核級的無線設備管理工具,意為 radio frequency kill ,
- 如果無線網路設備(Wireless LAN)顯示
Soft blocked: yes,即軟阻塞,通常原因是軟體層面關閉了無線網路,筆記本電腦可以看看是否誤觸到了飛行模式按鍵,導致無線網路被關閉,飛行模式按鍵通常是Fn + F12或Fn + INSERT,rfkill也提供了如下命令來解除軟阻塞:
$> rfkill unblock wlan #解除無線網路的軟阻塞
- 如果顯示
Hard blocked: yes,即硬阻塞,通常原因是網卡或網卡驅動損壞,網卡損壞的幾率相對較小,可以嘗試重新安裝驅動是否能夠解決問題,使用lspci指令查看電腦網卡的型號,然后從網上下載對應型號的網卡驅動進行編譯安裝,
lspci | grep Ethernet
- 注:
lspci指令用于查看所有的 pci 設備資訊,pci 是一種總線,pci 設備就是通過 pci 總線連接的設備,如今,我們常用的設備大部分都采用的是 pci 總線,如網卡、存盤等,
rfkill 命令顯示的內容正常后,我們再用 ifconfig 命令查看網路設備的狀態,
$> ifconfig
eno1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 84:a9:3a:1c:7f:e4 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 736 bytes 59264 (57.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 736 bytes 59264 (57.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
可以看到,此時可用的網路設備只顯示了有線網卡(以太網介面 eno1)和回環介面(lo),并沒有顯示無線網卡,如果使用 -a 引數展示所有的網路設備,則可以看到無線網卡(wlo1)的資訊,
$> ifconfig -a
eno1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 84:a9:3a:1c:7f:e4 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 736 bytes 59264 (57.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 736 bytes 59264 (57.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlo1: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 18:1e:ea:a6:0b:5f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
這說明,雖然阻塞問題被我們解決了,但無線網卡仍處于關閉狀態,我們需要手動開啟無線網卡,
$> sudo ifconfig wlo1 up
開啟后,再執行 ifconfig 命令就能夠看到無線網卡(wlo1)的信息啦,等待一會兒之后,WiFi 的圖示就能又重新出現在了我們的桌面上啦~
如果仍沒有效果,可以嘗試重啟網路服務,
$> systemctl restart network-manager
- 注:
systemctl命令常用于管理服務的啟動和關閉,意為 system control ,
ifconfig 是在 Linux 上除錯網路的重要工具,下面列舉了 ifconfig 的一些常用操作,
# 顯示 up 狀態的網路設備資訊
$> ifconfig
# 顯示所有網路設備資訊
$> ifconfig -a
# 啟動 eth0 網卡
$> ifconfig eth0 up
# 關閉 eth0 網卡
$> ifconfig eth0 down
# 給 eth0 網卡配置IP地址
$> ifconfig eth0 192.168.1.56
# 給 eth0 網卡配置IP地址,并加上子掩碼
$> ifconfig eth0 192.168.1.56 netmask 255.255.255.0
希望本文能夠幫助大家快速定位到病灶,順利解決遇到的問題!😃
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226999.html
標籤:其他
上一篇:Ubuntu 20.04版本靜態ip配置、動態ip配置、雙網卡配置
下一篇:RSA相關知識點與攻擊方法
