web-dev-qa-db-ja.com

「ローカル選択による認証の中止(理由:3 = DEAUTH_LEAVING)」wifiに接続しようとしたとき

PCに64ビットのDebian 9ストレッチ(GNOMEデスクトップ)をインストールしました。私のUSBワイヤレスアダプター(TP-LINK TL-WN722N)は、atherosファームウェアのインストール後に自動的に検出されました。

apt-get install firmware-atheros

しかし、パスワードで保護されているか、保護されていないかに関係なく、どのワイヤレスフレームワークにも接続できません。

USBを差し込みました。検出され、認証が送信され、認証されましたが、認証はすぐに中止されました。 IPV6を無効にしても問題は解決しませんでした。dmesgレポートは次のとおりです。

[   59.880805] usb 1-1.4: new high-speed USB device number 4 using ehci-pci
[   60.005727] usb 1-1.4: New USB device found, idVendor=0cf3, idProduct=9271
[   60.005729] usb 1-1.4: New USB device strings: Mfr=16, Product=32, SerialNumber=48
[   60.005731] usb 1-1.4: Product: USB2.0 WLAN
[   60.005732] usb 1-1.4: Manufacturer: ATHEROS
[   60.005734] usb 1-1.4: SerialNumber: 12345
[   60.324981] usb 1-1.4: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
[   60.325069] usbcore: registered new interface driver ath9k_htc
[   60.348095] usb 1-1.4: firmware: direct-loading firmware ath9k_htc/htc_9271-1.4.0.fw
[   60.629962] usb 1-1.4: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[   60.880826] ath9k_htc 1-1.4:1.0: ath9k_htc: HTC initialized with 33 credits
[   61.111895] ath9k_htc 1-1.4:1.0: ath9k_htc: FW Version: 1.4
[   61.111897] ath9k_htc 1-1.4:1.0: FW RMW support: On
[   61.111899] ath: EEPROM regdomain: 0x809c
[   61.111900] ath: EEPROM indicates we should expect a country code
[   61.111901] ath: doing EEPROM country->regdmn map search
[   61.111911] ath: country maps to regdmn code: 0x52
[   61.111912] ath: Country alpha2 being used: CN
[   61.111912] ath: Regpair used: 0x52
[   61.122477] ieee80211 phy0: Atheros AR9271 Rev:1
[   61.185069] ath9k_htc 1-1.4:1.0 wlx18a6f7160a49: renamed from wlan0
[   61.224640] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[   61.361032] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[   61.535923] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[   61.743450] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[   69.190250] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[   70.360621] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[   70.551637] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[   70.556012] wlx18a6f7160a49: authenticated
[   75.555233] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[   76.872114] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[   77.061146] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[   77.065158] wlx18a6f7160a49: authenticated
[   82.061225] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[   83.775718] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[   83.965040] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[   83.969807] wlx18a6f7160a49: authenticated
[   88.969792] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[   91.207178] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[   91.395860] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[   91.400263] wlx18a6f7160a49: authenticated
[   93.996839] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[   94.061841] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[   94.233433] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready

なぜこれが起こったのか、なぜ一度で何度も中断されたのか、私にはわかりません。

編集:iwconfigレポート:

enp3s0    no wireless extensions.

wlx18a6f7160a49  IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

lo        no wireless extensions.
13
GPraz

どういうわけか、私のファームウェアは長いインターフェース名で問題が発生しました。だから私はそれを防ぐためにこのコマンドを実行しました:

ln -s /dev/null /etc/systemd/network/99-default.link

そしてそれは働いた。

16
GPraz

他の人が言ったように、問題はデバイスが取得する非標準の名前によって引き起こされます(つまり、wlan *ではありません)。/dev/nullのリンクは機能しなかったため、インターフェースの名前を変更するためにudevルールを作成する必要がありました。

/etc/udev/rules.d/70-persistent-net.rules

追加:

SUBSYSTEM == "net"、ACTION == "add"、DRIVERS == "?*"、ATTRS {product} == "802.11 n WLAN"、ATTR {dev_id} == "0x0"、ATTR {type} == "1"、KERNEL == "wlan *"、NAME = "wlan1"

