Algumas coisas precisam ser esclarecidas:
-
Existe uma hierarquia de árvore de dispositivos. Seu adaptador Ethernet USB é exibido como vários "dispositivos" em diferentes subsistemas, representando diferentes camadas:
- subsistema
usb
, devtypeusb_device
- um dispositivo USB conectado a alguma porta; - subsistema
usb
, devtypeusb_interface
- uma função específica que o dispositivo USB fornece (o termo 'interface' tem um significado diferente do que na rede!); - subsistema
net
- a interface de rede real (desta vez no sentido de rede regular).
(O dispositivo de rede é um filho da interface usb, que é filho do usb_device, etc.)
- subsistema
-
Nem todos os dispositivos têm "nós de dispositivo", por exemplo as interfaces de rede não aparecem em
/dev
. (O que é lamentável, mas além do ponto.) -
Somente interfaces de rede podem ser renomeadas. Outros dispositivos não podem. Esta política tornou-se mais rígida quando o Linux mudou de nós de dispositivos de criação do udev para o próprio kernel fazendo isso. (Sim, tecnicamente
mv /dev/foo /dev/bar
ainda funciona, mas a política é que o udev não irá mexer com o que o kernel exporta.)
Portanto, o ponto # 1 é importante: todo o seu post está falando sobre interfaces de rede (que pertencem ao subsistema net
), mas suas regras do udev estão combinando com o subsistema usb
- como resultado, você está tentando renomeie algum dispositivo USB abstrato em / sys.
Sua regra precisa especificamente ter SUBSYSTEM=="net"
. Se você quiser adicionalmente combinar dispositivos pai, SUBSYSTEMS=="usb"
poderia ser usado (observe o 'S').