web-dev-qa-db-ja.com

16.04でWi-Fiアダプターがwlan0として表示されないのはなぜですか?

Ubuntu 16.04を別のHDDにインストールしたところ、2つの奇妙な点に気付きました。

  • 14.04(メインHDD)ではUSB Wi-Fiドングルはwlan0として表示されますが、16.04ではwlx112233445566として表示されます。 (リアルMACの編集)

  • また、hw etherパラメーターを使用してMACアドレスを変更しても、16.04では機能しません。

lsusbからの関連する出力は次のとおりです。

Bus 008 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

誰もがここで何が起こっているかについていくつかの光を当てることができますか?

15
Android Dev

最近、Ubuntu(まあ、systemd)は 予測可能なネットワークインターフェイス名 と呼ばれるものを使用するようになりました。本質的に、これは非永続的なネットワークインターフェース(つまりUSBインターフェース)の名前がenx<MAC_ADDR>またはwlx<MAC_ACCR>(または同様)の形式になっているため、それに依存するスクリプトとシステムspecificデバイスは、適切なデバイスをターゲットにしているという100%の信頼を持っています。

他の命名規則では、デバイスを物理的な場所または他の形式の永続的な識別値で参照できます。具体的には、これらの値のいずれかを使用して、インターフェイス名を生成できます(最適なものが選択されます)。

  • ファームウェア/ BIOSを組み込んだ名前は、オンボードデバイスのインデックス番号を提供しました(例:eno1
  • ファームウェア/ BIOSを組み込んだ名前は、PCI Expressホットプラグスロットのインデックス番号を提供します(例:ens1
  • ハードウェアのコネクタの物理的/地理的位置を組み込んだ名前(例:enp2s0
  • インターフェイスのMACアドレスを組み込んだ名前(例:enx78e7d1ea46da
  • クラシックで予測不可能なカーネルネイティブethXネーミング(例:eth0

過去には、インターフェイス名は「健全な」方法で割り当てられていませんでした-一部のシステムは疑似永続的な名前(このMACを持つデバイスのwlan1)を使用し、他のシステムは先着順で割り当てました基礎。それでもこの方法を好む場合(またはsystemdがそうしているために永続的な名前が嫌いな場合)、ブート引数にnet.ifnames=0を追加することで逆にすることができます。

接続エディターを使用してデバイスのMACアドレスを偽造することはできますが、MACアドレスはデバイスの識別子/名前の一部であるため、hw etherは機能しなくなります。

19
Kaz Wolfe

net.ifnames = 0をブート引数に追加することにより、逆にすることができます。

USBインターフェースの名前を変更するには十分ではありません... 80-net-setup-link.rulesをいじる必要もあります。

1)現在のルールを/etc/udev/rules.d/ディレクトリにコピーします

Sudo cp /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/

2)シンボリックリンクを作成して/dev/nullに送信し、無効にします:

Sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

詳細については、このスレッドを確認してください: USB wifiインターフェース名を元に戻す方法(wlxXXXXXXXXXXXXからwlanXへ)?

4
kcdtv

設計変更と同じくらい簡単だと思いますが、数値は今では異なります。それは障害ではありません。たとえば、私のLANは14.04ではeth0でした(まだ他のいくつかのディストリビューションにあります)が、16.04ではenp0s25で​​す。

この命名規則はパフォーマンスに影響を与えず、私はそれについて心配しません。

編集:カズウルフは、より徹底的な説明を提供します。

2
hatterman