
Estoy trabajando en un proyecto que utiliza una serie de Raspberry Pis, cada una con dos tarjetas inalámbricas diferentes (con diferentes conjuntos de chips/usando diferentes módulos, una es rtl8187 y la otra es rt2800usb).
Por el momento, he configurado reglas de nomenclatura persistentes para cada Pi, por lo que cuando configuro un nuevo Pi o cambio las tarjetas inalámbricas entre Pis, tengo que editarlo para que la nueva tarjeta rtl8187 siga siendo wlan0 y la La nueva tarjeta rt2800usb sigue siendo wlan1.
¿Hay alguna manera de modificar las reglas persistentes para nombrar las interfaces según el módulo que utilizan o algo así? Lo ideal sería poder saber que cualquier tarjeta rtl8187 que conecte debe ser wlan0 y cualquier tarjeta rt2800usb debe ser wlan1.
O como solución alternativa, ¿hay alguna forma de utilizar un comodín parcial para la coincidencia de direcciones MAC? Cada tarjeta que tengo con el mismo chipset tiene el mismo prefijo MAC de proveedor.
Respuesta1
Lo primero que intentaría es simplemente cambiar el
ATTR{address}=="12:34:56:78:9A:AB"
a
ATTR{address}=="12:34:56:*"
adentro /etc/udev/rules.d/70-persistent-net.rules
(suponiendo que esté en el mismo lugar en tu RaspPi).
No lo probé, pero así es como funciona la combinación habitual.
Si funciona, simplemente copie este archivo en cada nuevo RaspPi.
Respuesta2
No creo que nombrar el dispositivo ayude, ya que habrá notado que el factor decisivo si el dispositivo es wan0 o wan1 se basa en la dirección mac.
La única solución que se me ocurre es súper sucia... tener dos copias de la configuración de red y usar una regla udev para copiar la configuración de red deseada en su lugar. (Esto funcionaría pero está muy sucio...)
Quizás alguien pueda pensar en una solución mejor, pero si elige esta, el método es hacer coincidir el dispositivo en una regla udev y al final de la regla udev tener +RUN=/usr/local/bin/bashscript.sh (make asegúrese de bloquear los permisos).
La única pregunta que tengo es que no entiendo cuál sería el problema de tener una nic como wlan1.
Creo que la respuesta a su problema no es cambiar de wlan1 a wlan0, sino descubrir por qué necesita hacerlo...
Aquí hay un ejemplo de regla udev que tengo con un script bash:
ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010|0110|0111|0114|0116|0401|0403|0405|0407|0410", ACTION=="remove", RUN+="/usr/local/bin/secdev_lock.sh"
(bloqueo la pantalla de mi computadora portátil cuando desconecto una llave de seguridad)
ACTUALIZAR:
para depurar los atributos de la tarjeta disponibles:
SUBSYSTEM=="net", ACTION=="add", RUN+="/usr/local/bin/addnic.sh"
en addnic.sh;
#!/bin/bash
env > /home/user/udev_$RANDOM.txt
Estoy seguro de que encontrarás toda la información relevante allí