The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогитеразобраться с udev (создание симлинка)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Драйверы, оборудование / Linux)
Изначальное сообщение [ Отслеживать ]

"Помогитеразобраться с udev (создание симлинка)"  +/
Сообщение от qazarus on 01-Ноя-14, 00:57 
Имеется два полностью идентичных модема. Нужно их подключить, и знать какой порт какому модему принадлежит. Все-бы ничего, но периодически при перезагрузке порты меняются местами, в итоге модемы путаются, что приводит к очень нехорошим последствиям.

Так вот, я пришел к выводу что нужно создать для каждого модема по статическому симлинку, и работать уже с ним.
Итак, я приступил к написанию правила, всего-то нужно:

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="vid", ATTRS{idProduct}=="pid", KERNEL=="ttyUSB*", SYMLINK+="modem"

Вроди все просто, да вот не совсем... Модемы то идентичные, по этому vid и pid у них одинаковые. Значит нужно искать другие отличия. Решил остановиться на серийнику - серийники разные, и в системе видны. Заменил пид/вид на "ATTRS{iSerial}==", и начал тестировать. Дернул модем раз, второй - не создается симлинк... Сделал "udevadm test /dev/ttyUSB0" - правило проходит.
Посидел, подумал, и родилась мысль - а серийник случайно определяется не после того, как сработал udev? Если это так, то как решить это, я даже не представляю. Если ошибаюсь, то, пожалуйста, подскажите где. Как заставить работать udev по серийнику?
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогитеразобраться с udev (создание симлинка)"  +/
Сообщение от qazarus on 01-Ноя-14, 01:58 
Ну что-же, как всегда - как только написал, так сразу-же нашел решение. Оказалось что я в правиле накосячил.

Этот вопрос решен, но появился новый - модемы с несколькими интерфейсами, по этому их нужно так сказать разделять. Для этого используется ATTRS{bInterfaceNumber}. Так вот, как только я добавляю в правило ATTRS{bInterfaceNumber}=="00" и ATTRS{bInterfaceNumber}=="01", как правило перестает работать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Помогитеразобраться с udev (создание симлинка)"  +/
Сообщение от qazarus on 01-Ноя-14, 12:40 
Не актуально. Попытаюсь решить проблему по другому.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
MIRhosting
Fornex
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру