wlan0 大部分時間都不工作
我之前問過一個問題Wifi is not working after using wifite$$ duplicate $$. 這個和這個答案幫助了我。但是,問題是它可以工作,但是幾個小時後,當我啟動我的筆記型電腦時,我遇到了同樣的問題。
每當我在. 然後,重新啟動我的筆記型電腦一切正常。我無法永久解決此問題。在那一刻遇到問題
wifite
後我沒有使用sudo airmon-ng check kill
輸出:殺死這些程序 PID 名稱 1394 wpa_supplicant
sudo service NetworkManager restart sudo ifconfig wlan0 up
輸出:wlan0:獲取介面標誌時出錯:沒有這樣的設備
sudo iwconfig wlan0 down
輸出:wlan0:獲取介面標誌時出錯:沒有這樣的設備
sudo ifconfig wlan0 up
輸出:wlan0:獲取介面標誌時出錯:沒有這樣的設備
sudo aireplay-ng wlan0
輸出:請指定攻擊模式。“aireplay-ng –help”尋求幫助
我試圖設置 wlan0。但是,我執行時沒有 wlan0
ifconfig
。當我執行這些命令後重新啟動時。wlan0 工作正常,但是我已經多次遇到過。幾天前執行wifite之後。即使我現在再次面臨這個問題……我認為wifite
狀態正在繼續執行或正在發生其他事情。iwconfig
lo 沒有無線擴展。
eth0 沒有無線擴展。
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=15 dBm
Retry short limit:7 RTS thr:off Fragment thr:off 電源管理:off
wwan0 沒有無線擴展。
docker0 沒有無線擴展。
ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 網路遮罩 255.255.0.0 廣播 172.17.255.255 ether 02:42:7d:19:b4:b6 txqueuelen 0 (Ethernet) RX 數據包 0 字節 0 (0.0 B) RX 錯誤 0 丟棄 0 溢出 0 幀 0 TX 數據包 0 字節 0 (0.0 B) TX 錯誤 0 丟棄 0 溢出 0 載波 0 衝突 0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether f0:de:f1:da:7d:80 txqueuelen 1000(乙太網)RX 數據包 0 字節 0 (0.0 B) RX 錯誤 0 丟棄 0 溢出 0 幀 0 TX數據包 0 字節 0 (0.0 B) TX 錯誤 0 丟棄 0 溢出 0 載波 0 衝突 0 設備中斷 20 記憶體 0xf2500000-f2520000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000(本地環回)RX數據包28字節1728(1.6 KiB)RX錯誤0丟棄0 溢出 0 幀 0 TX 數據包 28 字節 1728 (1.6 KiB) TX 錯誤 0 丟棄 0 溢出 0 載波 0 衝突 0
您已經嘗試過 kill
wpa_supplicant
和 restarting ,但是如果整個界面在 commands和/orNetworkManager
的輸出中不再可見,那麼這將無濟於事。iwconfig``ifconfig
iw list``ip link show
問題可能是 WiFi 適配器驅動程序與硬體存在某種錯誤通信。如果您使用該功能,這可能是暫停/休眠問題。
您可能需要檢查
dmesg
輸出以查看是否有任何與 WiFi 介面相關的錯誤消息。當介面不再對諸如iwconfig
等命令可見時,您可以嘗試為您的 WiFi 介面解除安裝和重新載入驅動程序模組。當
wlan0
界面正常工作時,sudo ethtool -i wlan0 | awk '/driver:/{print $2;}'
應顯示驅動模組的名稱。記下它。當
wlan0
再次失去時,執行sudo modprobe -r <driver module name>
,替換<driver module name>
為您之前記下的實際模組名稱,以解除安裝模組。然後sudo modprobe <driver module name>
重新載入它。這將迫使驅動程序從頭開始 100% 重新初始化 WiFi 適配器,希望能清除任何與通信錯誤相關的錯誤狀態。如果這導致 WiFi 適配器重新開始工作,並且每當您掛起筆記型電腦時問題似乎都會發生,那麼您可能需要自定義掛起/恢復過程以自動關閉 WiFi 適配器並在掛起時解除安裝其驅動程序,然後重新載入它在簡歷上。這在大多數發行版上通常相當容易實現,但我不知道專門為 Kali 推薦的方法是什麼。
顯然 Kali 是基於 Debian 的,因此將以下腳本放入
/lib/systemd/system-sleep/wifi-workaround.sh
並使其可執行(chmod a+rx /lib/systemd/system-sleep/wifi-workaround.sh
)可能會奏效:#!/bin/sh # When suspending/resuming, systemd will call executables in /lib/systemd/system-sleep # with the following parameters: # $1 = either "pre" or "post" # $2 = "suspend", "hibernate", "hybrid-sleep" or "suspend-then-hibernate" INTERFACE=wlan0 DRIVER_MODULE=<driver module name> case "$1" in pre) nmcli device disconnect $INTERFACE modprobe -r $DRIVER_MODULE ;; post) modprobe $DRIVER_MODULE nmcli device connect $INTERFACE ;; esac # Don't stop suspending/resuming even if we fail somehow. exit 0
免責聲明:我根本沒有對此進行測試,您可能需要自己進行故障排除和調整。但我希望你能明白。