J'ai deux (et peut-être à l'avenir, plus) des périphériques série USB qui sont identiques (jusqu'au numéro de série, malheureusement) - ce sont en fait des mineurs BTC. Actuellement, ils finissent comme ttyUSBX
où X est 0, 1 ou 2, car il existe également un autre périphérique série USB non lié (qui ne doit pas être inquiété ici).
Je voudrais écrire une règle udev qui leur attribuera des noms prévisibles /dev
, comme /dev/miner0
où le zéro est un entier incrémenté. Peu m'importe lequel finit par lequel, mais j'ai besoin qu'ils soient dans une plage prévisible qui ne changera pas.
Actuellement, j'ai ceci:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="miner%n"
C'est assez proche, car je me retrouve avec des noms comme je veux. Le seul problème est, puisque les mineurs et le troisième appareil peuvent parfois apparaître dans un ordre aléatoire, je pourrais me retrouver avec deux miner0
, miner1
et miner2
, mais je ne sais jamais lesquels (sans chercher manuellement). Si j'ajoute des périphériques série USB non mineurs (ce qui est une possibilité), cela aggravera le problème.
J'avais trouvé une référence à %e
qui semblait faire exactement ce que je voulais, mais cela ne semble plus exister .
Comment donner à ces appareils des noms prévisibles? Je préfère ne pas les lier à leur emplacement sur le bus USB aussi bien que possible.
Informations complémentaires / contexte
Il convient de mentionner que les noms ne me dérangent pas, juste qu'ils soient connus et inchangés même si / lorsque l'appareil est branché sur une autre prise USB. J'oublierais simplement le tout udev et j'utiliserais des entrées dans /dev/serial/by-id
, mais comme ils ont le même numéro de série, il n'y en a qu'un!
Il convient également de mentionner que la raison de cette opération est que le logiciel de minage doit recevoir une liste d'appareils à rechercher et à détecter. Je peux simplement tout faire (il ne trouve essentiellement que tous les mineurs valides de la ttyUSB*
gamme), mais cela ennuie l'appareil non mineur. J'ai donc besoin des noms des mineurs connus à l'avance afin de pouvoir le configurer pour utiliser uniquement ceux-ci. Malheureusement, il n'acceptera pas de caractère générique (il /dev/miner*
est donc hors de question de simplement lui dire d'utiliser ), d'où ce problème.
/dev/btcminer/*
) à une liste comme celle-ci: -S /dev/btcminer/0 -S /dev/btcminer/1 <and so on if present>
quels sont les paramètres que le logiciel prend.