以前質問しました。Wi-Fiを使用した後にWi-Fiが機能しない。これそしてこの回答私を助けた。しかし、問題は動作しますが、数時間後にラップトップを起動すると同じ問題が発生します。
私は直面しています質問私がいるたびに。その後、ラップトップを再起動しましたが、すべてがうまくいきました。この問題を永久に解決することはできません。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
ワイヤレス拡張はありません。
eth0にはワイヤレス拡張はありません。
wlan0 IEEE 802.11 ESSID: オフ/すべてのモード: マネージドアクセスポイント
: 未接続 Tx-Power=15dBm
再試行短期制限: 7 RTS thr: オフスライス thr: オフwwan0にはワイヤレス拡張はありません。
docker0にはワイヤレス拡張機能はありません。
ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 Broadcast 172.17.255.255 ether 02:42:7d:19 0(0.0 B) RX エラー 0 削除 0 オーバーフロー 0 フレーム 0 TX パケット 0 バイト 0(0.0B) 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.0B) RX エラー 0 ドロップ 0 オーバーTX パケット 0 バイト 0(0.0B) 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 128scopeid 0x10 loop txqueuelen 1000(ローカルループバック8) 0オーバーフロー0フレーム0 TXパケット28バイト1728(1.6KiB)TXエラー0廃棄0オーバーフロー0キャリア0クラッシュ0
答え1
終了してwpa_supplicant
再起動してみましたが、/またはNetworkManager
コマンドの出力にインターフェイス全体が表示されなくなると役に立ちません。iwconfig
ifconfig
iw list
ip link show
問題は、WiFiアダプタドライバとハードウェアの間の何らかの誤った通信である可能性があります。この機能を使用すると、一時停止/休止状態の問題になる可能性があります。
dmesg
出力を確認して、WiFiインターフェースに関連するエラーメッセージがあるかどうかを確認できます。 when などのコマンドでインターフェイスが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>
再ロードしてください。これにより、ドライバがWiFiアダプタを最初から100%再初期化し、通信エラーに関連するすべてのエラーステータスが消去されます。
これにより、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
免責事項:私はこれをまったくテストしていません。問題を解決し、自分で調整する必要があるかもしれません。しかし、私はあなたが理解してほしい。
答え2
回復後、このスクリプトをsudoとして実行します。
#!/bin/bash
# program to check WiFi and reset if not running
#dns server
IPTEST=1.1.1.1
iwconfig=/sbin/iwconfig
lspci=/usr/bin/lspci
#find 802 wireless device id
DEVICE=`$iwconfig 2>/dev/null | egrep 802 | awk ' {print $1}'`
#get PCI bus wireless #
WLNUM=`$lspci | grep -i wireless | awk ' {print $1}'`
#get driver to unload
WLMOD=`$lspci -vv -s $WLNUM | grep -i "kernel driver" | awk ' {print $5}'`
#print out stats
echo "IP is: $IPTEST"
echo "DEVICE is: $DEVICE"
echo "PCI DEV NUM is $WLNUM"
echo "PCI DRIVER is $WLMOD"
ping -c 1 $IPTEST
read -n 1 -p "Proceed ? " ANS
if [[ "$ANS" =~ [^yY] ]]; then
exit 0
fi
echo ""
if ping -c 1 $IPTEST >/dev/null 2>&1 ;
then
echo "$IPTEST 1 ok"
exit 0
else
echo "Ping failed"
echo "stopping wifi "
sudo nmcli radio wifi off
echo "sleeping for 3..."
sleep 3
echo "unloading $DEVICE"
sudo nmcli device disconnect $DEVICE
echo "sleeping for 3..."
sleep 3
echo "unloading $WLMOD ..."
sudo modprobe -r $WLMOD
echo "sleeping for 3..."
sleep 3
echo "reloading $WLMOD"
sudo modprobe $WLMOD
echo "sleeping for 3..."
sleep 3
echo "reloading $DEVICE"
sudo nmcli device connect $DEVICE
echo "sleeping for 10..."
sleep 10
echo "stop wifi "
sudo nmcli radio wifi off
echo "sleeping for 3..."
sleep 3
echo "starting wifi"
sudo nmcli radio wifi on
echo "sleeping for 3..."
sleep 5
echo "test ping again ..."
ping -c 1 $IPTEST
fi
exit 0