Utilice la ruta USB de una dirección USB NIC en las reglas de udev para asignar un nombre de interfaz en lugar de una dirección MAC

Utilice la ruta USB de una dirección USB NIC en las reglas de udev para asignar un nombre de interfaz en lugar de una dirección MAC

Relacionado con:

El problema con la segunda solución proporcionada es que algunas NIC USB3 comparten lo mismo por algunas razones extrañas.ATTR{serie}Entonces mi último recurso para cambiar el nombre de estas interfaces es la ruta USB.

Debido a que estas NIC conectadas siempre están en la misma posición y colocadas en un concentrador USB3, creo que podría ser útil usar la ruta USB para identificar y cambiar el nombre de las interfaces.

lsusbdice:

...
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
...

Lamentablemente, como siempre, las cosas que deberían ser intuitivas no funcionan como se esperaba.

Descubrí que todas mis interfaces están en el bus 2 y tienen variosdevnumde 5 a 10

Entonces lo intenté con comandos como este:

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

Pero no funciona.

También con esto usando elGRANOSruta en un dispositivo que dice estar en 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"

Pero nada, las interfaces no se renombran...

¿Por qué estas reglas no funcionan?

Respuesta1

Encontré el problema. Era un error de sintaxis como lo indicó @AB. Básicamente, estaba usando = en lugar de == que se usaba para asignar valores en lugar de leer y comparar el contenido.

Al usar == como operador, todo funciona bien.

información relacionada