Событие подключения USB устройства

Модератор: Модераторы разделов

rip86oz
Сообщения: 2
ОС: Debian Lenny

Событие подключения USB устройства

Сообщение rip86oz »

В программе (с++) надо получить событие того, что подключено usb устройство, с дальнейшей проверкой его VID и PID.
Как лучше это сделать?
Пишут, что HAL хотят заменять на нечто другое, вроде DeviceKit, да и к тому-же что-то у меня не получается получить само событие.
Читал про udev, но в инете больше пишут про создание правил, а не как получить событие и т.п. В принципе можно сделать правило, чтоб запускалась другая прога, слала сообщение той которая его ждёт а потом завершалась, но как-то это коряво.
ЗЫ - у меня Lenny, если что.
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Событие подключения USB устройства

Сообщение DaemonTux »


Что вы хотите добиться в итоге?
Vladivostok Linux User Group
Спасибо сказали:
Аватара пользователя
hardworm
Сообщения: 36
ОС: Debian Squeeze

Re: Событие подключения USB устройства

Сообщение hardworm »

проще это все сделать через костыль pamusb-agent
Спасибо сказали:
rip86oz
Сообщения: 2
ОС: Debian Lenny

Re: Событие подключения USB устройства

Сообщение rip86oz »

Что хочу сделать: написан драйвер для Canon Lide 70 как so-шная библиотека. Будет прога её использующая (или группа взаимосвязанных прог) в обязанности которой будет входить наблюдение за наличием соединенисо сканером и будет посылать уведомление о том что сканер отрубили\подключили.

на другом форуме уже поговорили немного.
Рассматривались варианты: 1) HAL, 2) libudev, 3) udev + RUN в правилах, 4) inotify + UDEV правило на уникально имя устройства, 5) poll /dev/bus/usb/devices

Выбрал inotify + UDEV правило на уникально имя устройства.
На данный момент всё работает, но насколько знаю inotify не везде существует, но его хотя-б убирать не собираются, в отличие от 1-ого и 5-ого варианта. 2-ой не подходит, т.к. на Lenny проблемы с ним, или у меня проблемы :)
Если есть варианты - с удовольствием рассмотрю.
Спасибо сказали: