Sistema clonado + interfaces de rede

9

Eu fiz uma imagem do meu sistema e dei para alguém executar. Eles liberaram com êxito o sistema com a imagem e a executam.

O problema é o seguinte:

O sistema normalmente possui 2 adaptadores sem fio. Ambos aparecendo no lsusb:

pi@raspberry:~ $ lsusb
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter

Eu configurei as interfaces nos /etc/udev/rules.d/70-persistent-net.rulesarquivos pelo endereço mac ou hw, e isso funciona bem no meu sistema, mas no sistema dele, obviamente (enquanto ele usa o mesmo tipo e modelo de hardware) elas são diferentes e, como tal, o mac o endereço é diferente, então suas 70-persistent-net.rules são inúteis e estão causando problemas.

Para evitar isso no futuro, existe uma maneira de configurá-lo para que talvez procure o tipo de modelo, digamos:

 EW-7811Un -> wlan0
 SMSC9512 -> wlan1

e define-los, em vez de confiar no endereço mac?

user5740843
fonte

Respostas:

12

Os três primeiros octetos em um endereço MAC identificam exclusivamente o fabricante do dispositivo. As regras do Udev permitem combinar qualquer número de caracteres com um asterisco. Assim, você pode escrever uma regra genérica que corresponda a qualquer dispositivo de um fornecedor específico:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="74:2f:68*", NAME="wlan0"

Como alternativa, você pode interromper a correspondência no endereço e usar outros parâmetros. Execute o seguinte comando nos dois computadores:

sudo udevadm info -a -p /sys/class/net/wlan0

(substituindo o nome da interface, é claro) e veja quais valores comuns você vê; depois use-as nas suas regras.

Escrever regras do udev é provavelmente a melhor documentação sobre o assunto.

Alexander Batischev
fonte