Цитата(galjoen @ Apr 8 2008, 21:12)

Первый (лучший): сказать Linux чтоб он опрашивал Interrupt In EP (как и написано в её дескрипторе) и буферизировал прочитанные данные (как Win). Но как это сделать я не знаю (невозможно?).
Второй (вынужденный): повесить на таймер программку, которая будет запускаться 1 раз в 2 милисекунды (реал тайм!). И будет читать Interrupt In EP (ReadFile) и буферизировать прочитанное. Как это сделать я тоже не знаю, но наверное смогу разобраться.
А может ещё какие способы имеются?
При втыкании устройства Вы получаетет в логах сообщение типа
Код
Apr 9 11:02:16 fox kernel: HID device claimed by neither input, hiddev nor hidraw
Если ни один драйвер не "зацепился" за Ваше устройство, то Linux переведет его в Suspend и забудет о его существовании до тех пор, пока кто нибудь не зацепится за него.
Это может быть как драйвер, так и userspace программа, например через libusb usb_clame_interface.
Вероятно Ваше устройство не соответствует ни одному из драйверов. Драйверы как правило выполняют clame_interface если устройство получается "законченным", например клавиатура или мышь. А Ваше устройство не поддерживает всех ожидаемых драйвером запросов и репортов.
Третий вариант - посмотрите на кой из драйверов наиболее вероятно "зацепить" Ваше устройство (см. hiddev) и либо прописать ему Ваш VID/PID либо передать Ваш VID/PID при загрузке драйвера через modprobe.
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.