У меня есть два (и, возможно, в будущем, больше) последовательных USB-устройства, которые идентичны (вплоть до серийного номера, к сожалению) - на самом деле это майнеры BTC. В настоящее время они заканчиваются тем, что ttyUSBX
где X равен 0, 1 или 2, так как есть и другое не связанное последовательное USB-устройство (о котором здесь не нужно беспокоиться).
Я хотел бы написать правило udev, которое будет присваивать им предсказуемые имена /dev
, например, /dev/miner0
где ноль - увеличивающееся целое число. Мне все равно, кто из них в итоге окажется, но мне нужно, чтобы они находились в предсказуемом диапазоне, который не изменится.
В настоящее время у меня есть это:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="miner%n"
Это довольно близко, так как я получаю имена, которые хочу. Единственная проблема заключается в том, что майнеры и третье устройство иногда могут отображаться в случайном порядке, у меня может получиться два из miner0
, miner1
и miner2
, но я никогда не знаю, какие два (без просмотра вручную). Если я добавлю больше не майнерских устройств с последовательным интерфейсом USB (что возможно), это усугубит проблему.
Я нашел ссылку, %e
которая выглядела так, как будто она сделала именно то, что я хотел, но , похоже , она больше не существует .
Как я могу дать этим устройствам предсказуемые имена? Я бы предпочел не привязывать их к их расположению на шине USB, если это возможно.
Дополнительная информация / справочная информация
Стоит отметить, что меня не очень беспокоит, какие имена есть, просто они известны и неизменны, даже если / когда устройство подключено к другому USB-разъему. Я бы просто забыл всю вещь об udev и использовал бы записи /dev/serial/by-id
, но поскольку они имеют одинаковый серийный номер, там только один из них!
Стоит также упомянуть, что причина для этого заключается в том, что программное обеспечение для майнинга должно иметь список устройств для поиска и поиска. Я могу просто сделать все (в основном он находит всех допустимых майнеров в ttyUSB*
диапазоне), но это раздражает не майнерское устройство. Поэтому мне нужны заранее известные имена майнеров, чтобы я мог настроить их на использование только этих. К сожалению, он не примет подстановочный знак (так что просто сказать, что его использовать не /dev/miner*
может быть и речи), следовательно, эта проблема.
/dev/btcminer/*
) к списку, подобному следующему: -S /dev/btcminer/0 -S /dev/btcminer/1 <and so on if present>
какие параметры принимает программное обеспечение.