特定のデバイスにATTRS {製品}を調整します。 ここでそれを見つける方法を確認してください

7
Maciek

あなたが投稿してあなた自身の問題の解決策を見つけてうれしいです、私は同じディストリビューションで似たようなものを持っていました、rtl8192ベースのキー(正確にはNetgear WNA3100M)、あなたが言及したsystemd ̀ linkトリックで修正しました、ありがとう。

合計すると、 この記事 は、なぜ修正が実際に機能するかを理解するのに役立ちました。これは、ファームウェアを満足させない̀ NamePolicyを含むデフォルトの/lib/systemd/network/99-default.linkファイルを上書きしているためです。

ところで、私はまだいくつかのネットワークに参加する問題を抱えていました。デフォルトの 規制ドメイン が私の場所と一致しないことがあったので、iw reg set <MyCountryCode>を発行し、それに応じて/etc/default/crdaファイルを編集する必要がありました。

3
user3249994

2つの異なるUSB WiFiスティックで同じ問題があります。修正は私の場合もうまくいきました、ありがとう。
問題はNetworkManagerとファームウェアに関連していると思います。同じコンピューターとUSBスティック、同じLinuxディストリビューション(Debian 9.3)を使用したが、NetworkManagerの代わりにwicdを使用した場合、長くない-標準のデバイス名が機能しており、この修正は必要ありませんでした。

1
Laszlo

受け入れられた答えは私にも有効です。しかし、/ dev/nullへのリンクを使用するのが最善の解決策であるかどうかはわかりません。3〜4か月後には、この場所でそのようなリンクを見つけるのが非常に混乱するためです。

Raspberry PiのRaspbian-Installationで、次の内容の通常のファイル/etc/systemd/network/99-default.linkを見つけました。

# This machine is most likely a virtualized guest, where the old persistent
# network interface mechanism (75-persistent-net-generator.rules) did not work.
# This file disables /lib/systemd/network/99-default.link to avoid
# changing network interface names on upgrade. Please read
# /usr/share/doc/udev/README.Debian.gz about how to migrate to the currently
# supported mechanism.

問題を修正するために、シンボリックリンクの代わりにこの通常のファイルを使用します。このソリューションには、システムに何らかのドキュメントがあるという利点があると思います(おそらく、このページへのリンクを追加する必要があります...)。

これは、future-meに何が起こっているかについてのヒントを与えます。 >;->

1
thosch66

受け入れられた解決策は私にとってはうまくいきませんでした。

接続プロパティでIPv6を無効にすることで問題を解決しました。 nm-connection-editorを実行し、問題のある接続を選択し、歯車のアイコンが付いたボタン(私の場合)を押して、[IPv6設定]タブに移動し、[方法]フィールドで[無視]オプションを選択します。 。

0
user36313

他の人が言ったように、問題はデバイスが取得する非標準の名前(つまり、wlan *ではない)が原因です。以下は、systemd.networkdまたはNetworkManagerを使用するときにネットワークインターフェイスの名前を設定する適切な方法です。

systemd.networkd

/dev/nullにリンクすると問題が解決する場合がありますが、適切な方法は、デバイス名を設定する.link fileを作成することです。

次の内容で/etc/systemd/network/50-wlan.linkを作成します。

[Match]
Type=wlan

[Link]
Name=wlan0

ネットワークを再起動または再起動して、結果を確認します:udevadm info /sys/class/net/wlan0 | grep ID_NET_NAME=

詳細とデバッグ情報はここにあります: https://www.freedesktop.org/software/systemd/man/systemd.link.html

NetworkManager

NetworkManagerを使用する場合、/ etc/udev/rules.dディレクトリにルールを作成することで、インターフェースの名前を変更できます。

次の内容で/etc/udev/rules.d/70-rename-wlan.rulesを作成します。

SUBSYSTEM=="net", ACTION=="add", KERNEL=="wlan*", NAME="wlan0"

すべてが正常であれば、rebootの後にデバイス間でwlan0が表示されます。

root@bananapi:~# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group 
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group 

また、nmcli d wifi connect MEU_WIFI_SSID password MEU_PASSWORDを使用してWi-Fiに接続できます。 nmcliは接続を維持し、再起動後に再接続します。

0
rodvlopes