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.
どういうわけか、私のファームウェアは長いインターフェース名で問題が発生しました。だから私はそれを防ぐためにこのコマンドを実行しました:
ln -s /dev/null /etc/systemd/network/99-default.link
そしてそれは働いた。
他の人が言ったように、問題はデバイスが取得する非標準の名前によって引き起こされます(つまり、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 {製品}を調整します。 ここでそれを見つける方法を確認してください
あなたが投稿してあなた自身の問題の解決策を見つけてうれしいです、私は同じディストリビューションで似たようなものを持っていました、rtl8192ベースのキー(正確にはNetgear WNA3100M)、あなたが言及したsystemd ̀ link
トリックで修正しました、ありがとう。
合計すると、 この記事 は、なぜ修正が実際に機能するかを理解するのに役立ちました。これは、ファームウェアを満足させない̀ NamePolicy
を含むデフォルトの/lib/systemd/network/99-default.link
ファイルを上書きしているためです。
ところで、私はまだいくつかのネットワークに参加する問題を抱えていました。デフォルトの 規制ドメイン が私の場所と一致しないことがあったので、iw reg set <MyCountryCode>
を発行し、それに応じて/etc/default/crda
ファイルを編集する必要がありました。
2つの異なるUSB WiFiスティックで同じ問題があります。修正は私の場合もうまくいきました、ありがとう。
問題はNetworkManagerとファームウェアに関連していると思います。同じコンピューターとUSBスティック、同じLinuxディストリビューション(Debian 9.3)を使用したが、NetworkManagerの代わりにwicdを使用した場合、長くない-標準のデバイス名が機能しており、この修正は必要ありませんでした。
受け入れられた答えは私にも有効です。しかし、/ 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に何が起こっているかについてのヒントを与えます。 >;->
受け入れられた解決策は私にとってはうまくいきませんでした。
接続プロパティでIPv6を無効にすることで問題を解決しました。 nm-connection-editorを実行し、問題のある接続を選択し、歯車のアイコンが付いたボタン(私の場合)を押して、[IPv6設定]タブに移動し、[方法]フィールドで[無視]オプションを選択します。 。
他の人が言ったように、問題はデバイスが取得する非標準の名前(つまり、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
は接続を維持し、再起動後に再接続します。