Имеются два идентичных конторллера для управления шаговыми двигателями, подключенные по USB. Если подключать их при работающей ОС, то первый подключенный вешается на /dev/USB0, а второй на /dev/USB1. Как сделать так, чтобы при старте системы первый контроллер всегда вешался на /dev/USB0, а второй на /dev/USB1?
Ответ
Попробуйте создать правила для Ваших контроллеров через udev. Каждый раз при подключении или отключении устройства ядро посылает событие uevent, которое информирует udev о произошедших изменениях. Демон udev считывает правила для своей работы из каталога /etc/udev/rules.d/ единожды при своем запуске и затем хранит их в памяти. Каждое полученное событие сравнивается с набором загруженных правил. С помощью правил можно добавлять специфичные для окружения опции, создавать символические ссылки на создаваемый файл устройства или указать программу, запускаемую после того как файл устройства будет создан. События ядра uevents от драйверов устройств передаются через сокет ядра netlink. Нампример, здесь рассказывается, как создаются правила, но думаю, без труда найдете еще с десяток разных примеров и инструкций. Надеюсь, это то, что нужно! :)
Комментариев нет:
Отправить комментарий