Як прив'язати usb модем через udev symlink

Як прив'язати usb модем через udev symlink
  • Linux

Всім доброго! Ніяк не можу вирішити вирішити проблему з якою зіткнувся.
Є у мене кілька модемів (2шт) при підключенні система бачить один модем як ttyUSB0, ttyUSB1, ttyUSB2
голос, дані і щось іще.
При підключенні 2-х модемів, в системі виходить від USB0. до ttyUSB5.
Все ніби ок, але після еперезагрузкі, модеми визначаються вже по іншому. Тобто якщо MTS_01 раніше дорівнював ttyUSB0, ttyUSB1, ttyUSB2 то тепер він визначається як ttyUSB3, ttyUSB4, ttyUSB5. а модем MTS_02 тепер видно як ttyUSB0, ttyUSB1, ttyUSB2.
Вирішив я прив'язати їх через udev symlink, створив ось таке правило:


KERNEL == "ttyUSB *", DEVPATH == "/ devices / pci0000: 00/0000: 00: 1a.7 / usb1 / 1-3 / 1-3: 1.0 / *", SYMLINK + = "mts-01-audio "
KERNEL == "ttyUSB *", DEVPATH == "/ devices / pci0000: 00/0000: 00: 1a.7 / usb1 / 1-3 / 1-3: 1.1 / *", SYMLINK + = "mts-01-data "
KERNEL == "ttyUSB *", DEVPATH == "/ devices / pci0000: 00/0000: 00: 1a.7 / usb1 / 1-3 / 1-3: 1.2 / *", SYMLINK + = "mts-01-other "

KERNEL == "ttyUSB *", DEVPATH == "/ devices / pci0000: 00/0000: 00: 1d.7 / usb7 / 7-1 / 7-1: 1.0 / *", SYMLINK + = "mts-02-audio "
KERNEL == "ttyUSB *", DEVPATH == "/ devices / pci0000: 00/0000: 00: 1d.7 / usb7 / 7-1 / 7-1: 1.1 / *", SYMLINK + = "mts-02-data "
KERNEL == "ttyUSB *", DEVPATH == "/ devices / pci0000: 00/0000: 00: 1d.7 / usb7 / 7-1 / 7-1: 1.2 / *", SYMLINK + = "mts-02-other "

в мережі бачив приклади де в місце DEVPATH (як у мене) беруть інші параметри, але у мене працює тільки з DEVPATH параметри якого я беру з udevadm info --query = property --name = ttyUSB0.

З таким правилом. якщо пересмикувати модеми - все працює відмінно, але якщо перевантажити систему, то ось номер usb "usb7 / 7-1 / 7-1: 1" за яким власне і робиться прив'язка, чомусь змінюється, і відповідно правила не спрацьовують :(
Як мені прив'язати пристрій по symlink?
Яких то інших унікальних даних, до яких я міг би прівязатся не бачу :( моделі модемів однакові.
Намагався я прив'язати по параметру ATTRS який можна знайти ввівши команду
udevadm info -a -n / dev / ttyUSB. але він ідентичний для всіх ttyUSB даного модему (тобто для MTS-01 ttyUSB0, ttyUSB1 і ttyUSB2 він той же) але іншого ніж y MTS-02 ttyUSB3.
тому Пробував додати туди іще й параметри DEVLINKS c команди udevadm info --query = property --name = ttyUSB там у кожного ttyUSB різних HUAWEI_Mobile-if00, HUAWEI_Mobile-if01, HUAWEI_Mobile-if02


KERNEL == "ttyUSB *", DEVLINKS == "/ dev / serial / by-id / usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0 *". ATTRS == "0x2835", SYMLINK + = "mts-audio"

і так теж не працює

SUBSYSTEMS == "tty", ENV == "/ dev / serial / by-id / usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0 *". ATTRS == "0x2835", SYMLINK + = "mts-audio"

Може я не звідти параметри для прив'язки беру (udevadm info -a -n / dev / ttyUSB. Udevadm info --query = property --name = ttyUSB. Udevadm monitor --environment --udev) або причина в чомусь іншому.