Linuxシステムは、コンピューターのWiFiアイコンが欠落していることを突然検出し、コンピューターはワイヤレスネットワークに接続できませんでした。これは気になるかもしれません。設定を検索したところ、ワイヤレスネットワークを再びオンにする場所が見つかりませんでした。それは、空気の薄いところから消えたように感じました。1日投げた後、ワイヤレスネットワークはようやく正常に戻りました。
この記事では、Linux上のワイヤレスネットワークを修復するためのいくつかの簡単で一般的な操作を整理します。
まず、rfkill
コマンドを使用してワイヤレスデバイスのステータスを表示できます。
$> rfkill list
# 正常情况应该显示如下内容
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
ワイヤレスネットワークデバイス(ワイヤレスLAN)が表示されているSoft blocked: yes
場合、それはソフトブロッキングを意味します。これは通常、ワイヤレスネットワークがソフトウェアレベルでオフになっているためです。ラップトップは、飛行機のモードボタンが誤ってタッチされ、ワイヤレスネットワークがオフになっていないかどうかを確認できます。フライトモードボタンは通常Fn + F12
またはFn + INSERT
です。
それが表示されている場合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
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