LINUX.ORG.RU

Помощь

 , ,


0

1

Добрый день, можете помочь

Есть проблема с правильной выдачей имен устройств в линуксе ttyACM[X]. В наличии странная штука под название Симбанк,по сути это хаб модемов, подключаемых к компьютеру через USB Устройства при каждой следующей загрузке хаотично перемешиваются и их распорядок не соответствует слотам на самом устройстве. Необходимо чтобы независимо от места подключения (юсб порт) устройство получало свое уникальное имя.

Пример: Вот так определил в этот раз их линукс.

[   12.663250] cdc_acm 1-3.4.1:1.0: ttyACM4: USB ACM device
[   12.663481] cdc_acm 1-3.4.1:1.2: ttyACM5: USB ACM device
[   12.663721] cdc_acm 1-3.4.1:1.4: ttyACM6: USB ACM device
[   12.663972] cdc_acm 1-3.4.1:1.6: ttyACM7: USB ACM device
[   12.665871] cdc_acm 1-3.4.2:1.0: ttyACM12: USB ACM device
[   12.666100] cdc_acm 1-3.4.2:1.2: ttyACM13: USB ACM device
[   12.666349] cdc_acm 1-3.4.2:1.4: ttyACM14: USB ACM device
[   12.666597] cdc_acm 1-3.4.2:1.6: ttyACM15: USB ACM device
[   12.670888] cdc_acm 1-3.4.3:1.0: ttyACM32: USB ACM device
[   12.671109] cdc_acm 1-3.4.3:1.2: ttyACM33: USB ACM device
[   12.671354] cdc_acm 1-3.4.3:1.4: ttyACM34: USB ACM device
[   12.671601] cdc_acm 1-3.4.3:1.6: ttyACM35: USB ACM device
[   12.679536] cdc_acm 1-3.4.4:1.0: ttyACM60: USB ACM device
[   12.679752] cdc_acm 1-3.4.4:1.2: ttyACM61: USB ACM device
[   12.680952] cdc_acm 1-3.4.4:1.4: ttyACM62: USB ACM device
[   12.681276] cdc_acm 1-3.4.4:1.6: ttyACM63: USB ACM device
Вот так хотелось бы, причем в любом юсб хабе в любом порту
1-3.4.1:1.0: ttyACM0: USB ACM device
1-3.4.1:1.2: ttyACM1: USB ACM device
1-3.4.1:1.4: ttyACM2: USB ACM device
1-3.4.1:1.6: ttyACM3: USB ACM device
1-3.4.2:1.0: ttyACM4: USB ACM device
1-3.4.2:1.2: ttyACM5: USB ACM device
1-3.4.2:1.4: ttyACM6: USB ACM device
1-3.4.2:1.6: ttyACM7: USB ACM device
1-3.4.3:1.0: ttyACM8: USB ACM device
1-3.4.3:1.2: ttyACM9: USB ACM device
1-3.4.3:1.4: ttyACM10: USB ACM device
1-3.4.3:1.6: ttyACM11: USB ACM device
1-3.4.4:1.0: ttyACM12: USB ACM device
1-3.4.4:1.2: ttyACM13: USB ACM device
1-3.4.4:1.4: ttyACM14: USB ACM device
1-3.4.4:1.6: ttyACM15: USB ACM device
По данным из первой таблицы ясно, что нумерация после ttyACM даётся относительно сортировки в первом столбце цифр, как сделать чтобы нумерация давалась исходя из сортировки во втором ?

Уже понятно что копать надо в сторону udev, но как создать универсальное правило?

Смотрите по каждому устройству его атрибуты

udevadm info --query=all --name=«/dev/ttyACM0» --attribute-walk

и конструируйте для каждого правило, можно ведь шаблон типа ″[0-9]″ использовать.

Но, ИМХО, лучше каждому устройству выдвавать какое-нибудь не пересекающеся имя, допустим ttyUSB50 и т.д., чтобы не возникло конфликта с каким-нибудь другим оборудованием.

mky ★★★★★
()
Ответ на: комментарий от mky

В этом то и прикол, что атрибуты после перезагрузки меняются и за них зацепиться никак. т.е. никакого уникального номер у модема нет

nordonsimf
() автор топика
Ответ на: комментарий от nordonsimf

ты выложи udevadm info как советуют, посмотрим что там за атрибуты доступны

irton ★★★★★
()
Ответ на: комментарий от nordonsimf

Цепляйтесь за родительские атрибуты.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.