udevルールでは、USBネットワークカードアドレスのUSBパスを使用してMACアドレスの代わりにインターフェイス名を割り当てます。

udevルールでは、USBネットワークカードアドレスのUSBパスを使用してMACアドレスの代わりにインターフェイス名を割り当てます。

関連:

提供された2番目のソリューションの問題は、いくつかのUSB3 NICが奇妙な理由で同じコンテンツを共有することです。ATTR{シリーズ}したがって、このインターフェイスの名前を変更する最後の手段はUSBパスです。

接続されたNICは常にUSB3ハブの同じ場所と場所にあるため、USBパスを使用してインターフェイスを識別して名前を変更するのが便利です。

lsusb説明する:

...
Bus 002 Device 006: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 005: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 010: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 009: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 008: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 007: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
...

残念ながら、いつものように直感的でなければならないことは、期待どおりに機能しません。

私のインターフェイスはすべてバス2にあり、さまざまなインターフェイスがあることがわかりました。開発番号5時から10時まで

だから私は次のようなコマンドを試しました。

SUBSYSTEM="net", ACTION="add", DRIVERS="?*", ATTRS{busnum}="2", ATTRS{devnum}="5", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"

しかし、これはうまくいきません。

これと一緒に使用されることもありますコアKERNELS="2-3:1.0"のデバイスパス:

SUBSYSTEM="net", ACTION="add", DRIVERS="?*", KERNELS="2-3:1.0", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"

しかし、何も、インターフェイスの名前は変更されませんでした...

このルールが機能しないのはなぜですか?

答え1

@ABが言ったように、基本的に内容を読み取って比較するのではなく、==の代わりに=を使用して割り当てました。

==を演算子として使用すると、すべてがうまく機能します。

関連情報