Tengo dos (y posiblemente en el futuro, más) dispositivos serie USB que son idénticos (hasta el número de serie, desafortunadamente), en realidad son mineros de BTC. Actualmente terminan ttyUSBX
donde X es 0, 1 o 2, ya que también hay otro dispositivo serie USB no relacionado (que no debe preocuparse aquí).
Me gustaría escribir una regla udev que les asigne nombres predecibles dentro /dev
, como /dev/miner0
donde el cero es un número entero incremental. No me importa cuál de ellos termine como cuál, pero sí necesito que estén dentro de un rango predecible que no cambie.
Actualmente tengo esto:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="miner%n"
Esto está bastante cerca, ya que termino con nombres como quiero. El único problema es que, dado que los mineros y el tercer dispositivo a veces pueden aparecer en un orden aleatorio, podría terminar con dos de miner0
, miner1
y miner2
, pero nunca sé cuáles dos (sin mirar manualmente). Si agrego más dispositivos serie USB no mineros (que es una posibilidad), agravará el problema.
Había encontrado una referencia a lo %e
que parecía que hacía exactamente lo que quería, pero parece que ya no existe .
¿Cómo podría darles a estos dispositivos nombres predecibles? Preferiría no vincularlos a su ubicación en el bus USB también si es posible.
Más información / antecedentes
Vale la pena mencionar que no me preocupan los nombres, solo que sean conocidos e inmutables incluso si / cuando el dispositivo se conecta a una toma USB diferente. Simplemente olvidaría todo el asunto de udev y usaría entradas /dev/serial/by-id
, pero como tienen el mismo número de serie, ¡solo hay una de ellas allí!
También vale la pena mencionar que la razón para hacer esto es que el software de minería necesita una lista de dispositivos para sondear y encontrar. Solo puedo hacer que haga todo (básicamente solo encuentra a todos los mineros válidos en el ttyUSB*
rango), pero eso molesta al dispositivo que no es minero. Por lo tanto, necesito los nombres de los mineros conocidos de antemano para poder configurarlos para usar solo esos. Lamentablemente, no aceptará un comodín (por lo tanto, simplemente decirle que lo use /dev/miner*
parece estar fuera de discusión), de ahí este problema.
/dev/btcminer/*
) a una lista como esta: -S /dev/btcminer/0 -S /dev/btcminer/1 <and so on if present>
cuáles son los parámetros que toma el software.